diff --git a/flamingo/grammar/expr.h b/flamingo/grammar/expr.h index 4d160c0..57b10c2 100644 --- a/flamingo/grammar/expr.h +++ b/flamingo/grammar/expr.h @@ -9,6 +9,91 @@ #include +static int parse_binary_expr(flamingo_t* flamingo, TSNode node, flamingo_val_t** val) { + assert(strcmp(ts_node_type(node), "binary_expression") == 0); + assert(ts_node_named_child_count(node) == 3); + + // Get left operand. + + TSNode const left = ts_node_child_by_field_name(node, "left", 4); + char const* const left_type = ts_node_type(left); + + if (strcmp(left_type, "expression") != 0) { + return error(flamingo, "expected expression for left operand, got %s", left_type); + } + + // Get right operand. + + TSNode const right = ts_node_child_by_field_name(node, "right", 5); + char const* const right_type = ts_node_type(right); + + if (strcmp(right_type, "expression") != 0) { + return error(flamingo, "expected expression for right operand, got %s", right_type); + } + + // Get operator. + + TSNode const operator_node = ts_node_child_by_field_name(node, "operator", 8); + char const* const operator_type = ts_node_type(operator_node); + + if (strcmp(operator_type, "operator") != 0) { + return error(flamingo, "expected operator, got %s", operator_type); + } + + size_t const start = ts_node_start_byte(operator_node); + size_t const end = ts_node_end_byte(operator_node); + + char const* const operator= flamingo->src + start; + size_t const operator_size = end - start; + + // Parse operands. + + flamingo_val_t* left_val = NULL; + + if (parse_expr(flamingo, left, &left_val) != 0) { + return -1; + } + + flamingo_val_t* right_val = NULL; + + if (parse_expr(flamingo, right, &right_val) != 0) { + return -1; + } + + // Check if the operands are compatible. + + if (left_val->kind != right_val->kind) { + return error(flamingo, "operands have incompatible types: %s and %s", val_type_str(left_val), val_type_str(right_val)); + } + + flamingo_val_kind_t const kind = left_val->kind; // Same as 'right_val->kind' by this point. + + // Do the math. + + int rv = 0; + + if (kind == FLAMINGO_VAL_KIND_INT) { + if (strncmp(operator, "+", operator_size) == 0) { + assert(*val == NULL); + *val = val_alloc(); + + (*val)->kind = FLAMINGO_VAL_KIND_INT; + (*val)->integer.integer = left_val->integer.integer + right_val->integer.integer; + + goto done; + } + } + + rv = error(flamingo, "unknown operator '%.*s' for type %s", (int) operator_size, operator, val_type_str(left_val)); + +done: + + val_decref(left_val); + val_decref(right_val); + + return rv; +} + static int parse_expr(flamingo_t* flamingo, TSNode node, flamingo_val_t** val) { assert(strcmp(ts_node_type(node), "expression") == 0); assert(ts_node_child_count(node) == 1); @@ -38,5 +123,9 @@ static int parse_expr(flamingo_t* flamingo, TSNode node, flamingo_val_t** val) { return parse_expr(flamingo, grandchild, val); } + if (strcmp(type, "binary_expression") == 0) { + return parse_binary_expr(flamingo, child, val); + } + return error(flamingo, "unknown expression type: %s", type); } diff --git a/flamingo/parser.c b/flamingo/parser.c index f327b81..397bb4b 100644 --- a/flamingo/parser.c +++ b/flamingo/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 167 +#define STATE_COUNT 171 #define LARGE_STATE_COUNT 20 -#define SYMBOL_COUNT 82 +#define SYMBOL_COUNT 93 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 43 +#define TOKEN_COUNT 53 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 24 #define MAX_ALIAS_SEQUENCE_LENGTH 9 @@ -45,59 +45,70 @@ enum ts_symbol_identifiers { anon_sym_BANG = 26, anon_sym_LBRACK = 27, anon_sym_RBRACK = 28, - anon_sym_PLUS_PLUS = 29, - anon_sym_EQ_EQ_EQ = 30, - anon_sym_any = 31, - anon_sym_int = 32, - anon_sym_str = 33, - anon_sym_bool = 34, - anon_sym_void = 35, - aux_sym_identifier_token1 = 36, - sym_number = 37, - sym_string = 38, - anon_sym_true = 39, - anon_sym_false = 40, - anon_sym_error = 41, - sym_none = 42, - sym_source_file = 43, - sym_doc_comment = 44, - sym_statement = 45, - sym_block = 46, - sym_import = 47, - sym_import_path = 48, - sym_import_relative_dot = 49, - sym_qualifier = 50, - sym_qualifier_list = 51, - sym_function_declaration = 52, - sym_class_declaration = 53, - sym_print = 54, - sym_assert = 55, - sym_return = 56, - sym_expression = 57, - sym_parenthesized_expression = 58, - sym_access_list = 59, - sym_call = 60, - sym_type_name = 61, - sym_type = 62, - sym_param = 63, - sym_param_list = 64, - sym_arg_list = 65, - sym_literal = 66, - sym_var_declaration = 67, - sym_assignment = 68, - sym_binary_expression = 69, - sym_expression_list = 70, - sym_vec = 71, - sym_map_item = 72, - sym_map_item_list = 73, - sym_map = 74, - sym_overloadable_operator = 75, - sym_primitive_type = 76, - sym_identifier = 77, - sym_bool = 78, - aux_sym_source_file_repeat1 = 79, - aux_sym_param_list_repeat1 = 80, - aux_sym_arg_list_repeat1 = 81, + anon_sym_PLUS = 29, + anon_sym_STAR = 30, + anon_sym_SLASH = 31, + anon_sym_PERCENT = 32, + anon_sym_AMP_AMP = 33, + anon_sym_PIPE_PIPE = 34, + anon_sym_EQ_EQ = 35, + anon_sym_BANG_EQ = 36, + anon_sym_LT_EQ = 37, + anon_sym_GT_EQ = 38, + anon_sym_PLUS_PLUS = 39, + anon_sym_EQ_EQ_EQ = 40, + anon_sym_any = 41, + anon_sym_int = 42, + anon_sym_str = 43, + anon_sym_bool = 44, + anon_sym_void = 45, + aux_sym_identifier_token1 = 46, + sym_number = 47, + sym_string = 48, + anon_sym_true = 49, + anon_sym_false = 50, + anon_sym_error = 51, + sym_none = 52, + sym_source_file = 53, + sym_doc_comment = 54, + sym_statement = 55, + sym_block = 56, + sym_import = 57, + sym_import_path = 58, + sym_import_relative_dot = 59, + sym_qualifier = 60, + sym_qualifier_list = 61, + sym_function_declaration = 62, + sym_class_declaration = 63, + sym_print = 64, + sym_assert = 65, + sym_return = 66, + sym_expression = 67, + sym_parenthesized_expression = 68, + sym_access_list = 69, + sym_call = 70, + sym_type_name = 71, + sym_type = 72, + sym_param = 73, + sym_param_list = 74, + sym_arg_list = 75, + sym_literal = 76, + sym_var_declaration = 77, + sym_assignment = 78, + sym_binary_expression = 79, + sym_expression_list = 80, + sym_vec = 81, + sym_map_item = 82, + sym_map_item_list = 83, + sym_map = 84, + sym_operator = 85, + sym_overloadable_operator = 86, + sym_primitive_type = 87, + sym_identifier = 88, + sym_bool = 89, + aux_sym_source_file_repeat1 = 90, + aux_sym_param_list_repeat1 = 91, + aux_sym_arg_list_repeat1 = 92, }; static const char * const ts_symbol_names[] = { @@ -130,6 +141,16 @@ static const char * const ts_symbol_names[] = { [anon_sym_BANG] = "!", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", + [anon_sym_PLUS] = "+", + [anon_sym_STAR] = "*", + [anon_sym_SLASH] = "/", + [anon_sym_PERCENT] = "%", + [anon_sym_AMP_AMP] = "&&", + [anon_sym_PIPE_PIPE] = "||", + [anon_sym_EQ_EQ] = "==", + [anon_sym_BANG_EQ] = "!=", + [anon_sym_LT_EQ] = "<=", + [anon_sym_GT_EQ] = ">=", [anon_sym_PLUS_PLUS] = "++", [anon_sym_EQ_EQ_EQ] = "===", [anon_sym_any] = "any", @@ -176,6 +197,7 @@ static const char * const ts_symbol_names[] = { [sym_map_item] = "map_item", [sym_map_item_list] = "map_item_list", [sym_map] = "map", + [sym_operator] = "operator", [sym_overloadable_operator] = "overloadable_operator", [sym_primitive_type] = "primitive_type", [sym_identifier] = "identifier", @@ -215,6 +237,16 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_BANG] = anon_sym_BANG, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, [anon_sym_EQ_EQ_EQ] = anon_sym_EQ_EQ_EQ, [anon_sym_any] = anon_sym_any, @@ -261,6 +293,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_map_item] = sym_map_item, [sym_map_item_list] = sym_map_item_list, [sym_map] = sym_map, + [sym_operator] = sym_operator, [sym_overloadable_operator] = sym_overloadable_operator, [sym_primitive_type] = sym_primitive_type, [sym_identifier] = sym_identifier, @@ -387,6 +420,46 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, [anon_sym_PLUS_PLUS] = { .visible = true, .named = false, @@ -571,6 +644,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_operator] = { + .visible = true, + .named = true, + }, [sym_overloadable_operator] = { .visible = true, .named = true, @@ -662,30 +739,30 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [3] = {.index = 2, .length = 1}, [4] = {.index = 3, .length = 1}, [5] = {.index = 4, .length = 1}, - [6] = {.index = 5, .length = 2}, - [7] = {.index = 7, .length = 1}, + [6] = {.index = 5, .length = 1}, + [7] = {.index = 6, .length = 2}, [8] = {.index = 8, .length = 2}, - [9] = {.index = 10, .length = 2}, - [10] = {.index = 12, .length = 1}, - [11] = {.index = 13, .length = 2}, - [12] = {.index = 15, .length = 1}, - [13] = {.index = 16, .length = 2}, - [14] = {.index = 18, .length = 2}, - [15] = {.index = 20, .length = 2}, - [16] = {.index = 22, .length = 1}, - [17] = {.index = 23, .length = 3}, - [18] = {.index = 26, .length = 2}, - [19] = {.index = 28, .length = 2}, - [20] = {.index = 30, .length = 3}, - [21] = {.index = 33, .length = 3}, - [22] = {.index = 36, .length = 2}, - [23] = {.index = 38, .length = 3}, - [24] = {.index = 41, .length = 4}, - [25] = {.index = 45, .length = 3}, - [26] = {.index = 48, .length = 4}, - [27] = {.index = 52, .length = 4}, - [28] = {.index = 56, .length = 4}, - [29] = {.index = 60, .length = 5}, + [9] = {.index = 10, .length = 1}, + [10] = {.index = 11, .length = 2}, + [11] = {.index = 13, .length = 1}, + [12] = {.index = 14, .length = 3}, + [13] = {.index = 17, .length = 2}, + [14] = {.index = 19, .length = 2}, + [15] = {.index = 21, .length = 2}, + [16] = {.index = 23, .length = 1}, + [17] = {.index = 24, .length = 3}, + [18] = {.index = 27, .length = 2}, + [19] = {.index = 29, .length = 2}, + [20] = {.index = 31, .length = 3}, + [21] = {.index = 34, .length = 3}, + [22] = {.index = 37, .length = 2}, + [23] = {.index = 39, .length = 3}, + [24] = {.index = 42, .length = 4}, + [25] = {.index = 46, .length = 3}, + [26] = {.index = 49, .length = 4}, + [27] = {.index = 53, .length = 4}, + [28] = {.index = 57, .length = 4}, + [29] = {.index = 61, .length = 5}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -700,84 +777,85 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [4] = {field_rv, 1}, [5] = - {field_left, 0}, - {field_operator, 1}, - [7] = {field_body, 1}, - [8] = + [6] = {field_path, 2}, {field_relative, 1}, - [10] = + [8] = {field_body, 2}, {field_name, 1}, - [12] = + [10] = {field_expression, 1}, - [13] = + [11] = {field_accessed, 0}, {field_accessor, 2}, - [15] = + [13] = {field_callable, 0}, - [16] = + [14] = + {field_left, 0}, + {field_operator, 1}, + {field_right, 2}, + [17] = {field_left, 0}, {field_right, 2}, - [18] = + [19] = {field_key, 0}, {field_value, 2}, - [20] = + [21] = {field_bit, 0}, {field_rest, 2}, - [22] = - {field_ident, 0}, [23] = + {field_ident, 0}, + [24] = {field_body, 3}, {field_name, 2}, {field_qualifiers, 0}, - [26] = + [27] = {field_args, 2}, {field_callable, 0}, - [28] = + [29] = {field_body, 4}, {field_name, 1}, - [30] = + [31] = {field_body, 4}, {field_name, 1}, {field_ret_type, 3}, - [33] = + [34] = {field_body, 5}, {field_name, 1}, {field_params, 3}, - [36] = + [37] = {field_ident, 0}, {field_type, 2}, - [38] = + [39] = {field_body, 5}, {field_name, 2}, {field_qualifiers, 0}, - [41] = + [42] = {field_body, 5}, {field_name, 2}, {field_qualifiers, 0}, {field_ret_type, 4}, - [45] = + [46] = {field_body, 6}, {field_name, 1}, {field_ret_type, 5}, - [48] = + [49] = {field_body, 6}, {field_name, 2}, {field_params, 4}, {field_qualifiers, 0}, - [52] = + [53] = {field_body, 7}, {field_name, 1}, {field_params, 3}, {field_ret_type, 6}, - [56] = + [57] = {field_body, 7}, {field_name, 2}, {field_qualifiers, 0}, {field_ret_type, 6}, - [60] = + [61] = {field_body, 8}, {field_name, 2}, {field_params, 4}, @@ -844,18 +922,18 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [47] = 47, [48] = 48, [49] = 49, - [50] = 50, + [50] = 49, [51] = 51, [52] = 52, - [53] = 51, + [53] = 53, [54] = 54, [55] = 55, [56] = 56, - [57] = 57, - [58] = 57, + [57] = 54, + [58] = 58, [59] = 59, - [60] = 60, - [61] = 56, + [60] = 55, + [61] = 61, [62] = 62, [63] = 63, [64] = 64, @@ -882,58 +960,58 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [85] = 85, [86] = 86, [87] = 87, - [88] = 86, + [88] = 88, [89] = 89, [90] = 90, [91] = 91, - [92] = 92, - [93] = 93, + [92] = 87, + [93] = 91, [94] = 94, [95] = 95, [96] = 96, [97] = 97, - [98] = 98, + [98] = 22, [99] = 99, - [100] = 100, + [100] = 28, [101] = 101, [102] = 102, - [103] = 103, - [104] = 104, - [105] = 105, - [106] = 106, - [107] = 107, - [108] = 108, - [109] = 109, - [110] = 110, - [111] = 111, - [112] = 112, - [113] = 113, - [114] = 114, - [115] = 113, + [103] = 25, + [104] = 23, + [105] = 21, + [106] = 20, + [107] = 31, + [108] = 33, + [109] = 29, + [110] = 27, + [111] = 24, + [112] = 101, + [113] = 26, + [114] = 30, + [115] = 32, [116] = 116, [117] = 117, [118] = 118, [119] = 119, [120] = 120, - [121] = 22, + [121] = 121, [122] = 122, - [123] = 120, - [124] = 28, - [125] = 29, - [126] = 34, - [127] = 31, - [128] = 26, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 128, [129] = 129, - [130] = 27, - [131] = 35, + [130] = 130, + [131] = 131, [132] = 132, - [133] = 24, - [134] = 30, - [135] = 23, - [136] = 25, - [137] = 32, - [138] = 33, - [139] = 21, + [133] = 133, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 136, + [138] = 138, + [139] = 139, [140] = 140, [141] = 141, [142] = 142, @@ -954,13 +1032,17 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [157] = 157, [158] = 158, [159] = 159, - [160] = 158, - [161] = 161, - [162] = 162, - [163] = 157, + [160] = 160, + [161] = 20, + [162] = 21, + [163] = 163, [164] = 164, - [165] = 159, + [165] = 165, [166] = 166, + [167] = 158, + [168] = 168, + [169] = 163, + [170] = 164, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -968,968 +1050,1133 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(27); - if (lookahead == '!') ADVANCE(58); - if (lookahead == '"') ADVANCE(3); - if (lookahead == '#') ADVANCE(4); - if (lookahead == '(') ADVANCE(42); - if (lookahead == ')') ADVANCE(43); - if (lookahead == '+') ADVANCE(7); - if (lookahead == ',') ADVANCE(54); - if (lookahead == '-') ADVANCE(57); - if (lookahead == '.') ADVANCE(35); - if (lookahead == ':') ADVANCE(55); - if (lookahead == '<') ADVANCE(52); - if (lookahead == '=') ADVANCE(56); - if (lookahead == '>') ADVANCE(53); - if (lookahead == '[') ADVANCE(59); - if (lookahead == ']') ADVANCE(61); - if (lookahead == 'a') ADVANCE(89); - if (lookahead == 'b') ADVANCE(98); - if (lookahead == 'c') ADVANCE(86); - if (lookahead == 'e') ADVANCE(108); - if (lookahead == 'f') ADVANCE(69); - if (lookahead == 'i') ADVANCE(88); - if (lookahead == 'm') ADVANCE(72); - if (lookahead == 'n') ADVANCE(96); - if (lookahead == 'p') ADVANCE(104); - if (lookahead == 'r') ADVANCE(80); - if (lookahead == 's') ADVANCE(125); - if (lookahead == 't') ADVANCE(105); - if (lookahead == 'v') ADVANCE(75); - if (lookahead == '{') ADVANCE(32); - if (lookahead == '}') ADVANCE(33); + if (eof) ADVANCE(33); + if (lookahead == '!') ADVANCE(69); + if (lookahead == '"') ADVANCE(4); + if (lookahead == '#') ADVANCE(5); + if (lookahead == '%') ADVANCE(77); + if (lookahead == '&') ADVANCE(6); + if (lookahead == '(') ADVANCE(48); + if (lookahead == ')') ADVANCE(49); + if (lookahead == '*') ADVANCE(75); + if (lookahead == '+') ADVANCE(74); + if (lookahead == ',') ADVANCE(62); + if (lookahead == '-') ADVANCE(68); + if (lookahead == '.') ADVANCE(41); + if (lookahead == '/') ADVANCE(76); + if (lookahead == ':') ADVANCE(63); + if (lookahead == '<') ADVANCE(59); + if (lookahead == '=') ADVANCE(65); + if (lookahead == '>') ADVANCE(61); + if (lookahead == '[') ADVANCE(70); + if (lookahead == ']') ADVANCE(72); + if (lookahead == 'a') ADVANCE(112); + if (lookahead == 'b') ADVANCE(121); + if (lookahead == 'c') ADVANCE(109); + if (lookahead == 'e') ADVANCE(131); + if (lookahead == 'f') ADVANCE(92); + if (lookahead == 'i') ADVANCE(111); + if (lookahead == 'm') ADVANCE(95); + if (lookahead == 'n') ADVANCE(119); + if (lookahead == 'p') ADVANCE(127); + if (lookahead == 'r') ADVANCE(103); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 't') ADVANCE(128); + if (lookahead == 'v') ADVANCE(98); + if (lookahead == '{') ADVANCE(38); + if (lookahead == '|') ADVANCE(28); + if (lookahead == '}') ADVANCE(39); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(154); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 1: - if (lookahead == '"') ADVANCE(3); - if (lookahead == '(') ADVANCE(42); - if (lookahead == ')') ADVANCE(43); - if (lookahead == '[') ADVANCE(59); - if (lookahead == 'a') ADVANCE(90); - if (lookahead == 'b') ADVANCE(98); - if (lookahead == 'e') ADVANCE(109); - if (lookahead == 'f') ADVANCE(70); - if (lookahead == 'i') ADVANCE(94); - if (lookahead == 'n') ADVANCE(96); - if (lookahead == 's') ADVANCE(125); - if (lookahead == 't') ADVANCE(105); - if (lookahead == 'v') ADVANCE(97); - if (lookahead == '{') ADVANCE(32); - if (lookahead == '}') ADVANCE(33); + if (lookahead == '!') ADVANCE(9); + if (lookahead == '%') ADVANCE(77); + if (lookahead == '&') ADVANCE(6); + if (lookahead == '(') ADVANCE(48); + if (lookahead == '*') ADVANCE(75); + if (lookahead == '+') ADVANCE(73); + if (lookahead == ',') ADVANCE(62); + if (lookahead == '-') ADVANCE(67); + if (lookahead == '.') ADVANCE(41); + if (lookahead == '/') ADVANCE(76); + if (lookahead == '<') ADVANCE(59); + if (lookahead == '=') ADVANCE(11); + if (lookahead == '>') ADVANCE(61); + if (lookahead == ']') ADVANCE(71); + if (lookahead == 'c') ADVANCE(18); + if (lookahead == 'e') ADVANCE(27); + if (lookahead == 'f') ADVANCE(19); + if (lookahead == 'p') ADVANCE(26); + if (lookahead == '|') ADVANCE(28); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(3); - if (lookahead == '(') ADVANCE(42); - if (lookahead == '[') ADVANCE(59); - if (lookahead == ']') ADVANCE(61); - if (lookahead == 'a') ADVANCE(90); - if (lookahead == 'b') ADVANCE(98); - if (lookahead == 'e') ADVANCE(109); - if (lookahead == 'f') ADVANCE(70); - if (lookahead == 'i') ADVANCE(94); - if (lookahead == 'n') ADVANCE(96); - if (lookahead == 's') ADVANCE(125); - if (lookahead == 't') ADVANCE(105); - if (lookahead == 'v') ADVANCE(97); - if (lookahead == '{') ADVANCE(32); + if (lookahead == '"') ADVANCE(4); + if (lookahead == '(') ADVANCE(48); + if (lookahead == ')') ADVANCE(49); + if (lookahead == '[') ADVANCE(70); + if (lookahead == 'a') ADVANCE(113); + if (lookahead == 'b') ADVANCE(121); + if (lookahead == 'e') ADVANCE(132); + if (lookahead == 'f') ADVANCE(93); + if (lookahead == 'i') ADVANCE(117); + if (lookahead == 'n') ADVANCE(119); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 't') ADVANCE(128); + if (lookahead == 'v') ADVANCE(120); + if (lookahead == '{') ADVANCE(38); + if (lookahead == '}') ADVANCE(39); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(2) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(154); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(132); - if (lookahead == '\\') ADVANCE(25); - if (lookahead != 0) ADVANCE(3); + if (lookahead == '"') ADVANCE(4); + if (lookahead == '(') ADVANCE(48); + if (lookahead == '[') ADVANCE(70); + if (lookahead == ']') ADVANCE(72); + if (lookahead == 'a') ADVANCE(113); + if (lookahead == 'b') ADVANCE(121); + if (lookahead == 'e') ADVANCE(132); + if (lookahead == 'f') ADVANCE(93); + if (lookahead == 'i') ADVANCE(117); + if (lookahead == 'n') ADVANCE(119); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 't') ADVANCE(128); + if (lookahead == 'v') ADVANCE(120); + if (lookahead == '{') ADVANCE(38); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(3) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(154); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 4: - if (lookahead == '#') ADVANCE(29); - if (lookahead != 0) ADVANCE(28); + if (lookahead == '"') ADVANCE(155); + if (lookahead == '\\') ADVANCE(29); + if (lookahead != 0) ADVANCE(4); END_STATE(); case 5: - if (lookahead == '(') ADVANCE(42); - if (lookahead == '+') ADVANCE(7); - if (lookahead == ',') ADVANCE(54); - if (lookahead == '.') ADVANCE(35); - if (lookahead == '=') ADVANCE(8); - if (lookahead == ']') ADVANCE(60); - if (lookahead == 'c') ADVANCE(15); - if (lookahead == 'e') ADVANCE(24); - if (lookahead == 'f') ADVANCE(16); - if (lookahead == 'p') ADVANCE(23); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(5) + if (lookahead == '#') ADVANCE(35); + if (lookahead != 0) ADVANCE(34); END_STATE(); case 6: - if (lookahead == ')') ADVANCE(43); - if (lookahead == '+') ADVANCE(7); - if (lookahead == '.') ADVANCE(35); - if (lookahead == '=') ADVANCE(8); - if (lookahead == 'a') ADVANCE(90); - if (lookahead == 'b') ADVANCE(98); - if (lookahead == 'i') ADVANCE(94); - if (lookahead == 's') ADVANCE(125); - if (lookahead == 'v') ADVANCE(97); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(6) - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + if (lookahead == '&') ADVANCE(78); END_STATE(); case 7: - if (lookahead == '+') ADVANCE(62); + if (lookahead == ')') ADVANCE(49); + if (lookahead == '+') ADVANCE(8); + if (lookahead == '.') ADVANCE(41); + if (lookahead == '=') ADVANCE(12); + if (lookahead == 'a') ADVANCE(113); + if (lookahead == 'b') ADVANCE(121); + if (lookahead == 'i') ADVANCE(117); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 'v') ADVANCE(120); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(7) + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 8: - if (lookahead == '=') ADVANCE(9); + if (lookahead == '+') ADVANCE(85); END_STATE(); case 9: - if (lookahead == '=') ADVANCE(63); + if (lookahead == '=') ADVANCE(82); END_STATE(); case 10: - if (lookahead == '>') ADVANCE(44); + if (lookahead == '=') ADVANCE(86); END_STATE(); case 11: - if (lookahead == 'a') ADVANCE(21); + if (lookahead == '=') ADVANCE(80); END_STATE(); case 12: - if (lookahead == 'a') ADVANCE(90); - if (lookahead == 'b') ADVANCE(98); - if (lookahead == 'i') ADVANCE(94); - if (lookahead == 'm') ADVANCE(72); - if (lookahead == 's') ADVANCE(125); - if (lookahead == 'v') ADVANCE(75); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(12) - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + if (lookahead == '=') ADVANCE(10); END_STATE(); case 13: - if (lookahead == 'e') ADVANCE(38); + if (lookahead == '>') ADVANCE(50); END_STATE(); case 14: - if (lookahead == 'e') ADVANCE(18); + if (lookahead == 'a') ADVANCE(24); END_STATE(); case 15: - if (lookahead == 'l') ADVANCE(11); + if (lookahead == 'a') ADVANCE(113); + if (lookahead == 'b') ADVANCE(121); + if (lookahead == 'i') ADVANCE(117); + if (lookahead == 'm') ADVANCE(95); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 'v') ADVANCE(98); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(15) + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 16: - if (lookahead == 'n') ADVANCE(40); + if (lookahead == 'e') ADVANCE(44); END_STATE(); case 17: - if (lookahead == 'n') ADVANCE(36); + if (lookahead == 'e') ADVANCE(21); END_STATE(); case 18: - if (lookahead == 'r') ADVANCE(17); + if (lookahead == 'l') ADVANCE(14); END_STATE(); case 19: - if (lookahead == 'r') ADVANCE(13); + if (lookahead == 'n') ADVANCE(46); END_STATE(); case 20: - if (lookahead == 's') ADVANCE(45); + if (lookahead == 'n') ADVANCE(42); END_STATE(); case 21: - if (lookahead == 's') ADVANCE(20); + if (lookahead == 'r') ADVANCE(20); END_STATE(); case 22: - if (lookahead == 't') ADVANCE(14); + if (lookahead == 'r') ADVANCE(16); END_STATE(); case 23: - if (lookahead == 'u') ADVANCE(19); + if (lookahead == 's') ADVANCE(51); END_STATE(); case 24: - if (lookahead == 'x') ADVANCE(22); + if (lookahead == 's') ADVANCE(23); END_STATE(); case 25: - if (lookahead != 0 && - lookahead != '\n') ADVANCE(3); + if (lookahead == 't') ADVANCE(17); END_STATE(); case 26: - if (eof) ADVANCE(27); - if (lookahead == '"') ADVANCE(3); - if (lookahead == '#') ADVANCE(4); - if (lookahead == '(') ADVANCE(42); - if (lookahead == ')') ADVANCE(43); - if (lookahead == '+') ADVANCE(7); - if (lookahead == ',') ADVANCE(54); - if (lookahead == '-') ADVANCE(10); - if (lookahead == '.') ADVANCE(35); - if (lookahead == ':') ADVANCE(55); - if (lookahead == '<') ADVANCE(52); - if (lookahead == '=') ADVANCE(56); - if (lookahead == '>') ADVANCE(53); - if (lookahead == '[') ADVANCE(59); - if (lookahead == 'a') ADVANCE(89); - if (lookahead == 'b') ADVANCE(98); - if (lookahead == 'c') ADVANCE(86); - if (lookahead == 'e') ADVANCE(108); - if (lookahead == 'f') ADVANCE(69); - if (lookahead == 'i') ADVANCE(88); - if (lookahead == 'n') ADVANCE(96); - if (lookahead == 'p') ADVANCE(104); - if (lookahead == 'r') ADVANCE(80); - if (lookahead == 's') ADVANCE(125); - if (lookahead == 't') ADVANCE(105); - if (lookahead == 'v') ADVANCE(97); - if (lookahead == '{') ADVANCE(32); - if (lookahead == '}') ADVANCE(33); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(26) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + if (lookahead == 'u') ADVANCE(22); END_STATE(); case 27: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (lookahead == 'x') ADVANCE(25); END_STATE(); case 28: + if (lookahead == '|') ADVANCE(79); + END_STATE(); + case 29: + if (lookahead != 0 && + lookahead != '\n') ADVANCE(4); + END_STATE(); + case 30: + if (eof) ADVANCE(33); + if (lookahead == '!') ADVANCE(9); + if (lookahead == '"') ADVANCE(4); + if (lookahead == '#') ADVANCE(5); + if (lookahead == '%') ADVANCE(77); + if (lookahead == '&') ADVANCE(6); + if (lookahead == '(') ADVANCE(48); + if (lookahead == ')') ADVANCE(49); + if (lookahead == '*') ADVANCE(75); + if (lookahead == '+') ADVANCE(73); + if (lookahead == ',') ADVANCE(62); + if (lookahead == '-') ADVANCE(68); + if (lookahead == '.') ADVANCE(41); + if (lookahead == '/') ADVANCE(76); + if (lookahead == ':') ADVANCE(63); + if (lookahead == '<') ADVANCE(59); + if (lookahead == '=') ADVANCE(66); + if (lookahead == '>') ADVANCE(61); + if (lookahead == '[') ADVANCE(70); + if (lookahead == 'a') ADVANCE(112); + if (lookahead == 'b') ADVANCE(121); + if (lookahead == 'c') ADVANCE(109); + if (lookahead == 'e') ADVANCE(131); + if (lookahead == 'f') ADVANCE(92); + if (lookahead == 'i') ADVANCE(111); + if (lookahead == 'n') ADVANCE(119); + if (lookahead == 'p') ADVANCE(127); + if (lookahead == 'r') ADVANCE(103); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 't') ADVANCE(128); + if (lookahead == 'v') ADVANCE(120); + if (lookahead == '{') ADVANCE(38); + if (lookahead == '|') ADVANCE(28); + if (lookahead == '}') ADVANCE(39); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(30) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(154); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 31: + if (eof) ADVANCE(33); + if (lookahead == '!') ADVANCE(9); + if (lookahead == '"') ADVANCE(4); + if (lookahead == '#') ADVANCE(5); + if (lookahead == '%') ADVANCE(77); + if (lookahead == '&') ADVANCE(6); + if (lookahead == '(') ADVANCE(48); + if (lookahead == ')') ADVANCE(49); + if (lookahead == '*') ADVANCE(75); + if (lookahead == '+') ADVANCE(73); + if (lookahead == ',') ADVANCE(62); + if (lookahead == '-') ADVANCE(67); + if (lookahead == '.') ADVANCE(41); + if (lookahead == '/') ADVANCE(76); + if (lookahead == ':') ADVANCE(63); + if (lookahead == '<') ADVANCE(59); + if (lookahead == '=') ADVANCE(66); + if (lookahead == '>') ADVANCE(61); + if (lookahead == '[') ADVANCE(70); + if (lookahead == 'a') ADVANCE(112); + if (lookahead == 'b') ADVANCE(121); + if (lookahead == 'c') ADVANCE(109); + if (lookahead == 'e') ADVANCE(131); + if (lookahead == 'f') ADVANCE(92); + if (lookahead == 'i') ADVANCE(111); + if (lookahead == 'n') ADVANCE(119); + if (lookahead == 'p') ADVANCE(127); + if (lookahead == 'r') ADVANCE(103); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 't') ADVANCE(128); + if (lookahead == 'v') ADVANCE(120); + if (lookahead == '{') ADVANCE(38); + if (lookahead == '|') ADVANCE(28); + if (lookahead == '}') ADVANCE(39); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(31) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(154); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 32: + if (eof) ADVANCE(33); + if (lookahead == '"') ADVANCE(4); + if (lookahead == '#') ADVANCE(5); + if (lookahead == '(') ADVANCE(48); + if (lookahead == ')') ADVANCE(49); + if (lookahead == ',') ADVANCE(62); + if (lookahead == '-') ADVANCE(13); + if (lookahead == '.') ADVANCE(41); + if (lookahead == '<') ADVANCE(58); + if (lookahead == '=') ADVANCE(64); + if (lookahead == '>') ADVANCE(60); + if (lookahead == '[') ADVANCE(70); + if (lookahead == 'a') ADVANCE(112); + if (lookahead == 'b') ADVANCE(121); + if (lookahead == 'c') ADVANCE(109); + if (lookahead == 'e') ADVANCE(131); + if (lookahead == 'f') ADVANCE(92); + if (lookahead == 'i') ADVANCE(111); + if (lookahead == 'n') ADVANCE(119); + if (lookahead == 'p') ADVANCE(127); + if (lookahead == 'r') ADVANCE(103); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 't') ADVANCE(128); + if (lookahead == 'v') ADVANCE(120); + if (lookahead == '{') ADVANCE(38); + if (lookahead == '}') ADVANCE(39); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(32) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(154); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 33: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 34: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(28); + lookahead != '\n') ADVANCE(34); END_STATE(); - case 29: + case 35: ACCEPT_TOKEN(anon_sym_POUND_POUND); END_STATE(); - case 30: + case 36: ACCEPT_TOKEN(sym_doc_comment_content); if (lookahead == '\t' || (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(30); + lookahead == ' ') ADVANCE(36); if (lookahead != 0 && - lookahead != '\n') ADVANCE(31); + lookahead != '\n') ADVANCE(37); END_STATE(); - case 31: + case 37: ACCEPT_TOKEN(sym_doc_comment_content); if (lookahead != 0 && - lookahead != '\n') ADVANCE(31); + lookahead != '\n') ADVANCE(37); END_STATE(); - case 32: + case 38: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 33: + case 39: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 34: + case 40: ACCEPT_TOKEN(anon_sym_import); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 35: + case 41: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 36: + case 42: ACCEPT_TOKEN(anon_sym_extern); END_STATE(); - case 37: + case 43: ACCEPT_TOKEN(anon_sym_extern); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 38: + case 44: ACCEPT_TOKEN(anon_sym_pure); END_STATE(); - case 39: + case 45: ACCEPT_TOKEN(anon_sym_pure); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 40: + case 46: ACCEPT_TOKEN(anon_sym_fn); END_STATE(); - case 41: + case 47: ACCEPT_TOKEN(anon_sym_fn); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 42: + case 48: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 43: + case 49: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 44: + case 50: ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); - case 45: + case 51: ACCEPT_TOKEN(anon_sym_class); END_STATE(); - case 46: + case 52: ACCEPT_TOKEN(anon_sym_class); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 47: + case 53: ACCEPT_TOKEN(anon_sym_print); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 48: + case 54: ACCEPT_TOKEN(anon_sym_assert); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 49: + case 55: ACCEPT_TOKEN(anon_sym_return); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 50: + case 56: ACCEPT_TOKEN(anon_sym_vec); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - case 51: + case 57: ACCEPT_TOKEN(anon_sym_map); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); - END_STATE(); - case 52: - ACCEPT_TOKEN(anon_sym_LT); - END_STATE(); - case 53: - ACCEPT_TOKEN(anon_sym_GT); - END_STATE(); - case 54: - ACCEPT_TOKEN(anon_sym_COMMA); - END_STATE(); - case 55: - ACCEPT_TOKEN(anon_sym_COLON); - END_STATE(); - case 56: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(9); - END_STATE(); - case 57: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '>') ADVANCE(44); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_BANG); + ACCEPT_TOKEN(anon_sym_LT); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_LBRACK); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '=') ADVANCE(83); END_STATE(); case 60: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_RBRACK); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(84); END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_EQ_EQ_EQ); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_any); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_int); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(81); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_str); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(80); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_bool); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_void); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '>') ADVANCE(50); END_STATE(); case 69: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'a') ADVANCE(87); - if (lookahead == 'n') ADVANCE(41); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(82); END_STATE(); case 70: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'a') ADVANCE(87); + ACCEPT_TOKEN(anon_sym_LBRACK); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 71: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'a') ADVANCE(118); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 72: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'a') ADVANCE(102); + ACCEPT_TOKEN(anon_sym_RBRACK); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 73: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'c') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 74: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'd') ADVANCE(68); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(85); END_STATE(); case 75: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(73); - if (lookahead == 'o') ADVANCE(83); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 76: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(136); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); case 77: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(39); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 78: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(133); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 79: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(134); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 80: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(124); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 81: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(114); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_EQ_EQ); + if (lookahead == '=') ADVANCE(86); END_STATE(); case 82: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(110); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 83: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'i') ADVANCE(74); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 84: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'i') ADVANCE(95); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 85: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'l') ADVANCE(67); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); END_STATE(); case 86: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'l') ADVANCE(71); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ACCEPT_TOKEN(anon_sym_EQ_EQ_EQ); END_STATE(); case 87: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'l') ADVANCE(119); + ACCEPT_TOKEN(anon_sym_any); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 88: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'm') ADVANCE(103); - if (lookahead == 'n') ADVANCE(120); + ACCEPT_TOKEN(anon_sym_int); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 89: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(129); - if (lookahead == 's') ADVANCE(117); + ACCEPT_TOKEN(anon_sym_str); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 90: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(129); + ACCEPT_TOKEN(anon_sym_bool); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 91: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(37); + ACCEPT_TOKEN(anon_sym_void); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 92: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(49); + if (lookahead == 'a') ADVANCE(110); + if (lookahead == 'n') ADVANCE(47); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 93: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(76); + if (lookahead == 'a') ADVANCE(110); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 94: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(120); + if (lookahead == 'a') ADVANCE(141); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 95: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(121); + if (lookahead == 'a') ADVANCE(125); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 96: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(93); + if (lookahead == 'c') ADVANCE(56); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 97: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(83); + if (lookahead == 'd') ADVANCE(91); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 98: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(99); + if (lookahead == 'e') ADVANCE(96); + if (lookahead == 'o') ADVANCE(106); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 99: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(85); + if (lookahead == 'e') ADVANCE(159); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 100: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(107); + if (lookahead == 'e') ADVANCE(45); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 101: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(115); + if (lookahead == 'e') ADVANCE(156); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 102: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'p') ADVANCE(51); + if (lookahead == 'e') ADVANCE(157); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 103: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'p') ADVANCE(101); + if (lookahead == 'e') ADVANCE(147); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 104: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(84); - if (lookahead == 'u') ADVANCE(112); + if (lookahead == 'e') ADVANCE(137); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 105: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(127); + if (lookahead == 'e') ADVANCE(133); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 106: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(66); + if (lookahead == 'i') ADVANCE(97); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 107: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(135); + if (lookahead == 'i') ADVANCE(118); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 108: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(111); - if (lookahead == 'x') ADVANCE(126); + if (lookahead == 'l') ADVANCE(90); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 109: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(111); + if (lookahead == 'l') ADVANCE(94); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 110: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(91); + if (lookahead == 'l') ADVANCE(142); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 111: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(100); + if (lookahead == 'm') ADVANCE(126); + if (lookahead == 'n') ADVANCE(143); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 112: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(77); + if (lookahead == 'n') ADVANCE(152); + if (lookahead == 's') ADVANCE(140); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 113: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(92); + if (lookahead == 'n') ADVANCE(152); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 114: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(122); + if (lookahead == 'n') ADVANCE(43); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 115: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(123); + if (lookahead == 'n') ADVANCE(55); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 116: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 's') ADVANCE(46); + if (lookahead == 'n') ADVANCE(99); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 117: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 's') ADVANCE(81); + if (lookahead == 'n') ADVANCE(143); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 118: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 's') ADVANCE(116); + if (lookahead == 'n') ADVANCE(144); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 119: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 's') ADVANCE(79); + if (lookahead == 'o') ADVANCE(116); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 120: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(65); + if (lookahead == 'o') ADVANCE(106); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 121: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(47); + if (lookahead == 'o') ADVANCE(122); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 122: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(48); + if (lookahead == 'o') ADVANCE(108); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 123: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(34); + if (lookahead == 'o') ADVANCE(130); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 124: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(128); + if (lookahead == 'o') ADVANCE(138); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 125: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(106); + if (lookahead == 'p') ADVANCE(57); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 126: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(82); + if (lookahead == 'p') ADVANCE(124); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 127: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'u') ADVANCE(78); + if (lookahead == 'r') ADVANCE(107); + if (lookahead == 'u') ADVANCE(135); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 128: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'u') ADVANCE(113); + if (lookahead == 'r') ADVANCE(150); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 129: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'y') ADVANCE(64); + if (lookahead == 'r') ADVANCE(89); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 130: ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 131: - ACCEPT_TOKEN(sym_number); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(134); + if (lookahead == 'x') ADVANCE(149); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 132: - ACCEPT_TOKEN(sym_string); + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(134); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 133: - ACCEPT_TOKEN(anon_sym_true); + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(114); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 134: - ACCEPT_TOKEN(anon_sym_false); + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(123); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 135: - ACCEPT_TOKEN(anon_sym_error); + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(100); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); case 136: - ACCEPT_TOKEN(sym_none); + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(115); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); END_STATE(); - default: - return false; - } -} - -static const TSLexMode ts_lex_modes[STATE_COUNT] = { - [0] = {.lex_state = 0}, - [1] = {.lex_state = 26}, - [2] = {.lex_state = 26}, - [3] = {.lex_state = 26}, - [4] = {.lex_state = 26}, - [5] = {.lex_state = 26}, - [6] = {.lex_state = 26}, - [7] = {.lex_state = 26}, - [8] = {.lex_state = 26}, - [9] = {.lex_state = 26}, - [10] = {.lex_state = 26}, - [11] = {.lex_state = 26}, - [12] = {.lex_state = 26}, - [13] = {.lex_state = 26}, - [14] = {.lex_state = 26}, - [15] = {.lex_state = 26}, - [16] = {.lex_state = 26}, - [17] = {.lex_state = 26}, - [18] = {.lex_state = 26}, - [19] = {.lex_state = 26}, - [20] = {.lex_state = 26}, - [21] = {.lex_state = 26}, - [22] = {.lex_state = 26}, - [23] = {.lex_state = 26}, - [24] = {.lex_state = 26}, - [25] = {.lex_state = 26}, - [26] = {.lex_state = 26}, - [27] = {.lex_state = 26}, - [28] = {.lex_state = 26}, - [29] = {.lex_state = 26}, - [30] = {.lex_state = 26}, - [31] = {.lex_state = 26}, - [32] = {.lex_state = 26}, - [33] = {.lex_state = 26}, - [34] = {.lex_state = 26}, - [35] = {.lex_state = 26}, - [36] = {.lex_state = 26}, - [37] = {.lex_state = 26}, - [38] = {.lex_state = 26}, - [39] = {.lex_state = 26}, - [40] = {.lex_state = 26}, - [41] = {.lex_state = 26}, - [42] = {.lex_state = 26}, - [43] = {.lex_state = 26}, - [44] = {.lex_state = 26}, - [45] = {.lex_state = 26}, - [46] = {.lex_state = 26}, - [47] = {.lex_state = 26}, - [48] = {.lex_state = 26}, - [49] = {.lex_state = 26}, - [50] = {.lex_state = 1}, - [51] = {.lex_state = 1}, - [52] = {.lex_state = 1}, - [53] = {.lex_state = 1}, - [54] = {.lex_state = 26}, - [55] = {.lex_state = 26}, - [56] = {.lex_state = 1}, - [57] = {.lex_state = 2}, - [58] = {.lex_state = 2}, - [59] = {.lex_state = 26}, - [60] = {.lex_state = 1}, - [61] = {.lex_state = 1}, - [62] = {.lex_state = 26}, - [63] = {.lex_state = 26}, - [64] = {.lex_state = 26}, - [65] = {.lex_state = 26}, - [66] = {.lex_state = 26}, - [67] = {.lex_state = 26}, - [68] = {.lex_state = 26}, - [69] = {.lex_state = 26}, - [70] = {.lex_state = 26}, - [71] = {.lex_state = 1}, - [72] = {.lex_state = 26}, - [73] = {.lex_state = 1}, - [74] = {.lex_state = 26}, - [75] = {.lex_state = 26}, - [76] = {.lex_state = 26}, - [77] = {.lex_state = 26}, - [78] = {.lex_state = 26}, - [79] = {.lex_state = 26}, - [80] = {.lex_state = 1}, - [81] = {.lex_state = 26}, - [82] = {.lex_state = 26}, - [83] = {.lex_state = 26}, - [84] = {.lex_state = 26}, - [85] = {.lex_state = 1}, - [86] = {.lex_state = 1}, - [87] = {.lex_state = 1}, - [88] = {.lex_state = 1}, - [89] = {.lex_state = 1}, - [90] = {.lex_state = 1}, - [91] = {.lex_state = 1}, - [92] = {.lex_state = 12}, - [93] = {.lex_state = 12}, - [94] = {.lex_state = 12}, - [95] = {.lex_state = 12}, - [96] = {.lex_state = 12}, - [97] = {.lex_state = 12}, - [98] = {.lex_state = 12}, - [99] = {.lex_state = 12}, - [100] = {.lex_state = 12}, - [101] = {.lex_state = 12}, - [102] = {.lex_state = 12}, - [103] = {.lex_state = 6}, - [104] = {.lex_state = 6}, - [105] = {.lex_state = 6}, - [106] = {.lex_state = 6}, - [107] = {.lex_state = 6}, - [108] = {.lex_state = 6}, - [109] = {.lex_state = 6}, - [110] = {.lex_state = 6}, - [111] = {.lex_state = 0}, - [112] = {.lex_state = 6}, - [113] = {.lex_state = 6}, - [114] = {.lex_state = 6}, - [115] = {.lex_state = 6}, - [116] = {.lex_state = 0}, - [117] = {.lex_state = 5}, - [118] = {.lex_state = 0}, - [119] = {.lex_state = 0}, - [120] = {.lex_state = 0}, - [121] = {.lex_state = 5}, - [122] = {.lex_state = 0}, - [123] = {.lex_state = 0}, - [124] = {.lex_state = 5}, - [125] = {.lex_state = 5}, - [126] = {.lex_state = 5}, - [127] = {.lex_state = 5}, - [128] = {.lex_state = 5}, - [129] = {.lex_state = 6}, - [130] = {.lex_state = 5}, - [131] = {.lex_state = 5}, - [132] = {.lex_state = 5}, - [133] = {.lex_state = 5}, - [134] = {.lex_state = 5}, - [135] = {.lex_state = 5}, - [136] = {.lex_state = 5}, - [137] = {.lex_state = 5}, - [138] = {.lex_state = 5}, - [139] = {.lex_state = 5}, - [140] = {.lex_state = 5}, - [141] = {.lex_state = 0}, - [142] = {.lex_state = 0}, - [143] = {.lex_state = 0}, - [144] = {.lex_state = 0}, + case 137: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(145); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 138: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'r') ADVANCE(146); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 139: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 's') ADVANCE(52); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 140: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 's') ADVANCE(104); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 141: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 's') ADVANCE(139); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 142: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 's') ADVANCE(102); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 143: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 't') ADVANCE(88); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 144: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 't') ADVANCE(53); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 145: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 't') ADVANCE(54); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 146: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 't') ADVANCE(40); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 147: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 't') ADVANCE(151); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 148: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 't') ADVANCE(129); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 149: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 't') ADVANCE(105); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 150: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'u') ADVANCE(101); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 151: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'u') ADVANCE(136); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 152: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'y') ADVANCE(87); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 153: + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 154: + ACCEPT_TOKEN(sym_number); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(154); + END_STATE(); + case 155: + ACCEPT_TOKEN(sym_string); + END_STATE(); + case 156: + ACCEPT_TOKEN(anon_sym_true); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 157: + ACCEPT_TOKEN(anon_sym_false); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 158: + ACCEPT_TOKEN(anon_sym_error); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + case 159: + ACCEPT_TOKEN(sym_none); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(153); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0}, + [1] = {.lex_state = 32}, + [2] = {.lex_state = 32}, + [3] = {.lex_state = 32}, + [4] = {.lex_state = 32}, + [5] = {.lex_state = 32}, + [6] = {.lex_state = 32}, + [7] = {.lex_state = 32}, + [8] = {.lex_state = 32}, + [9] = {.lex_state = 32}, + [10] = {.lex_state = 32}, + [11] = {.lex_state = 32}, + [12] = {.lex_state = 32}, + [13] = {.lex_state = 32}, + [14] = {.lex_state = 32}, + [15] = {.lex_state = 32}, + [16] = {.lex_state = 32}, + [17] = {.lex_state = 32}, + [18] = {.lex_state = 32}, + [19] = {.lex_state = 32}, + [20] = {.lex_state = 30}, + [21] = {.lex_state = 30}, + [22] = {.lex_state = 31}, + [23] = {.lex_state = 31}, + [24] = {.lex_state = 31}, + [25] = {.lex_state = 31}, + [26] = {.lex_state = 31}, + [27] = {.lex_state = 31}, + [28] = {.lex_state = 31}, + [29] = {.lex_state = 31}, + [30] = {.lex_state = 31}, + [31] = {.lex_state = 31}, + [32] = {.lex_state = 31}, + [33] = {.lex_state = 31}, + [34] = {.lex_state = 31}, + [35] = {.lex_state = 31}, + [36] = {.lex_state = 31}, + [37] = {.lex_state = 31}, + [38] = {.lex_state = 31}, + [39] = {.lex_state = 31}, + [40] = {.lex_state = 31}, + [41] = {.lex_state = 31}, + [42] = {.lex_state = 32}, + [43] = {.lex_state = 32}, + [44] = {.lex_state = 32}, + [45] = {.lex_state = 32}, + [46] = {.lex_state = 32}, + [47] = {.lex_state = 32}, + [48] = {.lex_state = 32}, + [49] = {.lex_state = 2}, + [50] = {.lex_state = 2}, + [51] = {.lex_state = 2}, + [52] = {.lex_state = 2}, + [53] = {.lex_state = 32}, + [54] = {.lex_state = 2}, + [55] = {.lex_state = 3}, + [56] = {.lex_state = 32}, + [57] = {.lex_state = 2}, + [58] = {.lex_state = 32}, + [59] = {.lex_state = 2}, + [60] = {.lex_state = 3}, + [61] = {.lex_state = 32}, + [62] = {.lex_state = 32}, + [63] = {.lex_state = 32}, + [64] = {.lex_state = 32}, + [65] = {.lex_state = 32}, + [66] = {.lex_state = 32}, + [67] = {.lex_state = 32}, + [68] = {.lex_state = 32}, + [69] = {.lex_state = 32}, + [70] = {.lex_state = 32}, + [71] = {.lex_state = 2}, + [72] = {.lex_state = 32}, + [73] = {.lex_state = 32}, + [74] = {.lex_state = 32}, + [75] = {.lex_state = 32}, + [76] = {.lex_state = 32}, + [77] = {.lex_state = 2}, + [78] = {.lex_state = 32}, + [79] = {.lex_state = 32}, + [80] = {.lex_state = 32}, + [81] = {.lex_state = 2}, + [82] = {.lex_state = 32}, + [83] = {.lex_state = 32}, + [84] = {.lex_state = 2}, + [85] = {.lex_state = 2}, + [86] = {.lex_state = 32}, + [87] = {.lex_state = 2}, + [88] = {.lex_state = 2}, + [89] = {.lex_state = 2}, + [90] = {.lex_state = 2}, + [91] = {.lex_state = 2}, + [92] = {.lex_state = 2}, + [93] = {.lex_state = 2}, + [94] = {.lex_state = 31}, + [95] = {.lex_state = 31}, + [96] = {.lex_state = 1}, + [97] = {.lex_state = 31}, + [98] = {.lex_state = 1}, + [99] = {.lex_state = 31}, + [100] = {.lex_state = 1}, + [101] = {.lex_state = 31}, + [102] = {.lex_state = 31}, + [103] = {.lex_state = 1}, + [104] = {.lex_state = 1}, + [105] = {.lex_state = 1}, + [106] = {.lex_state = 1}, + [107] = {.lex_state = 1}, + [108] = {.lex_state = 1}, + [109] = {.lex_state = 1}, + [110] = {.lex_state = 1}, + [111] = {.lex_state = 1}, + [112] = {.lex_state = 31}, + [113] = {.lex_state = 1}, + [114] = {.lex_state = 1}, + [115] = {.lex_state = 1}, + [116] = {.lex_state = 2}, + [117] = {.lex_state = 15}, + [118] = {.lex_state = 15}, + [119] = {.lex_state = 15}, + [120] = {.lex_state = 15}, + [121] = {.lex_state = 15}, + [122] = {.lex_state = 15}, + [123] = {.lex_state = 15}, + [124] = {.lex_state = 15}, + [125] = {.lex_state = 15}, + [126] = {.lex_state = 15}, + [127] = {.lex_state = 15}, + [128] = {.lex_state = 7}, + [129] = {.lex_state = 7}, + [130] = {.lex_state = 7}, + [131] = {.lex_state = 7}, + [132] = {.lex_state = 7}, + [133] = {.lex_state = 7}, + [134] = {.lex_state = 7}, + [135] = {.lex_state = 7}, + [136] = {.lex_state = 7}, + [137] = {.lex_state = 7}, + [138] = {.lex_state = 7}, + [139] = {.lex_state = 7}, + [140] = {.lex_state = 1}, + [141] = {.lex_state = 7}, + [142] = {.lex_state = 1}, + [143] = {.lex_state = 0}, + [144] = {.lex_state = 0}, [145] = {.lex_state = 0}, [146] = {.lex_state = 0}, [147] = {.lex_state = 0}, - [148] = {.lex_state = 5}, - [149] = {.lex_state = 0}, + [148] = {.lex_state = 0}, + [149] = {.lex_state = 1}, [150] = {.lex_state = 0}, - [151] = {.lex_state = 5}, + [151] = {.lex_state = 1}, [152] = {.lex_state = 0}, [153] = {.lex_state = 0}, - [154] = {.lex_state = 0}, - [155] = {.lex_state = 0}, + [154] = {.lex_state = 32}, + [155] = {.lex_state = 32}, [156] = {.lex_state = 0}, - [157] = {.lex_state = 5}, - [158] = {.lex_state = 0}, + [157] = {.lex_state = 0}, + [158] = {.lex_state = 1}, [159] = {.lex_state = 0}, [160] = {.lex_state = 0}, - [161] = {.lex_state = 30}, - [162] = {.lex_state = 0}, - [163] = {.lex_state = 5}, - [164] = {.lex_state = 5}, - [165] = {.lex_state = 0}, - [166] = {.lex_state = 0}, + [161] = {.lex_state = 32}, + [162] = {.lex_state = 32}, + [163] = {.lex_state = 0}, + [164] = {.lex_state = 0}, + [165] = {.lex_state = 36}, + [166] = {.lex_state = 1}, + [167] = {.lex_state = 1}, + [168] = {.lex_state = 0}, + [169] = {.lex_state = 0}, + [170] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1962,6 +2209,16 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_PLUS_PLUS] = ACTIONS(1), [anon_sym_EQ_EQ_EQ] = ACTIONS(1), [anon_sym_any] = ACTIONS(1), @@ -1978,31 +2235,31 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(153), - [sym_doc_comment] = STATE(82), + [sym_source_file] = STATE(157), + [sym_doc_comment] = STATE(83), [sym_statement] = STATE(5), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [aux_sym_source_file_repeat1] = STATE(5), [ts_builtin_sym_end] = ACTIONS(3), [sym_comment] = ACTIONS(5), @@ -2032,32 +2289,32 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [2] = { - [sym_doc_comment] = STATE(82), + [sym_doc_comment] = STATE(83), [sym_statement] = STATE(4), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), - [sym_expression] = STATE(45), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map_item] = STATE(147), - [sym_map_item_list] = STATE(158), - [sym_map] = STATE(25), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), + [sym_expression] = STATE(36), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map_item] = STATE(153), + [sym_map_item_list] = STATE(170), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [aux_sym_source_file_repeat1] = STATE(4), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), @@ -2087,30 +2344,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [3] = { - [sym_doc_comment] = STATE(82), + [sym_doc_comment] = STATE(83), [sym_statement] = STATE(3), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(41), [sym_comment] = ACTIONS(43), @@ -2141,30 +2398,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(91), }, [4] = { - [sym_doc_comment] = STATE(82), + [sym_doc_comment] = STATE(83), [sym_statement] = STATE(3), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [aux_sym_source_file_repeat1] = STATE(3), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), @@ -2194,30 +2451,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [5] = { - [sym_doc_comment] = STATE(82), + [sym_doc_comment] = STATE(83), [sym_statement] = STATE(3), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(96), [sym_comment] = ACTIONS(5), @@ -2247,30 +2504,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [6] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(77), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(78), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2299,30 +2556,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [7] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(72), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(67), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2351,30 +2608,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [8] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(67), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(79), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2403,30 +2660,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [9] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(70), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(73), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2455,30 +2712,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [10] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(81), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(62), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2507,30 +2764,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [11] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(64), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(82), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2559,30 +2816,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [12] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(76), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(70), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2610,30 +2867,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [13] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(79), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(80), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2661,30 +2918,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [14] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(83), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(64), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2712,30 +2969,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [15] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(62), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(65), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2763,30 +3020,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [16] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(75), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(66), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2814,30 +3071,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [17] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(78), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(69), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2865,30 +3122,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [18] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(69), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(76), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2916,30 +3173,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(37), }, [19] = { - [sym_doc_comment] = STATE(82), - [sym_statement] = STATE(68), - [sym_block] = STATE(82), - [sym_import] = STATE(82), - [sym_qualifier] = STATE(132), + [sym_doc_comment] = STATE(83), + [sym_statement] = STATE(72), + [sym_block] = STATE(83), + [sym_import] = STATE(83), + [sym_qualifier] = STATE(140), [sym_qualifier_list] = STATE(151), - [sym_function_declaration] = STATE(82), - [sym_class_declaration] = STATE(82), - [sym_print] = STATE(82), - [sym_assert] = STATE(82), - [sym_return] = STATE(82), + [sym_function_declaration] = STATE(83), + [sym_class_declaration] = STATE(83), + [sym_print] = STATE(83), + [sym_assert] = STATE(83), + [sym_return] = STATE(83), [sym_expression] = STATE(39), - [sym_parenthesized_expression] = STATE(25), - [sym_access_list] = STATE(25), - [sym_call] = STATE(25), - [sym_literal] = STATE(25), - [sym_var_declaration] = STATE(55), - [sym_assignment] = STATE(82), - [sym_binary_expression] = STATE(25), - [sym_vec] = STATE(25), - [sym_map] = STATE(25), + [sym_parenthesized_expression] = STATE(29), + [sym_access_list] = STATE(29), + [sym_call] = STATE(29), + [sym_literal] = STATE(29), + [sym_var_declaration] = STATE(56), + [sym_assignment] = STATE(83), + [sym_binary_expression] = STATE(29), + [sym_vec] = STATE(29), + [sym_map] = STATE(29), [sym_primitive_type] = STATE(21), - [sym_identifier] = STATE(37), - [sym_bool] = STATE(33), + [sym_identifier] = STATE(34), + [sym_bool] = STATE(28), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), @@ -2969,61 +3226,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }; static const uint16_t ts_small_parse_table[] = { - [0] = 14, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, - aux_sym_identifier_token1, - ACTIONS(37), 1, - sym_none, - ACTIONS(116), 1, - anon_sym_LBRACE, - STATE(21), 1, - sym_primitive_type, - STATE(33), 1, - sym_bool, - STATE(43), 1, - sym_expression, - ACTIONS(33), 2, - sym_number, - sym_string, - ACTIONS(35), 3, - anon_sym_true, - anon_sym_false, - anon_sym_error, - ACTIONS(114), 4, - ts_builtin_sym_end, - sym_comment, - anon_sym_POUND_POUND, - anon_sym_RBRACE, - ACTIONS(29), 5, - anon_sym_any, - anon_sym_int, - anon_sym_str, - anon_sym_bool, - anon_sym_void, - ACTIONS(118), 8, - anon_sym_import, - anon_sym_extern, - anon_sym_pure, - anon_sym_fn, - anon_sym_class, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - STATE(25), 8, - sym_parenthesized_expression, - sym_access_list, - sym_call, - sym_literal, - sym_binary_expression, - sym_vec, - sym_map, - sym_identifier, - [67] = 2, - ACTIONS(120), 16, + [0] = 2, + ACTIONS(114), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3033,14 +3237,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH_GT, - anon_sym_GT, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(122), 20, + ACTIONS(116), 23, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3049,7 +3260,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_EQ, + anon_sym_DASH, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3061,8 +3275,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [108] = 2, - ACTIONS(124), 16, + [51] = 2, + ACTIONS(118), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3072,14 +3286,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH_GT, - anon_sym_GT, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(126), 20, + ACTIONS(120), 23, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3088,7 +3309,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_EQ, + anon_sym_DASH, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3100,24 +3324,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [149] = 2, - ACTIONS(128), 15, + [102] = 5, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + STATE(91), 1, + sym_operator, + ACTIONS(122), 21, 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_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(130), 19, + ACTIONS(124), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3126,6 +3362,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3137,23 +3375,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [188] = 2, - ACTIONS(132), 14, - 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_COMMA, - anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - sym_number, - sym_string, - ACTIONS(134), 19, + [158] = 2, + ACTIONS(132), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3162,6 +3385,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3173,8 +3398,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [226] = 2, - ACTIONS(136), 14, + ACTIONS(130), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3185,11 +3409,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(138), 19, + [207] = 2, + ACTIONS(136), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3198,6 +3432,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3209,8 +3445,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [264] = 2, - ACTIONS(140), 14, + ACTIONS(134), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3221,11 +3456,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(142), 19, + [256] = 2, + ACTIONS(140), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3234,6 +3479,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3245,8 +3492,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [302] = 2, - ACTIONS(144), 14, + ACTIONS(138), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3257,11 +3503,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(146), 19, + [305] = 2, + ACTIONS(144), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3270,6 +3526,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3281,8 +3539,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [340] = 2, - ACTIONS(148), 14, + ACTIONS(142), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3293,11 +3550,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(150), 19, + [354] = 2, + ACTIONS(148), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3306,6 +3573,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3317,8 +3586,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [378] = 2, - ACTIONS(152), 14, + ACTIONS(146), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3329,11 +3597,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(154), 19, + [403] = 2, + ACTIONS(152), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3342,6 +3620,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3353,8 +3633,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [416] = 2, - ACTIONS(156), 14, + ACTIONS(150), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3365,11 +3644,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(158), 19, + [452] = 2, + ACTIONS(156), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3378,6 +3667,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3389,8 +3680,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [454] = 2, - ACTIONS(160), 14, + ACTIONS(154), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3401,11 +3691,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(162), 19, + [501] = 2, + ACTIONS(160), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3414,6 +3714,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3425,8 +3727,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [492] = 2, - ACTIONS(164), 14, + ACTIONS(158), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3437,11 +3738,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(166), 19, + [550] = 2, + ACTIONS(164), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3450,6 +3761,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3461,8 +3774,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [530] = 2, - ACTIONS(168), 14, + ACTIONS(162), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3473,11 +3785,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(170), 19, + [599] = 2, + ACTIONS(168), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3486,6 +3808,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3497,8 +3821,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [568] = 2, - ACTIONS(172), 14, + ACTIONS(166), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3509,11 +3832,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(174), 19, + [648] = 2, + ACTIONS(172), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3522,6 +3855,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3533,8 +3868,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [606] = 2, - ACTIONS(176), 14, + ACTIONS(170), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3545,11 +3879,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + sym_number, + sym_string, + [697] = 4, + ACTIONS(174), 1, + anon_sym_COLON, + ACTIONS(176), 1, + anon_sym_EQ, + ACTIONS(154), 20, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, sym_number, sym_string, - ACTIONS(178), 19, + ACTIONS(156), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3558,6 +3927,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -3569,23 +3940,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [644] = 3, - ACTIONS(184), 1, + [749] = 4, + ACTIONS(144), 2, anon_sym_LT, - ACTIONS(180), 12, + anon_sym_GT, + ACTIONS(178), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_COMMA, - anon_sym_EQ, sym_number, sym_string, - ACTIONS(182), 19, + ACTIONS(142), 13, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(180), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3605,24 +3987,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [683] = 4, - ACTIONS(186), 1, - anon_sym_COLON, + [800] = 8, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, ACTIONS(188), 1, - anon_sym_EQ, - ACTIONS(136), 11, - ts_builtin_sym_end, + anon_sym_COLON, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(182), 6, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, sym_number, sym_string, - ACTIONS(138), 19, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(184), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3642,23 +4038,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [724] = 3, - ACTIONS(190), 1, + [859] = 7, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, anon_sym_LT, - ACTIONS(180), 12, + anon_sym_GT, + ACTIONS(192), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_COMMA, - anon_sym_EQ, sym_number, sym_string, - ACTIONS(182), 19, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(194), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3678,17 +4088,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [763] = 6, - ACTIONS(196), 1, + [916] = 7, + ACTIONS(126), 1, anon_sym_DOT, - ACTIONS(198), 1, + ACTIONS(128), 1, anon_sym_LPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(192), 7, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(196), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3696,7 +4106,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(194), 19, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(198), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3716,21 +4138,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [807] = 2, - ACTIONS(202), 12, + [973] = 7, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(182), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_COMMA, - anon_sym_EQ, sym_number, sym_string, - ACTIONS(204), 19, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(184), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3750,17 +4188,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [843] = 6, - ACTIONS(196), 1, + [1030] = 7, + ACTIONS(126), 1, anon_sym_DOT, - ACTIONS(198), 1, + ACTIONS(128), 1, anon_sym_LPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(206), 7, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(200), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3768,7 +4206,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(208), 19, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(202), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3788,17 +4238,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [887] = 6, - ACTIONS(196), 1, + [1087] = 7, + ACTIONS(126), 1, anon_sym_DOT, - ACTIONS(198), 1, + ACTIONS(128), 1, anon_sym_LPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(210), 7, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(204), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3806,7 +4256,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(212), 19, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(206), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3826,25 +4288,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [931] = 6, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, + [1144] = 14, + ACTIONS(17), 1, anon_sym_LPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(214), 7, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + aux_sym_identifier_token1, + ACTIONS(37), 1, + sym_none, + ACTIONS(210), 1, + anon_sym_LBRACE, + STATE(21), 1, + sym_primitive_type, + STATE(28), 1, + sym_bool, + STATE(38), 1, + sym_expression, + ACTIONS(33), 2, + sym_number, + sym_string, + ACTIONS(35), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(208), 4, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, - anon_sym_LBRACE, anon_sym_RBRACE, - sym_number, - sym_string, - ACTIONS(216), 19, + ACTIONS(29), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + ACTIONS(212), 8, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3853,19 +4332,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_print, anon_sym_assert, anon_sym_return, - 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, - [975] = 2, - ACTIONS(180), 12, + STATE(29), 8, + sym_parenthesized_expression, + sym_access_list, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [1211] = 3, + ACTIONS(218), 1, + anon_sym_LT, + ACTIONS(214), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3878,7 +4357,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(182), 19, + ACTIONS(216), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3898,26 +4377,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1011] = 7, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, - anon_sym_LPAREN, - ACTIONS(218), 1, - anon_sym_COLON, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(192), 6, + [1250] = 3, + ACTIONS(220), 1, + anon_sym_LT, + ACTIONS(214), 12, + ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_COMMA, + anon_sym_EQ, sym_number, sym_string, - ACTIONS(194), 19, + ACTIONS(216), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3937,8 +4413,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1057] = 2, - ACTIONS(220), 12, + [1289] = 2, + ACTIONS(222), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3951,7 +4427,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(222), 19, + ACTIONS(224), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -3971,8 +4447,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1093] = 2, - ACTIONS(224), 12, + [1325] = 2, + ACTIONS(226), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3985,7 +4461,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(226), 19, + ACTIONS(228), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4005,22 +4481,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1129] = 3, - ACTIONS(144), 4, - anon_sym_DOT, - anon_sym_COLON, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(228), 8, + [1361] = 2, + ACTIONS(230), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_COMMA, + anon_sym_EQ, sym_number, sym_string, - ACTIONS(230), 19, + ACTIONS(232), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4040,25 +4515,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1167] = 6, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, - anon_sym_LPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(232), 7, + [1397] = 2, + ACTIONS(214), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_COMMA, + anon_sym_EQ, sym_number, sym_string, - ACTIONS(234), 19, + ACTIONS(216), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4078,7 +4549,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1211] = 16, + [1433] = 15, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -4087,22 +4558,20 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, - ACTIONS(236), 1, - anon_sym_RPAREN, + ACTIONS(234), 1, + anon_sym_RBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(119), 1, - sym_identifier, - STATE(120), 1, + STATE(102), 1, sym_expression, - STATE(142), 1, - sym_param, - STATE(154), 1, - sym_param_list, + STATE(153), 1, + sym_map_item, + STATE(164), 1, + sym_map_item_list, ACTIONS(33), 2, sym_number, sym_string, @@ -4116,7 +4585,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 7, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4124,7 +4593,8 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_vec, sym_map, - [1273] = 15, + sym_identifier, + [1493] = 15, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -4133,19 +4603,19 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, - ACTIONS(238), 1, + ACTIONS(236), 1, anon_sym_RBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(122), 1, + STATE(102), 1, sym_expression, - STATE(147), 1, + STATE(153), 1, sym_map_item, - STATE(158), 1, + STATE(170), 1, sym_map_item_list, ACTIONS(33), 2, sym_number, @@ -4160,7 +4630,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4169,7 +4639,7 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [1333] = 16, + [1553] = 16, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -4178,21 +4648,21 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, - ACTIONS(240), 1, + ACTIONS(238), 1, anon_sym_RPAREN, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(119), 1, + STATE(99), 1, sym_identifier, - STATE(120), 1, + STATE(112), 1, sym_expression, - STATE(142), 1, + STATE(144), 1, sym_param, - STATE(166), 1, + STATE(168), 1, sym_param_list, ACTIONS(33), 2, sym_number, @@ -4207,7 +4677,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 7, + STATE(29), 7, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4215,7 +4685,7 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_vec, sym_map, - [1395] = 15, + [1615] = 16, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -4224,20 +4694,22 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, - ACTIONS(242), 1, - anon_sym_RBRACE, + ACTIONS(240), 1, + anon_sym_RPAREN, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(122), 1, + STATE(99), 1, + sym_identifier, + STATE(112), 1, sym_expression, - STATE(147), 1, - sym_map_item, - STATE(160), 1, - sym_map_item_list, + STATE(144), 1, + sym_param, + STATE(156), 1, + sym_param_list, ACTIONS(33), 2, sym_number, sym_string, @@ -4251,7 +4723,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 7, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4259,9 +4731,8 @@ static const uint16_t ts_small_parse_table[] = { sym_binary_expression, sym_vec, sym_map, - sym_identifier, - [1455] = 2, - ACTIONS(244), 9, + [1677] = 2, + ACTIONS(242), 9, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4271,39 +4742,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(246), 19, - 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_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, - [1488] = 3, - ACTIONS(248), 1, - anon_sym_EQ, - ACTIONS(192), 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(194), 19, + ACTIONS(244), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4323,7 +4762,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1523] = 14, + [1710] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -4332,17 +4771,17 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, - ACTIONS(250), 1, + ACTIONS(246), 1, anon_sym_RPAREN, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(111), 1, + STATE(94), 1, sym_expression, - STATE(165), 1, + STATE(163), 1, sym_arg_list, ACTIONS(33), 2, sym_number, @@ -4357,7 +4796,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4366,41 +4805,41 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [1580] = 14, - ACTIONS(252), 1, + [1767] = 14, + ACTIONS(248), 1, anon_sym_LBRACE, - ACTIONS(254), 1, + ACTIONS(250), 1, anon_sym_LPAREN, - ACTIONS(256), 1, + ACTIONS(252), 1, anon_sym_LBRACK, - ACTIONS(258), 1, + ACTIONS(254), 1, anon_sym_RBRACK, - ACTIONS(262), 1, + ACTIONS(258), 1, aux_sym_identifier_token1, - ACTIONS(268), 1, + ACTIONS(264), 1, sym_none, - STATE(117), 1, + STATE(96), 1, sym_expression, - STATE(138), 1, + STATE(100), 1, sym_bool, - STATE(139), 1, + STATE(105), 1, sym_primitive_type, - STATE(163), 1, + STATE(158), 1, sym_expression_list, - ACTIONS(264), 2, + ACTIONS(260), 2, sym_number, sym_string, - ACTIONS(266), 3, + ACTIONS(262), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(260), 5, + ACTIONS(256), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(136), 8, + STATE(109), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4409,41 +4848,73 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [1637] = 14, - ACTIONS(252), 1, + [1824] = 3, + ACTIONS(266), 1, + anon_sym_EQ, + ACTIONS(182), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, anon_sym_LBRACE, - ACTIONS(254), 1, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym_number, + sym_string, + ACTIONS(184), 19, + 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_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, + [1859] = 14, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(256), 1, + ACTIONS(27), 1, anon_sym_LBRACK, - ACTIONS(262), 1, + ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(268), 1, + ACTIONS(37), 1, sym_none, - ACTIONS(270), 1, - anon_sym_RBRACK, - STATE(117), 1, - sym_expression, - STATE(138), 1, - sym_bool, - STATE(139), 1, + ACTIONS(210), 1, + anon_sym_LBRACE, + ACTIONS(268), 1, + anon_sym_RPAREN, + STATE(21), 1, sym_primitive_type, - STATE(157), 1, - sym_expression_list, - ACTIONS(264), 2, + STATE(28), 1, + sym_bool, + STATE(94), 1, + sym_expression, + STATE(169), 1, + sym_arg_list, + ACTIONS(33), 2, sym_number, sym_string, - ACTIONS(266), 3, + ACTIONS(35), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(260), 5, + ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(136), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4452,10 +4923,10 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [1694] = 3, - ACTIONS(276), 1, + [1916] = 3, + ACTIONS(274), 1, anon_sym_DOT, - ACTIONS(272), 8, + ACTIONS(270), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4464,7 +4935,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(274), 19, + ACTIONS(272), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4484,7 +4955,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1729] = 14, + [1951] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -4493,17 +4964,17 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(122), 1, + STATE(102), 1, sym_expression, - STATE(147), 1, + STATE(153), 1, sym_map_item, - STATE(162), 1, + STATE(159), 1, sym_map_item_list, ACTIONS(33), 2, sym_number, @@ -4518,7 +4989,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4527,41 +4998,41 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [1786] = 14, - ACTIONS(17), 1, + [2008] = 14, + ACTIONS(248), 1, + anon_sym_LBRACE, + ACTIONS(250), 1, anon_sym_LPAREN, - ACTIONS(27), 1, + ACTIONS(252), 1, anon_sym_LBRACK, - ACTIONS(31), 1, + ACTIONS(258), 1, aux_sym_identifier_token1, - ACTIONS(37), 1, + ACTIONS(264), 1, sym_none, - ACTIONS(116), 1, - anon_sym_LBRACE, - ACTIONS(278), 1, - anon_sym_RPAREN, - STATE(21), 1, - sym_primitive_type, - STATE(33), 1, - sym_bool, - STATE(111), 1, + ACTIONS(276), 1, + anon_sym_RBRACK, + STATE(96), 1, sym_expression, - STATE(159), 1, - sym_arg_list, - ACTIONS(33), 2, + STATE(100), 1, + sym_bool, + STATE(105), 1, + sym_primitive_type, + STATE(167), 1, + sym_expression_list, + ACTIONS(260), 2, sym_number, sym_string, - ACTIONS(35), 3, + ACTIONS(262), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(29), 5, + ACTIONS(256), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(109), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4570,8 +5041,8 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [1843] = 2, - ACTIONS(280), 8, + [2065] = 2, + ACTIONS(278), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4580,7 +5051,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(282), 19, + ACTIONS(280), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4600,8 +5071,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1875] = 2, - ACTIONS(284), 8, + [2097] = 2, + ACTIONS(282), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4610,7 +5081,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(286), 19, + ACTIONS(284), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4630,8 +5101,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1907] = 2, - ACTIONS(288), 8, + [2129] = 2, + ACTIONS(286), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4640,7 +5111,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(290), 19, + ACTIONS(288), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4660,8 +5131,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1939] = 2, - ACTIONS(292), 8, + [2161] = 2, + ACTIONS(290), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4670,7 +5141,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(294), 19, + ACTIONS(292), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4690,8 +5161,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1971] = 2, - ACTIONS(296), 8, + [2193] = 2, + ACTIONS(294), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4700,7 +5171,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(298), 19, + ACTIONS(296), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4720,8 +5191,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2003] = 2, - ACTIONS(300), 8, + [2225] = 2, + ACTIONS(298), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4730,7 +5201,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(302), 19, + ACTIONS(300), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4750,8 +5221,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2035] = 2, - ACTIONS(304), 8, + [2257] = 2, + ACTIONS(302), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4760,7 +5231,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(306), 19, + ACTIONS(304), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4780,8 +5251,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2067] = 2, - ACTIONS(308), 8, + [2289] = 2, + ACTIONS(306), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4790,7 +5261,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(310), 19, + ACTIONS(308), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4810,8 +5281,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2099] = 2, - ACTIONS(312), 8, + [2321] = 2, + ACTIONS(310), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4820,7 +5291,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(314), 19, + ACTIONS(312), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4840,49 +5311,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2131] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(31), 1, - aux_sym_identifier_token1, - ACTIONS(37), 1, - sym_none, - ACTIONS(116), 1, - anon_sym_LBRACE, - ACTIONS(316), 1, - anon_sym_RPAREN, - STATE(21), 1, - sym_primitive_type, - STATE(33), 1, - sym_bool, - STATE(116), 1, - sym_expression, - ACTIONS(33), 2, - sym_number, - sym_string, - ACTIONS(35), 3, - anon_sym_true, - anon_sym_false, - anon_sym_error, - ACTIONS(29), 5, - anon_sym_any, - anon_sym_int, - anon_sym_str, - anon_sym_bool, - anon_sym_void, - STATE(25), 8, - sym_parenthesized_expression, - sym_access_list, - sym_call, - sym_literal, - sym_binary_expression, - sym_vec, - sym_map, - sym_identifier, - [2185] = 2, - ACTIONS(318), 8, + [2353] = 2, + ACTIONS(314), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4891,7 +5321,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(320), 19, + ACTIONS(316), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4911,7 +5341,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2217] = 13, + [2385] = 13, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -4920,15 +5350,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, - ACTIONS(322), 1, + ACTIONS(318), 1, anon_sym_RPAREN, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(116), 1, + STATE(97), 1, sym_expression, ACTIONS(33), 2, sym_number, @@ -4943,7 +5373,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -4952,8 +5382,8 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [2271] = 2, - ACTIONS(324), 8, + [2439] = 2, + ACTIONS(320), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4962,7 +5392,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(326), 19, + ACTIONS(322), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -4982,8 +5412,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2303] = 2, - ACTIONS(328), 8, + [2471] = 2, + ACTIONS(324), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4992,7 +5422,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(330), 19, + ACTIONS(326), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5012,8 +5442,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2335] = 2, - ACTIONS(332), 8, + [2503] = 2, + ACTIONS(328), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5022,7 +5452,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(334), 19, + ACTIONS(330), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5042,8 +5472,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2367] = 2, - ACTIONS(336), 8, + [2535] = 2, + ACTIONS(332), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5052,7 +5482,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(338), 19, + ACTIONS(334), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5072,8 +5502,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2399] = 2, - ACTIONS(340), 8, + [2567] = 2, + ACTIONS(336), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5082,7 +5512,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(342), 19, + ACTIONS(338), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5102,8 +5532,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2431] = 2, - ACTIONS(344), 8, + [2599] = 13, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + aux_sym_identifier_token1, + ACTIONS(37), 1, + sym_none, + ACTIONS(210), 1, + anon_sym_LBRACE, + ACTIONS(340), 1, + anon_sym_RPAREN, + STATE(21), 1, + sym_primitive_type, + STATE(28), 1, + sym_bool, + STATE(97), 1, + sym_expression, + ACTIONS(33), 2, + sym_number, + sym_string, + ACTIONS(35), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(29), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + STATE(29), 8, + sym_parenthesized_expression, + sym_access_list, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [2653] = 2, + ACTIONS(342), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5112,7 +5583,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(346), 19, + ACTIONS(344), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5132,49 +5603,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2463] = 13, - ACTIONS(252), 1, - anon_sym_LBRACE, - ACTIONS(254), 1, - anon_sym_LPAREN, - ACTIONS(256), 1, - anon_sym_LBRACK, - ACTIONS(262), 1, - aux_sym_identifier_token1, - ACTIONS(268), 1, - sym_none, - STATE(117), 1, - sym_expression, - STATE(138), 1, - sym_bool, - STATE(139), 1, - sym_primitive_type, - STATE(164), 1, - sym_expression_list, - ACTIONS(264), 2, - sym_number, - sym_string, - ACTIONS(266), 3, - anon_sym_true, - anon_sym_false, - anon_sym_error, - ACTIONS(260), 5, - anon_sym_any, - anon_sym_int, - anon_sym_str, - anon_sym_bool, - anon_sym_void, - STATE(136), 8, - sym_parenthesized_expression, - sym_access_list, - sym_call, - sym_literal, - sym_binary_expression, - sym_vec, - sym_map, - sym_identifier, - [2517] = 2, - ACTIONS(348), 8, + [2685] = 2, + ACTIONS(346), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5183,7 +5613,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(350), 19, + ACTIONS(348), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5203,8 +5633,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2549] = 2, - ACTIONS(192), 8, + [2717] = 2, + ACTIONS(350), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5213,7 +5643,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(194), 19, + ACTIONS(352), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5233,8 +5663,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2581] = 2, - ACTIONS(352), 8, + [2749] = 13, + ACTIONS(248), 1, + anon_sym_LBRACE, + ACTIONS(250), 1, + anon_sym_LPAREN, + ACTIONS(252), 1, + anon_sym_LBRACK, + ACTIONS(258), 1, + aux_sym_identifier_token1, + ACTIONS(264), 1, + sym_none, + STATE(96), 1, + sym_expression, + STATE(100), 1, + sym_bool, + STATE(105), 1, + sym_primitive_type, + STATE(166), 1, + sym_expression_list, + ACTIONS(260), 2, + sym_number, + sym_string, + ACTIONS(262), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(256), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + STATE(109), 8, + sym_parenthesized_expression, + sym_access_list, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [2803] = 2, + ACTIONS(354), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5243,7 +5714,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(354), 19, + ACTIONS(356), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5263,8 +5734,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2613] = 2, - ACTIONS(356), 8, + [2835] = 2, + ACTIONS(182), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5273,7 +5744,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(358), 19, + ACTIONS(184), 19, anon_sym_import, anon_sym_extern, anon_sym_pure, @@ -5293,7 +5764,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2645] = 12, + [2867] = 12, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -5302,13 +5773,13 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(49), 1, + STATE(41), 1, sym_expression, ACTIONS(33), 2, sym_number, @@ -5323,7 +5794,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -5332,7 +5803,7 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [2696] = 12, + [2918] = 12, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -5341,13 +5812,13 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(120), 1, + STATE(40), 1, sym_expression, ACTIONS(33), 2, sym_number, @@ -5362,7 +5833,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -5371,7 +5842,36 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [2747] = 12, + [2969] = 2, + ACTIONS(358), 7, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DASH_GT, + sym_number, + sym_string, + ACTIONS(360), 19, + 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_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, + [3000] = 12, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -5380,13 +5880,13 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(42), 1, + STATE(101), 1, sym_expression, ACTIONS(33), 2, sym_number, @@ -5401,7 +5901,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -5410,7 +5910,7 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [2798] = 12, + [3051] = 12, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -5419,13 +5919,13 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(123), 1, + STATE(95), 1, sym_expression, ACTIONS(33), 2, sym_number, @@ -5440,7 +5940,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -5449,7 +5949,7 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [2849] = 12, + [3102] = 12, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -5458,13 +5958,13 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(116), 1, + STATE(97), 1, sym_expression, ACTIONS(33), 2, sym_number, @@ -5479,7 +5979,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -5488,7 +5988,7 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [2900] = 12, + [3153] = 12, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -5497,13 +5997,13 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, + STATE(28), 1, sym_bool, - STATE(118), 1, + STATE(37), 1, sym_expression, ACTIONS(33), 2, sym_number, @@ -5518,7 +6018,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -5527,7 +6027,7 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [2951] = 12, + [3204] = 12, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -5536,14 +6036,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_identifier_token1, ACTIONS(37), 1, sym_none, - ACTIONS(116), 1, + ACTIONS(210), 1, anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(33), 1, - sym_bool, - STATE(41), 1, + STATE(22), 1, sym_expression, + STATE(28), 1, + sym_bool, ACTIONS(33), 2, sym_number, sym_string, @@ -5557,7 +6057,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(25), 8, + STATE(29), 8, sym_parenthesized_expression, sym_access_list, sym_call, @@ -5566,209 +6066,788 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [3002] = 8, + [3255] = 12, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(27), 1, + anon_sym_LBRACK, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, - anon_sym_vec, - ACTIONS(362), 1, - anon_sym_map, - STATE(14), 1, - sym_type, + ACTIONS(37), 1, + sym_none, + ACTIONS(210), 1, + anon_sym_LBRACE, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, - STATE(46), 1, - sym_type_name, + STATE(28), 1, + sym_bool, + STATE(112), 1, + sym_expression, + ACTIONS(33), 2, + sym_number, + sym_string, + ACTIONS(35), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3031] = 8, - ACTIONS(31), 1, - aux_sym_identifier_token1, - ACTIONS(360), 1, - anon_sym_vec, - ACTIONS(362), 1, - anon_sym_map, - STATE(21), 1, - sym_primitive_type, - STATE(44), 1, + STATE(29), 8, + sym_parenthesized_expression, + sym_access_list, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, sym_identifier, - STATE(46), 1, - sym_type_name, - STATE(54), 1, - sym_type, - ACTIONS(29), 5, - anon_sym_any, + [3306] = 12, + ACTIONS(248), 1, + anon_sym_LBRACE, + ACTIONS(250), 1, + anon_sym_LPAREN, + ACTIONS(252), 1, + anon_sym_LBRACK, + ACTIONS(258), 1, + aux_sym_identifier_token1, + ACTIONS(264), 1, + sym_none, + STATE(98), 1, + sym_expression, + STATE(100), 1, + sym_bool, + STATE(105), 1, + sym_primitive_type, + ACTIONS(260), 2, + sym_number, + sym_string, + ACTIONS(262), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(256), 5, + anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3060] = 8, + STATE(109), 8, + sym_parenthesized_expression, + sym_access_list, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [3357] = 8, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(362), 1, + anon_sym_RPAREN, + ACTIONS(364), 1, + anon_sym_COMMA, + STATE(91), 1, + sym_operator, + STATE(145), 1, + aux_sym_arg_list_repeat1, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3393] = 6, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(366), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3424] = 7, + ACTIONS(368), 1, + anon_sym_DOT, + ACTIONS(370), 1, + anon_sym_LPAREN, + ACTIONS(372), 1, + anon_sym_COMMA, + ACTIONS(374), 1, + anon_sym_RBRACK, + STATE(93), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3457] = 6, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(376), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3488] = 5, + ACTIONS(368), 1, + anon_sym_DOT, + ACTIONS(370), 1, + anon_sym_LPAREN, + STATE(93), 1, + sym_operator, + ACTIONS(124), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(122), 13, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3517] = 4, + ACTIONS(380), 1, + anon_sym_COLON, + ACTIONS(156), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(378), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + ACTIONS(154), 13, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3544] = 2, + ACTIONS(152), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(150), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3566] = 6, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(382), 1, + anon_sym_RPAREN, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3596] = 6, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(188), 1, + anon_sym_COLON, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3626] = 2, + ACTIONS(140), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(138), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3648] = 2, + ACTIONS(132), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(130), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3670] = 2, + ACTIONS(120), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(118), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3692] = 2, + ACTIONS(116), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(114), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3714] = 2, + ACTIONS(164), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(162), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3736] = 2, + ACTIONS(172), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(170), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3758] = 2, + ACTIONS(156), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(154), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3780] = 2, + ACTIONS(148), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(146), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3802] = 2, + ACTIONS(136), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(134), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3824] = 6, + ACTIONS(126), 1, + anon_sym_DOT, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(384), 1, + anon_sym_RPAREN, + STATE(91), 1, + sym_operator, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(190), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3854] = 2, + ACTIONS(144), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(142), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3876] = 2, + ACTIONS(160), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(158), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3898] = 2, + ACTIONS(168), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(166), 15, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [3920] = 2, + ACTIONS(386), 4, + anon_sym_LBRACE, + anon_sym_LPAREN, + sym_number, + sym_string, + ACTIONS(388), 11, + 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, + [3940] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, - STATE(15), 1, - sym_type, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, STATE(46), 1, sym_type_name, + STATE(48), 1, + sym_identifier, + STATE(160), 1, + sym_type, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3089] = 8, + [3969] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, - STATE(16), 1, - sym_type, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, STATE(46), 1, sym_type_name, + STATE(48), 1, + sym_identifier, + STATE(150), 1, + sym_type, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3118] = 8, + [3998] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, + STATE(17), 1, + sym_type, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, STATE(46), 1, sym_type_name, - STATE(156), 1, - sym_type, + STATE(48), 1, + sym_identifier, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3147] = 8, + [4027] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, + STATE(16), 1, + sym_type, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, STATE(46), 1, sym_type_name, - STATE(155), 1, - sym_type, + STATE(48), 1, + sym_identifier, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3176] = 8, + [4056] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, - STATE(17), 1, + STATE(15), 1, sym_type, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, STATE(46), 1, sym_type_name, + STATE(48), 1, + sym_identifier, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3205] = 8, + [4085] = 8, + ACTIONS(390), 1, + anon_sym_vec, + ACTIONS(392), 1, + anon_sym_map, + ACTIONS(396), 1, + aux_sym_identifier_token1, + STATE(46), 1, + sym_type_name, + STATE(48), 1, + sym_identifier, + STATE(154), 1, + sym_type, + STATE(162), 1, + sym_primitive_type, + ACTIONS(394), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + [4114] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, - STATE(18), 1, + STATE(12), 1, sym_type, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, STATE(46), 1, sym_type_name, + STATE(48), 1, + sym_identifier, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3234] = 8, + [4143] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, + STATE(14), 1, + sym_type, STATE(21), 1, sym_primitive_type, - STATE(44), 1, + STATE(46), 1, + sym_type_name, + STATE(48), 1, sym_identifier, + ACTIONS(29), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + [4172] = 8, + ACTIONS(390), 1, + anon_sym_vec, + ACTIONS(392), 1, + anon_sym_map, + ACTIONS(396), 1, + aux_sym_identifier_token1, STATE(46), 1, sym_type_name, - STATE(150), 1, + STATE(48), 1, + sym_identifier, + STATE(155), 1, sym_type, - ACTIONS(29), 5, + STATE(162), 1, + sym_primitive_type, + ACTIONS(394), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3263] = 8, + [4201] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, STATE(46), 1, sym_type_name, - STATE(152), 1, + STATE(48), 1, + sym_identifier, + STATE(53), 1, sym_type, ACTIONS(29), 5, anon_sym_any, @@ -5776,36 +6855,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - [3292] = 8, + [4230] = 8, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(360), 1, + ACTIONS(390), 1, anon_sym_vec, - ACTIONS(362), 1, + ACTIONS(392), 1, anon_sym_map, - STATE(12), 1, + STATE(18), 1, sym_type, STATE(21), 1, sym_primitive_type, - STATE(44), 1, - sym_identifier, STATE(46), 1, sym_type_name, + STATE(48), 1, + sym_identifier, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3321] = 5, + [4259] = 5, ACTIONS(31), 1, aux_sym_identifier_token1, STATE(21), 1, sym_primitive_type, - ACTIONS(200), 2, + ACTIONS(398), 2, anon_sym_PLUS_PLUS, anon_sym_EQ_EQ_EQ, - STATE(9), 2, + STATE(6), 2, sym_overloadable_operator, sym_identifier, ACTIONS(29), 5, @@ -5814,52 +6893,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - [3343] = 5, + [4281] = 7, ACTIONS(31), 1, aux_sym_identifier_token1, + ACTIONS(400), 1, + anon_sym_DOT, STATE(21), 1, sym_primitive_type, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - STATE(6), 2, - sym_overloadable_operator, + STATE(58), 1, sym_identifier, + STATE(63), 1, + sym_import_path, + STATE(133), 1, + sym_import_relative_dot, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3365] = 7, + [4307] = 5, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(364), 1, - anon_sym_DOT, STATE(21), 1, sym_primitive_type, - STATE(59), 1, + ACTIONS(398), 2, + anon_sym_PLUS_PLUS, + anon_sym_EQ_EQ_EQ, + STATE(9), 2, + sym_overloadable_operator, sym_identifier, - STATE(66), 1, - sym_import_path, - STATE(109), 1, - sym_import_relative_dot, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3391] = 6, + [4329] = 6, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(366), 1, + ACTIONS(402), 1, anon_sym_RPAREN, STATE(21), 1, sym_primitive_type, - STATE(143), 1, + STATE(147), 1, sym_identifier, - STATE(149), 1, + STATE(152), 1, sym_param, ACTIONS(29), 5, anon_sym_any, @@ -5867,16 +6946,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - [3414] = 6, + [4352] = 6, ACTIONS(31), 1, aux_sym_identifier_token1, - ACTIONS(368), 1, + ACTIONS(404), 1, anon_sym_RPAREN, STATE(21), 1, sym_primitive_type, - STATE(143), 1, + STATE(147), 1, sym_identifier, - STATE(149), 1, + STATE(152), 1, sym_param, ACTIONS(29), 5, anon_sym_any, @@ -5884,27 +6963,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - [3437] = 5, + [4375] = 5, ACTIONS(31), 1, aux_sym_identifier_token1, STATE(21), 1, sym_primitive_type, - STATE(143), 1, + STATE(58), 1, sym_identifier, - STATE(149), 1, - sym_param, + STATE(75), 1, + sym_import_path, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3457] = 5, + [4395] = 5, ACTIONS(31), 1, aux_sym_identifier_token1, STATE(21), 1, sym_primitive_type, - STATE(59), 1, + STATE(58), 1, sym_identifier, STATE(74), 1, sym_import_path, @@ -5914,56 +6993,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - [3477] = 5, + [4415] = 5, ACTIONS(31), 1, aux_sym_identifier_token1, STATE(21), 1, sym_primitive_type, - STATE(59), 1, + STATE(147), 1, sym_identifier, - STATE(84), 1, - sym_import_path, + STATE(152), 1, + sym_param, ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3497] = 7, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, - anon_sym_LPAREN, - ACTIONS(370), 1, - anon_sym_RPAREN, - ACTIONS(372), 1, - anon_sym_COMMA, - STATE(24), 1, - sym_overloadable_operator, - STATE(144), 1, - aux_sym_arg_list_repeat1, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3520] = 4, - ACTIONS(31), 1, + [4435] = 4, + ACTIONS(258), 1, aux_sym_identifier_token1, - STATE(13), 1, - sym_identifier, - STATE(21), 1, + STATE(105), 1, sym_primitive_type, - ACTIONS(29), 5, + STATE(108), 1, + sym_identifier, + ACTIONS(256), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [3537] = 4, + [4452] = 4, ACTIONS(31), 1, aux_sym_identifier_token1, STATE(21), 1, sym_primitive_type, - STATE(31), 1, + STATE(33), 1, sym_identifier, ACTIONS(29), 5, anon_sym_any, @@ -5971,7 +7034,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - [3554] = 4, + [4469] = 4, ACTIONS(31), 1, aux_sym_identifier_token1, STATE(19), 1, @@ -5984,734 +7047,542 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_str, anon_sym_bool, anon_sym_void, - [3571] = 4, - ACTIONS(262), 1, + [4486] = 4, + ACTIONS(31), 1, aux_sym_identifier_token1, - STATE(127), 1, + STATE(13), 1, sym_identifier, - STATE(139), 1, + STATE(21), 1, sym_primitive_type, - ACTIONS(260), 5, - anon_sym_any, - anon_sym_int, - anon_sym_str, - anon_sym_bool, - anon_sym_void, - [3588] = 5, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, - anon_sym_LPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(374), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [3606] = 6, - ACTIONS(376), 1, - anon_sym_DOT, - ACTIONS(378), 1, - anon_sym_LPAREN, - ACTIONS(380), 1, - anon_sym_COMMA, - ACTIONS(382), 1, - anon_sym_RBRACK, - STATE(133), 1, - sym_overloadable_operator, - ACTIONS(384), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3626] = 5, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, - anon_sym_LPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - ACTIONS(386), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [3644] = 3, - ACTIONS(390), 1, - anon_sym_COLON, - ACTIONS(388), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - ACTIONS(136), 4, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3658] = 5, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, - anon_sym_LPAREN, - ACTIONS(392), 1, - anon_sym_RPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3675] = 1, - ACTIONS(124), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3684] = 5, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, - anon_sym_LPAREN, - ACTIONS(218), 1, - anon_sym_COLON, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3701] = 5, - ACTIONS(196), 1, - anon_sym_DOT, - ACTIONS(198), 1, - anon_sym_LPAREN, - ACTIONS(394), 1, - anon_sym_RPAREN, - STATE(24), 1, - sym_overloadable_operator, - ACTIONS(200), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3718] = 1, - ACTIONS(148), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3727] = 1, - ACTIONS(152), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3736] = 1, - ACTIONS(172), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3745] = 1, - ACTIONS(160), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3754] = 1, - ACTIONS(140), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3763] = 1, - ACTIONS(396), 6, + ACTIONS(29), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - aux_sym_identifier_token1, - [3772] = 1, - ACTIONS(144), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3781] = 1, - ACTIONS(176), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3790] = 4, - STATE(132), 1, + [4503] = 4, + STATE(140), 1, sym_qualifier, - STATE(148), 1, + STATE(149), 1, sym_qualifier_list, - ACTIONS(398), 2, + ACTIONS(406), 2, anon_sym_extern, anon_sym_pure, - ACTIONS(400), 2, + ACTIONS(408), 2, anon_sym_fn, anon_sym_class, - [3805] = 1, - ACTIONS(132), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3814] = 1, - ACTIONS(156), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3823] = 1, - ACTIONS(128), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3832] = 1, - ACTIONS(136), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3841] = 1, - ACTIONS(164), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3850] = 1, - ACTIONS(168), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3859] = 1, - ACTIONS(120), 6, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - [3868] = 1, - ACTIONS(402), 4, + [4518] = 1, + ACTIONS(410), 6, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + aux_sym_identifier_token1, + [4527] = 1, + ACTIONS(412), 4, anon_sym_extern, anon_sym_pure, anon_sym_fn, anon_sym_class, - [3875] = 3, - ACTIONS(374), 1, + [4534] = 3, + ACTIONS(376), 1, anon_sym_RPAREN, - ACTIONS(404), 1, + ACTIONS(414), 1, anon_sym_COMMA, - STATE(141), 1, + STATE(143), 1, aux_sym_arg_list_repeat1, - [3885] = 3, - ACTIONS(407), 1, + [4544] = 3, + ACTIONS(417), 1, anon_sym_RPAREN, - ACTIONS(409), 1, + ACTIONS(419), 1, anon_sym_COMMA, - STATE(146), 1, + STATE(148), 1, aux_sym_param_list_repeat1, - [3895] = 2, - ACTIONS(390), 1, - anon_sym_COLON, - ACTIONS(388), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [3903] = 3, - ACTIONS(322), 1, + [4554] = 3, + ACTIONS(318), 1, anon_sym_RPAREN, - ACTIONS(411), 1, + ACTIONS(421), 1, anon_sym_COMMA, - STATE(141), 1, + STATE(143), 1, aux_sym_arg_list_repeat1, - [3913] = 3, - ACTIONS(413), 1, + [4564] = 3, + ACTIONS(423), 1, anon_sym_RPAREN, - ACTIONS(415), 1, + ACTIONS(425), 1, anon_sym_COMMA, - STATE(145), 1, + STATE(146), 1, aux_sym_param_list_repeat1, - [3923] = 3, - ACTIONS(368), 1, + [4574] = 2, + ACTIONS(380), 1, + anon_sym_COLON, + ACTIONS(378), 2, anon_sym_RPAREN, - ACTIONS(418), 1, anon_sym_COMMA, - STATE(145), 1, - aux_sym_param_list_repeat1, - [3933] = 2, - ACTIONS(420), 1, - anon_sym_RBRACE, - ACTIONS(422), 1, + [4582] = 3, + ACTIONS(402), 1, + anon_sym_RPAREN, + ACTIONS(428), 1, anon_sym_COMMA, - [3940] = 1, - ACTIONS(424), 2, + STATE(146), 1, + aux_sym_param_list_repeat1, + [4592] = 1, + ACTIONS(430), 2, anon_sym_fn, anon_sym_class, - [3945] = 1, - ACTIONS(413), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [3950] = 1, - ACTIONS(426), 2, + [4597] = 1, + ACTIONS(432), 2, anon_sym_RPAREN, anon_sym_COMMA, - [3955] = 2, - ACTIONS(428), 1, - anon_sym_fn, - ACTIONS(430), 1, - anon_sym_class, - [3962] = 1, - ACTIONS(432), 1, - anon_sym_GT, - [3966] = 1, + [4602] = 2, ACTIONS(434), 1, - ts_builtin_sym_end, - [3970] = 1, + anon_sym_fn, ACTIONS(436), 1, + anon_sym_class, + [4609] = 1, + ACTIONS(423), 2, anon_sym_RPAREN, - [3974] = 1, - ACTIONS(438), 1, anon_sym_COMMA, - [3978] = 1, + [4614] = 2, + ACTIONS(438), 1, + anon_sym_RBRACE, ACTIONS(440), 1, - anon_sym_GT, - [3982] = 1, + anon_sym_COMMA, + [4621] = 1, ACTIONS(442), 1, - anon_sym_RBRACK, - [3986] = 1, + anon_sym_GT, + [4625] = 1, ACTIONS(444), 1, - anon_sym_RBRACE, - [3990] = 1, + anon_sym_GT, + [4629] = 1, ACTIONS(446), 1, anon_sym_RPAREN, - [3994] = 1, + [4633] = 1, ACTIONS(448), 1, - anon_sym_RBRACE, - [3998] = 1, + ts_builtin_sym_end, + [4637] = 1, ACTIONS(450), 1, - sym_doc_comment_content, - [4002] = 1, + anon_sym_RBRACK, + [4641] = 1, ACTIONS(452), 1, anon_sym_RBRACE, - [4006] = 1, + [4645] = 1, ACTIONS(454), 1, - anon_sym_RBRACK, - [4010] = 1, + anon_sym_COMMA, + [4649] = 1, + ACTIONS(114), 1, + anon_sym_GT, + [4653] = 1, + ACTIONS(118), 1, + anon_sym_GT, + [4657] = 1, ACTIONS(456), 1, - anon_sym_RBRACK, - [4014] = 1, - ACTIONS(458), 1, anon_sym_RPAREN, - [4018] = 1, + [4661] = 1, + ACTIONS(458), 1, + anon_sym_RBRACE, + [4665] = 1, ACTIONS(460), 1, + sym_doc_comment_content, + [4669] = 1, + ACTIONS(462), 1, + anon_sym_RBRACK, + [4673] = 1, + ACTIONS(464), 1, + anon_sym_RBRACK, + [4677] = 1, + ACTIONS(466), 1, anon_sym_RPAREN, + [4681] = 1, + ACTIONS(468), 1, + anon_sym_RPAREN, + [4685] = 1, + ACTIONS(470), 1, + anon_sym_RBRACE, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(20)] = 0, - [SMALL_STATE(21)] = 67, - [SMALL_STATE(22)] = 108, - [SMALL_STATE(23)] = 149, - [SMALL_STATE(24)] = 188, - [SMALL_STATE(25)] = 226, - [SMALL_STATE(26)] = 264, - [SMALL_STATE(27)] = 302, - [SMALL_STATE(28)] = 340, - [SMALL_STATE(29)] = 378, - [SMALL_STATE(30)] = 416, - [SMALL_STATE(31)] = 454, - [SMALL_STATE(32)] = 492, - [SMALL_STATE(33)] = 530, - [SMALL_STATE(34)] = 568, - [SMALL_STATE(35)] = 606, - [SMALL_STATE(36)] = 644, - [SMALL_STATE(37)] = 683, - [SMALL_STATE(38)] = 724, - [SMALL_STATE(39)] = 763, - [SMALL_STATE(40)] = 807, - [SMALL_STATE(41)] = 843, - [SMALL_STATE(42)] = 887, - [SMALL_STATE(43)] = 931, - [SMALL_STATE(44)] = 975, - [SMALL_STATE(45)] = 1011, - [SMALL_STATE(46)] = 1057, - [SMALL_STATE(47)] = 1093, - [SMALL_STATE(48)] = 1129, - [SMALL_STATE(49)] = 1167, - [SMALL_STATE(50)] = 1211, - [SMALL_STATE(51)] = 1273, - [SMALL_STATE(52)] = 1333, - [SMALL_STATE(53)] = 1395, - [SMALL_STATE(54)] = 1455, - [SMALL_STATE(55)] = 1488, - [SMALL_STATE(56)] = 1523, - [SMALL_STATE(57)] = 1580, - [SMALL_STATE(58)] = 1637, - [SMALL_STATE(59)] = 1694, - [SMALL_STATE(60)] = 1729, - [SMALL_STATE(61)] = 1786, - [SMALL_STATE(62)] = 1843, - [SMALL_STATE(63)] = 1875, - [SMALL_STATE(64)] = 1907, - [SMALL_STATE(65)] = 1939, - [SMALL_STATE(66)] = 1971, - [SMALL_STATE(67)] = 2003, - [SMALL_STATE(68)] = 2035, - [SMALL_STATE(69)] = 2067, - [SMALL_STATE(70)] = 2099, - [SMALL_STATE(71)] = 2131, - [SMALL_STATE(72)] = 2185, - [SMALL_STATE(73)] = 2217, - [SMALL_STATE(74)] = 2271, - [SMALL_STATE(75)] = 2303, - [SMALL_STATE(76)] = 2335, - [SMALL_STATE(77)] = 2367, - [SMALL_STATE(78)] = 2399, - [SMALL_STATE(79)] = 2431, - [SMALL_STATE(80)] = 2463, - [SMALL_STATE(81)] = 2517, - [SMALL_STATE(82)] = 2549, - [SMALL_STATE(83)] = 2581, - [SMALL_STATE(84)] = 2613, - [SMALL_STATE(85)] = 2645, - [SMALL_STATE(86)] = 2696, - [SMALL_STATE(87)] = 2747, - [SMALL_STATE(88)] = 2798, - [SMALL_STATE(89)] = 2849, - [SMALL_STATE(90)] = 2900, - [SMALL_STATE(91)] = 2951, - [SMALL_STATE(92)] = 3002, - [SMALL_STATE(93)] = 3031, - [SMALL_STATE(94)] = 3060, - [SMALL_STATE(95)] = 3089, - [SMALL_STATE(96)] = 3118, - [SMALL_STATE(97)] = 3147, - [SMALL_STATE(98)] = 3176, - [SMALL_STATE(99)] = 3205, - [SMALL_STATE(100)] = 3234, - [SMALL_STATE(101)] = 3263, - [SMALL_STATE(102)] = 3292, - [SMALL_STATE(103)] = 3321, - [SMALL_STATE(104)] = 3343, - [SMALL_STATE(105)] = 3365, - [SMALL_STATE(106)] = 3391, - [SMALL_STATE(107)] = 3414, - [SMALL_STATE(108)] = 3437, - [SMALL_STATE(109)] = 3457, - [SMALL_STATE(110)] = 3477, - [SMALL_STATE(111)] = 3497, - [SMALL_STATE(112)] = 3520, - [SMALL_STATE(113)] = 3537, - [SMALL_STATE(114)] = 3554, - [SMALL_STATE(115)] = 3571, - [SMALL_STATE(116)] = 3588, - [SMALL_STATE(117)] = 3606, - [SMALL_STATE(118)] = 3626, - [SMALL_STATE(119)] = 3644, - [SMALL_STATE(120)] = 3658, - [SMALL_STATE(121)] = 3675, - [SMALL_STATE(122)] = 3684, - [SMALL_STATE(123)] = 3701, - [SMALL_STATE(124)] = 3718, - [SMALL_STATE(125)] = 3727, - [SMALL_STATE(126)] = 3736, - [SMALL_STATE(127)] = 3745, - [SMALL_STATE(128)] = 3754, - [SMALL_STATE(129)] = 3763, - [SMALL_STATE(130)] = 3772, - [SMALL_STATE(131)] = 3781, - [SMALL_STATE(132)] = 3790, - [SMALL_STATE(133)] = 3805, - [SMALL_STATE(134)] = 3814, - [SMALL_STATE(135)] = 3823, - [SMALL_STATE(136)] = 3832, - [SMALL_STATE(137)] = 3841, - [SMALL_STATE(138)] = 3850, - [SMALL_STATE(139)] = 3859, - [SMALL_STATE(140)] = 3868, - [SMALL_STATE(141)] = 3875, - [SMALL_STATE(142)] = 3885, - [SMALL_STATE(143)] = 3895, - [SMALL_STATE(144)] = 3903, - [SMALL_STATE(145)] = 3913, - [SMALL_STATE(146)] = 3923, - [SMALL_STATE(147)] = 3933, - [SMALL_STATE(148)] = 3940, - [SMALL_STATE(149)] = 3945, - [SMALL_STATE(150)] = 3950, - [SMALL_STATE(151)] = 3955, - [SMALL_STATE(152)] = 3962, - [SMALL_STATE(153)] = 3966, - [SMALL_STATE(154)] = 3970, - [SMALL_STATE(155)] = 3974, - [SMALL_STATE(156)] = 3978, - [SMALL_STATE(157)] = 3982, - [SMALL_STATE(158)] = 3986, - [SMALL_STATE(159)] = 3990, - [SMALL_STATE(160)] = 3994, - [SMALL_STATE(161)] = 3998, - [SMALL_STATE(162)] = 4002, - [SMALL_STATE(163)] = 4006, - [SMALL_STATE(164)] = 4010, - [SMALL_STATE(165)] = 4014, - [SMALL_STATE(166)] = 4018, + [SMALL_STATE(21)] = 51, + [SMALL_STATE(22)] = 102, + [SMALL_STATE(23)] = 158, + [SMALL_STATE(24)] = 207, + [SMALL_STATE(25)] = 256, + [SMALL_STATE(26)] = 305, + [SMALL_STATE(27)] = 354, + [SMALL_STATE(28)] = 403, + [SMALL_STATE(29)] = 452, + [SMALL_STATE(30)] = 501, + [SMALL_STATE(31)] = 550, + [SMALL_STATE(32)] = 599, + [SMALL_STATE(33)] = 648, + [SMALL_STATE(34)] = 697, + [SMALL_STATE(35)] = 749, + [SMALL_STATE(36)] = 800, + [SMALL_STATE(37)] = 859, + [SMALL_STATE(38)] = 916, + [SMALL_STATE(39)] = 973, + [SMALL_STATE(40)] = 1030, + [SMALL_STATE(41)] = 1087, + [SMALL_STATE(42)] = 1144, + [SMALL_STATE(43)] = 1211, + [SMALL_STATE(44)] = 1250, + [SMALL_STATE(45)] = 1289, + [SMALL_STATE(46)] = 1325, + [SMALL_STATE(47)] = 1361, + [SMALL_STATE(48)] = 1397, + [SMALL_STATE(49)] = 1433, + [SMALL_STATE(50)] = 1493, + [SMALL_STATE(51)] = 1553, + [SMALL_STATE(52)] = 1615, + [SMALL_STATE(53)] = 1677, + [SMALL_STATE(54)] = 1710, + [SMALL_STATE(55)] = 1767, + [SMALL_STATE(56)] = 1824, + [SMALL_STATE(57)] = 1859, + [SMALL_STATE(58)] = 1916, + [SMALL_STATE(59)] = 1951, + [SMALL_STATE(60)] = 2008, + [SMALL_STATE(61)] = 2065, + [SMALL_STATE(62)] = 2097, + [SMALL_STATE(63)] = 2129, + [SMALL_STATE(64)] = 2161, + [SMALL_STATE(65)] = 2193, + [SMALL_STATE(66)] = 2225, + [SMALL_STATE(67)] = 2257, + [SMALL_STATE(68)] = 2289, + [SMALL_STATE(69)] = 2321, + [SMALL_STATE(70)] = 2353, + [SMALL_STATE(71)] = 2385, + [SMALL_STATE(72)] = 2439, + [SMALL_STATE(73)] = 2471, + [SMALL_STATE(74)] = 2503, + [SMALL_STATE(75)] = 2535, + [SMALL_STATE(76)] = 2567, + [SMALL_STATE(77)] = 2599, + [SMALL_STATE(78)] = 2653, + [SMALL_STATE(79)] = 2685, + [SMALL_STATE(80)] = 2717, + [SMALL_STATE(81)] = 2749, + [SMALL_STATE(82)] = 2803, + [SMALL_STATE(83)] = 2835, + [SMALL_STATE(84)] = 2867, + [SMALL_STATE(85)] = 2918, + [SMALL_STATE(86)] = 2969, + [SMALL_STATE(87)] = 3000, + [SMALL_STATE(88)] = 3051, + [SMALL_STATE(89)] = 3102, + [SMALL_STATE(90)] = 3153, + [SMALL_STATE(91)] = 3204, + [SMALL_STATE(92)] = 3255, + [SMALL_STATE(93)] = 3306, + [SMALL_STATE(94)] = 3357, + [SMALL_STATE(95)] = 3393, + [SMALL_STATE(96)] = 3424, + [SMALL_STATE(97)] = 3457, + [SMALL_STATE(98)] = 3488, + [SMALL_STATE(99)] = 3517, + [SMALL_STATE(100)] = 3544, + [SMALL_STATE(101)] = 3566, + [SMALL_STATE(102)] = 3596, + [SMALL_STATE(103)] = 3626, + [SMALL_STATE(104)] = 3648, + [SMALL_STATE(105)] = 3670, + [SMALL_STATE(106)] = 3692, + [SMALL_STATE(107)] = 3714, + [SMALL_STATE(108)] = 3736, + [SMALL_STATE(109)] = 3758, + [SMALL_STATE(110)] = 3780, + [SMALL_STATE(111)] = 3802, + [SMALL_STATE(112)] = 3824, + [SMALL_STATE(113)] = 3854, + [SMALL_STATE(114)] = 3876, + [SMALL_STATE(115)] = 3898, + [SMALL_STATE(116)] = 3920, + [SMALL_STATE(117)] = 3940, + [SMALL_STATE(118)] = 3969, + [SMALL_STATE(119)] = 3998, + [SMALL_STATE(120)] = 4027, + [SMALL_STATE(121)] = 4056, + [SMALL_STATE(122)] = 4085, + [SMALL_STATE(123)] = 4114, + [SMALL_STATE(124)] = 4143, + [SMALL_STATE(125)] = 4172, + [SMALL_STATE(126)] = 4201, + [SMALL_STATE(127)] = 4230, + [SMALL_STATE(128)] = 4259, + [SMALL_STATE(129)] = 4281, + [SMALL_STATE(130)] = 4307, + [SMALL_STATE(131)] = 4329, + [SMALL_STATE(132)] = 4352, + [SMALL_STATE(133)] = 4375, + [SMALL_STATE(134)] = 4395, + [SMALL_STATE(135)] = 4415, + [SMALL_STATE(136)] = 4435, + [SMALL_STATE(137)] = 4452, + [SMALL_STATE(138)] = 4469, + [SMALL_STATE(139)] = 4486, + [SMALL_STATE(140)] = 4503, + [SMALL_STATE(141)] = 4518, + [SMALL_STATE(142)] = 4527, + [SMALL_STATE(143)] = 4534, + [SMALL_STATE(144)] = 4544, + [SMALL_STATE(145)] = 4554, + [SMALL_STATE(146)] = 4564, + [SMALL_STATE(147)] = 4574, + [SMALL_STATE(148)] = 4582, + [SMALL_STATE(149)] = 4592, + [SMALL_STATE(150)] = 4597, + [SMALL_STATE(151)] = 4602, + [SMALL_STATE(152)] = 4609, + [SMALL_STATE(153)] = 4614, + [SMALL_STATE(154)] = 4621, + [SMALL_STATE(155)] = 4625, + [SMALL_STATE(156)] = 4629, + [SMALL_STATE(157)] = 4633, + [SMALL_STATE(158)] = 4637, + [SMALL_STATE(159)] = 4641, + [SMALL_STATE(160)] = 4645, + [SMALL_STATE(161)] = 4649, + [SMALL_STATE(162)] = 4653, + [SMALL_STATE(163)] = 4657, + [SMALL_STATE(164)] = 4661, + [SMALL_STATE(165)] = 4665, + [SMALL_STATE(166)] = 4669, + [SMALL_STATE(167)] = 4673, + [SMALL_STATE(168)] = 4677, + [SMALL_STATE(169)] = 4681, + [SMALL_STATE(170)] = 4685, }; 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(82), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(82), - [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(161), + [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(83), + [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(165), [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2), - [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(105), - [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(140), - [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(104), - [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(86), - [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(112), - [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(91), - [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(87), - [73] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(20), - [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(58), - [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(22), + [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(129), + [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(142), + [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(128), + [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(92), + [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(139), + [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(85), + [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(84), + [73] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(42), + [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(55), + [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(20), [82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(21), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(33), - [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(32), - [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(33), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(28), + [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(23), + [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(28), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 1), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 1), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), - [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_overloadable_operator, 1), - [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_overloadable_operator, 1), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 2, .production_id = 6), - [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 2, .production_id = 6), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 10), - [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 10), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2), - [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 4, .production_id = 18), - [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 4, .production_id = 18), - [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 3, .production_id = 12), - [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 3, .production_id = 12), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec, 2), - [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vec, 2), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access_list, 3, .production_id = 11), - [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access_list, 3, .production_id = 11), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool, 1), - [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool, 1), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec, 3), - [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vec, 3), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), - [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), - [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1), - [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1), - [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), - [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), - [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), - [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 4), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print, 2, .production_id = 3), - [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_print, 2, .production_id = 3), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert, 2, .production_id = 4), - [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert, 2, .production_id = 4), - [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2, .production_id = 5), - [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2, .production_id = 5), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 6), - [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 6), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 13), - [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, .production_id = 13), - [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 3), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declaration, 3), - [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), - [258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), - [260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), - [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), - [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), - [268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), - [270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_path, 1, .production_id = 2), - [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_path, 1, .production_id = 2), - [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 28), - [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 28), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 7), - [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, .production_id = 7), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 21), - [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 21), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doc_comment, 2), - [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doc_comment, 2), - [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, .production_id = 1), - [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, .production_id = 1), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 23), - [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 23), - [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 4, .production_id = 17), - [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 4, .production_id = 17), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 24), - [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 24), - [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 17), - [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 17), - [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 3), - [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 26), - [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 26), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 2), - [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3, .production_id = 8), - [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 3, .production_id = 8), - [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 27), - [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 27), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 20), - [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 20), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 9), - [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 9), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 25), - [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 25), - [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 3, .production_id = 9), - [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 3, .production_id = 9), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 19), - [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 19), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, .production_id = 29), - [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 9, .production_id = 29), - [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_path, 3, .production_id = 15), - [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_path, 3, .production_id = 15), - [360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 3), - [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 2), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 1), - [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arg_list_repeat1, 2), - [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 1), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item, 3, .production_id = 14), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 1, .production_id = 16), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_relative_dot, 1), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier_list, 1), - [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier, 1), - [404] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arg_list_repeat1, 2), SHIFT_REPEAT(89), - [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 1), - [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), - [415] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), SHIFT_REPEAT(108), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item_list, 1), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier_list, 2), - [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 3, .production_id = 22), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [434] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), + [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 12), + [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 12), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool, 1), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool, 1), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 9), + [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 9), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 4, .production_id = 18), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 4, .production_id = 18), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec, 3), + [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vec, 3), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), + [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), + [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 3, .production_id = 11), + [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 3, .production_id = 11), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec, 2), + [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vec, 2), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access_list, 3, .production_id = 10), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access_list, 3, .production_id = 10), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 13), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, .production_id = 13), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2, .production_id = 5), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2, .production_id = 5), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print, 2, .production_id = 3), + [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_print, 2, .production_id = 3), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert, 2, .production_id = 4), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert, 2, .production_id = 4), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 1), + [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 1), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1), + [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), + [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 4), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 6), + [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 6), + [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 3), + [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declaration, 3), + [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [252] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [264] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_path, 1, .production_id = 2), + [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_path, 1, .production_id = 2), + [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 6), + [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, .production_id = 6), + [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 19), + [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 19), + [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, .production_id = 1), + [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, .production_id = 1), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, .production_id = 29), + [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 9, .production_id = 29), + [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 28), + [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 28), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 27), + [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 27), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 26), + [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 26), + [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doc_comment, 2), + [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doc_comment, 2), + [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 25), + [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 25), + [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 20), + [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 20), + [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 2), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 4, .production_id = 17), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 4, .production_id = 17), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 17), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 17), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_path, 3, .production_id = 15), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_path, 3, .production_id = 15), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3, .production_id = 7), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 3, .production_id = 7), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 24), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 24), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 3), + [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 8), + [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 8), + [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 23), + [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 23), + [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 3, .production_id = 8), + [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 3, .production_id = 8), + [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 21), + [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 21), + [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_overloadable_operator, 1), + [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_overloadable_operator, 1), + [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 1), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item, 3, .production_id = 14), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 1), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arg_list_repeat1, 2), + [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 1, .production_id = 16), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), + [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), + [390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), + [392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 2), + [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 3), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier_list, 1), + [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_relative_dot, 1), + [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier, 1), + [414] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arg_list_repeat1, 2), SHIFT_REPEAT(89), + [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 1), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), + [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), SHIFT_REPEAT(135), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier_list, 2), + [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 3, .production_id = 22), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item_list, 1), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [448] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item_list, 3), - [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3), - [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), }; #ifdef __cplusplus diff --git a/hello_world.fl b/hello_world.fl index f1eb8e3..5d0ff65 100644 --- a/hello_world.fl +++ b/hello_world.fl @@ -1,5 +1,4 @@ # import .std -a = 50 +a = 420 + 69 print a -assert a