From 506fab8896103e86803c0d6ddfe7ab324ed1c302 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Wed, 1 Jun 2022 20:52:20 +0200 Subject: [PATCH] Add type declarations For now, simplified to type aliases only. --- grammar.js | 14 + src/grammar.json | 49 + src/node-types.json | 53 + src/parser.c | 3575 ++++++++++++++++++---------------- test/corpus/declarations.txt | 14 + 5 files changed, 2004 insertions(+), 1701 deletions(-) diff --git a/grammar.js b/grammar.js index 09c0467..48af2f1 100644 --- a/grammar.js +++ b/grammar.js @@ -228,12 +228,26 @@ module.exports = grammar({ _declaration_chunk: ($) => prec.left( choice( + repeat1($.type_declaration), repeat1(choice($.function_declaration, $.primitive_declaration)), $.variable_declaration, $.import_declaration, ), ), + type_declaration: ($) => seq( + "type", + field("name", $.identifier), + "=", + field("value", $._type) + ), + + _type: ($) => choice( + $.type_alias, + ), + + type_alias: ($) => $.identifier, + function_declaration: ($) => seq( "function", $._function_declaration_common, diff --git a/src/grammar.json b/src/grammar.json index e83adc5..be3a4a8 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1045,6 +1045,13 @@ "content": { "type": "CHOICE", "members": [ + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "type_declaration" + } + }, { "type": "REPEAT1", "content": { @@ -1072,6 +1079,48 @@ ] } }, + "type_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "type" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_type" + } + } + ] + }, + "_type": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_alias" + } + ] + }, + "type_alias": { + "type": "SYMBOL", + "name": "identifier" + }, "function_declaration": { "type": "SEQ", "members": [ diff --git a/src/node-types.json b/src/node-types.json index e6dec66..14905da 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -1357,6 +1357,10 @@ "type": "primitive_declaration", "named": true }, + { + "type": "type_declaration", + "named": true + }, { "type": "variable_declaration", "named": true @@ -1740,6 +1744,10 @@ "type": "string_literal", "named": true }, + { + "type": "type_declaration", + "named": true + }, { "type": "unary_expression", "named": true @@ -1770,6 +1778,47 @@ ] } }, + { + "type": "type_alias", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "type_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_alias", + "named": true + } + ] + } + } + }, { "type": "unary_expression", "named": true, @@ -2250,6 +2299,10 @@ "type": "to", "named": false }, + { + "type": "type", + "named": false + }, { "type": "var", "named": false diff --git a/src/parser.c b/src/parser.c index e8cb56b..ab32eb1 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 131 +#define STATE_COUNT 137 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 78 +#define SYMBOL_COUNT 83 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 46 +#define TOKEN_COUNT 47 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 24 #define MAX_ALIAS_SEQUENCE_LENGTH 8 @@ -57,43 +57,48 @@ enum { anon_sym_let = 38, anon_sym_in = 39, anon_sym_end = 40, - anon_sym_function = 41, - anon_sym_primitive = 42, - anon_sym_COLON = 43, - anon_sym_var = 44, - anon_sym_import = 45, - sym_source_file = 46, - sym__expr = 47, - sym_string_literal = 48, - sym__lvalue = 49, - sym_record_value = 50, - sym_array_value = 51, - sym_function_call = 52, - sym_unary_expression = 53, - sym_binary_expression = 54, - sym_sequence_expression = 55, - sym_array_expression = 56, - sym_record_expression = 57, - sym_assignment_expression = 58, - sym_if_expression = 59, - sym_while_expression = 60, - sym_for_expression = 61, - sym_let_expression = 62, - aux_sym__declaration_chunks = 63, - sym__declaration_chunk = 64, - sym_function_declaration = 65, - sym_primitive_declaration = 66, - sym__function_declaration_common = 67, - sym_parameters = 68, - sym__typed_field = 69, - sym_variable_declaration = 70, - sym_import_declaration = 71, - aux_sym_string_literal_repeat1 = 72, - aux_sym_function_call_repeat1 = 73, - aux_sym_sequence_expression_repeat1 = 74, - aux_sym_record_expression_repeat1 = 75, - aux_sym__declaration_chunk_repeat1 = 76, - aux_sym_parameters_repeat1 = 77, + anon_sym_type = 41, + anon_sym_function = 42, + anon_sym_primitive = 43, + anon_sym_COLON = 44, + anon_sym_var = 45, + anon_sym_import = 46, + sym_source_file = 47, + sym__expr = 48, + sym_string_literal = 49, + sym__lvalue = 50, + sym_record_value = 51, + sym_array_value = 52, + sym_function_call = 53, + sym_unary_expression = 54, + sym_binary_expression = 55, + sym_sequence_expression = 56, + sym_array_expression = 57, + sym_record_expression = 58, + sym_assignment_expression = 59, + sym_if_expression = 60, + sym_while_expression = 61, + sym_for_expression = 62, + sym_let_expression = 63, + aux_sym__declaration_chunks = 64, + sym__declaration_chunk = 65, + sym_type_declaration = 66, + sym__type = 67, + sym_type_alias = 68, + sym_function_declaration = 69, + sym_primitive_declaration = 70, + sym__function_declaration_common = 71, + sym_parameters = 72, + sym__typed_field = 73, + sym_variable_declaration = 74, + sym_import_declaration = 75, + aux_sym_string_literal_repeat1 = 76, + aux_sym_function_call_repeat1 = 77, + aux_sym_sequence_expression_repeat1 = 78, + aux_sym_record_expression_repeat1 = 79, + aux_sym__declaration_chunk_repeat1 = 80, + aux_sym__declaration_chunk_repeat2 = 81, + aux_sym_parameters_repeat1 = 82, }; static const char * const ts_symbol_names[] = { @@ -138,6 +143,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_let] = "let", [anon_sym_in] = "in", [anon_sym_end] = "end", + [anon_sym_type] = "type", [anon_sym_function] = "function", [anon_sym_primitive] = "primitive", [anon_sym_COLON] = ":", @@ -162,6 +168,9 @@ static const char * const ts_symbol_names[] = { [sym_let_expression] = "let_expression", [aux_sym__declaration_chunks] = "_declaration_chunks", [sym__declaration_chunk] = "_declaration_chunk", + [sym_type_declaration] = "type_declaration", + [sym__type] = "_type", + [sym_type_alias] = "type_alias", [sym_function_declaration] = "function_declaration", [sym_primitive_declaration] = "primitive_declaration", [sym__function_declaration_common] = "_function_declaration_common", @@ -174,6 +183,7 @@ static const char * const ts_symbol_names[] = { [aux_sym_sequence_expression_repeat1] = "sequence_expression_repeat1", [aux_sym_record_expression_repeat1] = "record_expression_repeat1", [aux_sym__declaration_chunk_repeat1] = "_declaration_chunk_repeat1", + [aux_sym__declaration_chunk_repeat2] = "_declaration_chunk_repeat2", [aux_sym_parameters_repeat1] = "parameters_repeat1", }; @@ -219,6 +229,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_let] = anon_sym_let, [anon_sym_in] = anon_sym_in, [anon_sym_end] = anon_sym_end, + [anon_sym_type] = anon_sym_type, [anon_sym_function] = anon_sym_function, [anon_sym_primitive] = anon_sym_primitive, [anon_sym_COLON] = anon_sym_COLON, @@ -243,6 +254,9 @@ static const TSSymbol ts_symbol_map[] = { [sym_let_expression] = sym_let_expression, [aux_sym__declaration_chunks] = aux_sym__declaration_chunks, [sym__declaration_chunk] = sym__declaration_chunk, + [sym_type_declaration] = sym_type_declaration, + [sym__type] = sym__type, + [sym_type_alias] = sym_type_alias, [sym_function_declaration] = sym_function_declaration, [sym_primitive_declaration] = sym_primitive_declaration, [sym__function_declaration_common] = sym__function_declaration_common, @@ -255,6 +269,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_sequence_expression_repeat1] = aux_sym_sequence_expression_repeat1, [aux_sym_record_expression_repeat1] = aux_sym_record_expression_repeat1, [aux_sym__declaration_chunk_repeat1] = aux_sym__declaration_chunk_repeat1, + [aux_sym__declaration_chunk_repeat2] = aux_sym__declaration_chunk_repeat2, [aux_sym_parameters_repeat1] = aux_sym_parameters_repeat1, }; @@ -423,6 +438,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_type] = { + .visible = true, + .named = false, + }, [anon_sym_function] = { .visible = true, .named = false, @@ -519,6 +538,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym_type_declaration] = { + .visible = true, + .named = true, + }, + [sym__type] = { + .visible = false, + .named = true, + }, + [sym_type_alias] = { + .visible = true, + .named = true, + }, [sym_function_declaration] = { .visible = true, .named = true, @@ -567,6 +598,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym__declaration_chunk_repeat2] = { + .visible = false, + .named = false, + }, [aux_sym_parameters_repeat1] = { .visible = false, .named = false, @@ -643,8 +678,8 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [12] = {.index = 20, .length = 2}, [13] = {.index = 22, .length = 1}, [14] = {.index = 23, .length = 1}, - [15] = {.index = 24, .length = 3}, - [16] = {.index = 27, .length = 2}, + [15] = {.index = 24, .length = 2}, + [16] = {.index = 26, .length = 3}, [17] = {.index = 29, .length = 2}, [18] = {.index = 31, .length = 3}, [19] = {.index = 34, .length = 2}, @@ -705,12 +740,12 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [23] = {field_declarations, 1}, [24] = + {field_name, 1}, + {field_value, 3}, + [26] = {field_body, 3}, {field_name, 1, .inherited = true}, {field_parameters, 1, .inherited = true}, - [27] = - {field_name, 1}, - {field_value, 3}, [29] = {field_array, 0}, {field_index, 2}, @@ -1109,158 +1144,168 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { case 10: if (lookahead == 'h') ADVANCE(26); if (lookahead == 'o') ADVANCE(27); + if (lookahead == 'y') ADVANCE(28); END_STATE(); case 11: - if (lookahead == 'a') ADVANCE(28); + if (lookahead == 'a') ADVANCE(29); END_STATE(); case 12: - if (lookahead == 'h') ADVANCE(29); + if (lookahead == 'h') ADVANCE(30); END_STATE(); case 13: - if (lookahead == 'e') ADVANCE(30); + if (lookahead == 'e') ADVANCE(31); END_STATE(); case 14: ACCEPT_TOKEN(anon_sym_do); END_STATE(); case 15: - if (lookahead == 's') ADVANCE(31); + if (lookahead == 's') ADVANCE(32); END_STATE(); case 16: - if (lookahead == 'd') ADVANCE(32); + if (lookahead == 'd') ADVANCE(33); END_STATE(); case 17: - if (lookahead == 'r') ADVANCE(33); + if (lookahead == 'r') ADVANCE(34); END_STATE(); case 18: - if (lookahead == 'n') ADVANCE(34); + if (lookahead == 'n') ADVANCE(35); END_STATE(); case 19: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 20: - if (lookahead == 'p') ADVANCE(35); + if (lookahead == 'p') ADVANCE(36); END_STATE(); case 21: ACCEPT_TOKEN(anon_sym_in); END_STATE(); case 22: - if (lookahead == 't') ADVANCE(36); + if (lookahead == 't') ADVANCE(37); END_STATE(); case 23: - if (lookahead == 'l') ADVANCE(37); + if (lookahead == 'l') ADVANCE(38); END_STATE(); case 24: ACCEPT_TOKEN(anon_sym_of); END_STATE(); case 25: - if (lookahead == 'i') ADVANCE(38); + if (lookahead == 'i') ADVANCE(39); END_STATE(); case 26: - if (lookahead == 'e') ADVANCE(39); + if (lookahead == 'e') ADVANCE(40); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_to); END_STATE(); case 28: - if (lookahead == 'r') ADVANCE(40); + if (lookahead == 'p') ADVANCE(41); END_STATE(); case 29: - if (lookahead == 'i') ADVANCE(41); + if (lookahead == 'r') ADVANCE(42); END_STATE(); case 30: - if (lookahead == 'a') ADVANCE(42); + if (lookahead == 'i') ADVANCE(43); END_STATE(); case 31: - if (lookahead == 'e') ADVANCE(43); + if (lookahead == 'a') ADVANCE(44); END_STATE(); case 32: - ACCEPT_TOKEN(anon_sym_end); + if (lookahead == 'e') ADVANCE(45); END_STATE(); case 33: - ACCEPT_TOKEN(anon_sym_for); + ACCEPT_TOKEN(anon_sym_end); END_STATE(); case 34: - if (lookahead == 'c') ADVANCE(44); + ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 35: - if (lookahead == 'o') ADVANCE(45); + if (lookahead == 'c') ADVANCE(46); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_let); + if (lookahead == 'o') ADVANCE(47); END_STATE(); case 37: - ACCEPT_TOKEN(sym_nil_literal); + ACCEPT_TOKEN(anon_sym_let); END_STATE(); case 38: - if (lookahead == 'm') ADVANCE(46); + ACCEPT_TOKEN(sym_nil_literal); END_STATE(); case 39: - if (lookahead == 'n') ADVANCE(47); + if (lookahead == 'm') ADVANCE(48); END_STATE(); case 40: - ACCEPT_TOKEN(anon_sym_var); + if (lookahead == 'n') ADVANCE(49); END_STATE(); case 41: - if (lookahead == 'l') ADVANCE(48); + if (lookahead == 'e') ADVANCE(50); END_STATE(); case 42: - if (lookahead == 'k') ADVANCE(49); + ACCEPT_TOKEN(anon_sym_var); END_STATE(); case 43: - ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 'l') ADVANCE(51); END_STATE(); case 44: - if (lookahead == 't') ADVANCE(50); + if (lookahead == 'k') ADVANCE(52); END_STATE(); case 45: - if (lookahead == 'r') ADVANCE(51); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 46: - if (lookahead == 'i') ADVANCE(52); + if (lookahead == 't') ADVANCE(53); END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_then); + if (lookahead == 'r') ADVANCE(54); END_STATE(); case 48: - if (lookahead == 'e') ADVANCE(53); + if (lookahead == 'i') ADVANCE(55); END_STATE(); case 49: - ACCEPT_TOKEN(sym_break_expression); + ACCEPT_TOKEN(anon_sym_then); END_STATE(); case 50: - if (lookahead == 'i') ADVANCE(54); + ACCEPT_TOKEN(anon_sym_type); END_STATE(); case 51: - if (lookahead == 't') ADVANCE(55); + if (lookahead == 'e') ADVANCE(56); END_STATE(); case 52: - if (lookahead == 't') ADVANCE(56); + ACCEPT_TOKEN(sym_break_expression); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_while); + if (lookahead == 'i') ADVANCE(57); END_STATE(); case 54: - if (lookahead == 'o') ADVANCE(57); + if (lookahead == 't') ADVANCE(58); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_import); + if (lookahead == 't') ADVANCE(59); END_STATE(); case 56: - if (lookahead == 'i') ADVANCE(58); + ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 57: - if (lookahead == 'n') ADVANCE(59); + if (lookahead == 'o') ADVANCE(60); END_STATE(); case 58: - if (lookahead == 'v') ADVANCE(60); + ACCEPT_TOKEN(anon_sym_import); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_function); + if (lookahead == 'i') ADVANCE(61); END_STATE(); case 60: - if (lookahead == 'e') ADVANCE(61); + if (lookahead == 'n') ADVANCE(62); END_STATE(); case 61: + if (lookahead == 'v') ADVANCE(63); + END_STATE(); + case 62: + ACCEPT_TOKEN(anon_sym_function); + END_STATE(); + case 63: + if (lookahead == 'e') ADVANCE(64); + END_STATE(); + case 64: ACCEPT_TOKEN(anon_sym_primitive); END_STATE(); default: @@ -1290,23 +1335,23 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [18] = {.lex_state = 9}, [19] = {.lex_state = 9}, [20] = {.lex_state = 9}, - [21] = {.lex_state = 0}, + [21] = {.lex_state = 9}, [22] = {.lex_state = 9}, [23] = {.lex_state = 9}, [24] = {.lex_state = 9}, [25] = {.lex_state = 9}, [26] = {.lex_state = 9}, - [27] = {.lex_state = 0}, + [27] = {.lex_state = 9}, [28] = {.lex_state = 9}, - [29] = {.lex_state = 0}, + [29] = {.lex_state = 9}, [30] = {.lex_state = 9}, [31] = {.lex_state = 9}, [32] = {.lex_state = 9}, [33] = {.lex_state = 9}, [34] = {.lex_state = 9}, - [35] = {.lex_state = 9}, - [36] = {.lex_state = 9}, - [37] = {.lex_state = 9}, + [35] = {.lex_state = 0}, + [36] = {.lex_state = 0}, + [37] = {.lex_state = 0}, [38] = {.lex_state = 0}, [39] = {.lex_state = 0}, [40] = {.lex_state = 0}, @@ -1337,23 +1382,23 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [65] = {.lex_state = 9}, [66] = {.lex_state = 9}, [67] = {.lex_state = 9}, - [68] = {.lex_state = 0}, + [68] = {.lex_state = 9}, [69] = {.lex_state = 9}, [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, [72] = {.lex_state = 9}, - [73] = {.lex_state = 0}, - [74] = {.lex_state = 0}, - [75] = {.lex_state = 0}, - [76] = {.lex_state = 9}, + [73] = {.lex_state = 9}, + [74] = {.lex_state = 9}, + [75] = {.lex_state = 9}, + [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, - [78] = {.lex_state = 9}, + [78] = {.lex_state = 0}, [79] = {.lex_state = 9}, [80] = {.lex_state = 9}, [81] = {.lex_state = 0}, [82] = {.lex_state = 9}, - [83] = {.lex_state = 9}, - [84] = {.lex_state = 9}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, [85] = {.lex_state = 9}, [86] = {.lex_state = 9}, [87] = {.lex_state = 9}, @@ -1362,44 +1407,50 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [90] = {.lex_state = 9}, [91] = {.lex_state = 9}, [92] = {.lex_state = 9}, - [93] = {.lex_state = 1}, - [94] = {.lex_state = 1}, + [93] = {.lex_state = 9}, + [94] = {.lex_state = 9}, [95] = {.lex_state = 9}, [96] = {.lex_state = 1}, [97] = {.lex_state = 9}, - [98] = {.lex_state = 0}, - [99] = {.lex_state = 0}, - [100] = {.lex_state = 0}, + [98] = {.lex_state = 1}, + [99] = {.lex_state = 1}, + [100] = {.lex_state = 9}, [101] = {.lex_state = 9}, [102] = {.lex_state = 0}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, + [104] = {.lex_state = 9}, [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, - [107] = {.lex_state = 9}, - [108] = {.lex_state = 9}, - [109] = {.lex_state = 0}, - [110] = {.lex_state = 9}, + [107] = {.lex_state = 0}, + [108] = {.lex_state = 0}, + [109] = {.lex_state = 9}, + [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, [112] = {.lex_state = 9}, [113] = {.lex_state = 0}, [114] = {.lex_state = 9}, [115] = {.lex_state = 0}, - [116] = {.lex_state = 0}, + [116] = {.lex_state = 9}, [117] = {.lex_state = 9}, - [118] = {.lex_state = 9}, - [119] = {.lex_state = 9}, - [120] = {.lex_state = 9}, - [121] = {.lex_state = 0}, - [122] = {.lex_state = 9}, + [118] = {.lex_state = 0}, + [119] = {.lex_state = 0}, + [120] = {.lex_state = 0}, + [121] = {.lex_state = 9}, + [122] = {.lex_state = 0}, [123] = {.lex_state = 9}, [124] = {.lex_state = 0}, [125] = {.lex_state = 0}, - [126] = {.lex_state = 0}, + [126] = {.lex_state = 9}, [127] = {.lex_state = 0}, - [128] = {.lex_state = 0}, - [129] = {.lex_state = 0}, - [130] = {.lex_state = 9}, + [128] = {.lex_state = 9}, + [129] = {.lex_state = 9}, + [130] = {.lex_state = 0}, + [131] = {.lex_state = 0}, + [132] = {.lex_state = 0}, + [133] = {.lex_state = 9}, + [134] = {.lex_state = 9}, + [135] = {.lex_state = 0}, + [136] = {.lex_state = 9}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1444,6 +1495,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_let] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_end] = ACTIONS(1), + [anon_sym_type] = ACTIONS(1), [anon_sym_function] = ACTIONS(1), [anon_sym_primitive] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), @@ -1451,30 +1503,32 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_import] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(126), - [sym__expr] = STATE(77), - [sym_string_literal] = STATE(77), + [sym_source_file] = STATE(135), + [sym__expr] = STATE(83), + [sym_string_literal] = STATE(83), [sym__lvalue] = STATE(5), [sym_record_value] = STATE(5), [sym_array_value] = STATE(5), - [sym_function_call] = STATE(77), - [sym_unary_expression] = STATE(77), - [sym_binary_expression] = STATE(77), - [sym_sequence_expression] = STATE(77), - [sym_array_expression] = STATE(77), - [sym_record_expression] = STATE(77), - [sym_assignment_expression] = STATE(77), - [sym_if_expression] = STATE(77), - [sym_while_expression] = STATE(77), - [sym_for_expression] = STATE(77), - [sym_let_expression] = STATE(77), - [aux_sym__declaration_chunks] = STATE(85), - [sym__declaration_chunk] = STATE(85), - [sym_function_declaration] = STATE(85), - [sym_primitive_declaration] = STATE(85), - [sym_variable_declaration] = STATE(85), - [sym_import_declaration] = STATE(85), - [aux_sym__declaration_chunk_repeat1] = STATE(85), + [sym_function_call] = STATE(83), + [sym_unary_expression] = STATE(83), + [sym_binary_expression] = STATE(83), + [sym_sequence_expression] = STATE(83), + [sym_array_expression] = STATE(83), + [sym_record_expression] = STATE(83), + [sym_assignment_expression] = STATE(83), + [sym_if_expression] = STATE(83), + [sym_while_expression] = STATE(83), + [sym_for_expression] = STATE(83), + [sym_let_expression] = STATE(83), + [aux_sym__declaration_chunks] = STATE(74), + [sym__declaration_chunk] = STATE(74), + [sym_type_declaration] = STATE(74), + [sym_function_declaration] = STATE(74), + [sym_primitive_declaration] = STATE(74), + [sym_variable_declaration] = STATE(74), + [sym_import_declaration] = STATE(74), + [aux_sym__declaration_chunk_repeat1] = STATE(74), + [aux_sym__declaration_chunk_repeat2] = STATE(74), [ts_builtin_sym_end] = ACTIONS(3), [sym_identifier] = ACTIONS(5), [sym_nil_literal] = ACTIONS(7), @@ -1487,25 +1541,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_for] = ACTIONS(19), [sym_break_expression] = ACTIONS(7), [anon_sym_let] = ACTIONS(21), - [anon_sym_function] = ACTIONS(23), - [anon_sym_primitive] = ACTIONS(25), - [anon_sym_var] = ACTIONS(27), - [anon_sym_import] = ACTIONS(29), + [anon_sym_type] = ACTIONS(23), + [anon_sym_function] = ACTIONS(25), + [anon_sym_primitive] = ACTIONS(27), + [anon_sym_var] = ACTIONS(29), + [anon_sym_import] = ACTIONS(31), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 5, - ACTIONS(33), 1, + ACTIONS(35), 1, anon_sym_LBRACK, - ACTIONS(36), 1, + ACTIONS(38), 1, anon_sym_LPAREN, - ACTIONS(40), 1, + ACTIONS(42), 1, anon_sym_LBRACE, - ACTIONS(38), 2, + ACTIONS(40), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(31), 28, + ACTIONS(33), 29, ts_builtin_sym_end, anon_sym_DOT, anon_sym_RBRACK, @@ -1530,15 +1585,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [44] = 2, - ACTIONS(44), 2, + [45] = 2, + ACTIONS(46), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(42), 29, + ACTIONS(44), 30, ts_builtin_sym_end, anon_sym_DOT, anon_sym_LBRACK, @@ -1564,15 +1620,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [80] = 2, - ACTIONS(48), 2, + [82] = 2, + ACTIONS(50), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(46), 29, + ACTIONS(48), 30, ts_builtin_sym_end, anon_sym_DOT, anon_sym_LBRACK, @@ -1598,21 +1655,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [116] = 5, - ACTIONS(52), 1, - anon_sym_DOT, + [119] = 5, ACTIONS(54), 1, + anon_sym_DOT, + ACTIONS(56), 1, anon_sym_LBRACK, - ACTIONS(58), 1, + ACTIONS(60), 1, anon_sym_COLON_EQ, - ACTIONS(56), 2, + ACTIONS(58), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(50), 26, + ACTIONS(52), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1635,30 +1693,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [158] = 7, - ACTIONS(70), 1, - anon_sym_AMP, + [162] = 7, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(60), 16, + ACTIONS(62), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1671,15 +1730,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [201] = 2, - ACTIONS(76), 2, + [206] = 2, + ACTIONS(78), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(74), 26, + ACTIONS(76), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1702,15 +1762,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [234] = 2, - ACTIONS(80), 2, + [240] = 2, + ACTIONS(82), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(78), 26, + ACTIONS(80), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1733,30 +1794,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [267] = 7, - ACTIONS(70), 1, - anon_sym_AMP, + [274] = 7, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(82), 16, + ACTIONS(84), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1769,15 +1831,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [310] = 2, - ACTIONS(86), 2, + [318] = 2, + ACTIONS(88), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(84), 26, + ACTIONS(86), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1800,15 +1863,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [343] = 2, - ACTIONS(90), 2, + [352] = 2, + ACTIONS(92), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(88), 26, + ACTIONS(90), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1831,15 +1895,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [376] = 2, - ACTIONS(94), 2, + [386] = 2, + ACTIONS(96), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(92), 26, + ACTIONS(94), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1862,15 +1927,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [409] = 2, - ACTIONS(98), 2, + [420] = 2, + ACTIONS(100), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(96), 26, + ACTIONS(98), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1893,15 +1959,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [442] = 2, - ACTIONS(102), 2, + [454] = 2, + ACTIONS(104), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(100), 26, + ACTIONS(102), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1924,15 +1991,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [475] = 2, - ACTIONS(106), 2, + [488] = 2, + ACTIONS(108), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(104), 26, + ACTIONS(106), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1955,51 +2023,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [508] = 7, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(108), 16, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [551] = 2, + [522] = 2, ACTIONS(112), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(110), 26, + ACTIONS(110), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2022,99 +2055,139 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [584] = 2, - ACTIONS(116), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(114), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [617] = 7, - ACTIONS(70), 1, - anon_sym_AMP, + [556] = 7, ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(118), 16, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [660] = 8, - ACTIONS(70), 1, anon_sym_AMP, - ACTIONS(72), 1, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(122), 1, - anon_sym_else, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(120), 15, + ACTIONS(114), 17, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [600] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(116), 17, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [644] = 2, + ACTIONS(120), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(118), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [678] = 8, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(124), 1, + anon_sym_else, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(122), 16, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2126,11 +2199,475 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_to, anon_sym_in, anon_sym_end, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [705] = 12, + [724] = 2, + ACTIONS(128), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(126), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [758] = 2, + ACTIONS(132), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(130), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [792] = 2, + ACTIONS(136), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(134), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [826] = 2, + ACTIONS(140), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(138), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [860] = 2, + ACTIONS(144), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(142), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [894] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(146), 17, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [938] = 2, + ACTIONS(150), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(148), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [972] = 6, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(152), 18, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [1014] = 5, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(152), 19, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [1054] = 2, + ACTIONS(156), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(154), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [1088] = 4, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(158), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(152), 23, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [1126] = 2, + ACTIONS(158), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(152), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [1160] = 3, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(158), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(152), 25, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [1196] = 2, + ACTIONS(162), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(160), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [1230] = 12, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2147,9 +2684,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(21), 1, anon_sym_let, - ACTIONS(126), 1, - anon_sym_RPAREN, - ACTIONS(124), 3, + ACTIONS(166), 1, + anon_sym_end, + ACTIONS(164), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, @@ -2157,7 +2694,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(70), 13, + STATE(73), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2171,167 +2708,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [758] = 2, - ACTIONS(130), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(128), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [791] = 2, - ACTIONS(134), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(132), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [824] = 2, - ACTIONS(138), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(136), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [857] = 7, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(140), 16, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [900] = 2, - ACTIONS(144), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(142), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [933] = 12, + [1283] = 12, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2348,9 +2725,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(21), 1, anon_sym_let, - ACTIONS(148), 1, - anon_sym_RPAREN, - ACTIONS(146), 3, + ACTIONS(170), 1, + anon_sym_end, + ACTIONS(168), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, @@ -2372,42 +2749,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [986] = 6, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(150), 17, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1027] = 12, + [1336] = 12, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2424,9 +2766,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(21), 1, anon_sym_let, - ACTIONS(154), 1, - anon_sym_end, - ACTIONS(152), 3, + ACTIONS(174), 1, + anon_sym_RPAREN, + ACTIONS(172), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, @@ -2434,7 +2776,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(67), 13, + STATE(76), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2448,261 +2790,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1080] = 5, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(150), 18, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1119] = 4, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(156), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(150), 22, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1156] = 2, - ACTIONS(156), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(150), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1189] = 3, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(156), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(150), 24, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1224] = 2, - ACTIONS(160), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(158), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1257] = 2, - ACTIONS(164), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(162), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1290] = 2, - ACTIONS(168), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(166), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1323] = 2, - ACTIONS(172), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(170), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [1356] = 12, + [1389] = 12, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2719,9 +2807,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(21), 1, anon_sym_let, - ACTIONS(176), 1, - anon_sym_end, - ACTIONS(174), 3, + ACTIONS(178), 1, + anon_sym_RPAREN, + ACTIONS(176), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, @@ -2729,7 +2817,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(72), 13, + STATE(71), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2743,46 +2831,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1409] = 11, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(9), 1, - anon_sym_DQUOTE, - ACTIONS(11), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - anon_sym_DASH, - ACTIONS(15), 1, - anon_sym_if, - ACTIONS(17), 1, - anon_sym_while, - ACTIONS(19), 1, - anon_sym_for, - ACTIONS(21), 1, - anon_sym_let, - ACTIONS(178), 3, - sym_nil_literal, - sym_integer_literal, - sym_break_expression, - STATE(5), 3, - sym__lvalue, - sym_record_value, - sym_array_value, - STATE(6), 13, - sym__expr, - sym_string_literal, - sym_function_call, - sym_unary_expression, - sym_binary_expression, - sym_sequence_expression, - sym_array_expression, - sym_record_expression, - sym_assignment_expression, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_let_expression, - [1459] = 11, + [1442] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2807,7 +2856,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(69), 13, + STATE(6), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2821,7 +2870,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1509] = 11, + [1492] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2846,7 +2895,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(71), 13, + STATE(66), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2860,7 +2909,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1559] = 11, + [1542] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2885,7 +2934,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(33), 13, + STATE(70), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2899,7 +2948,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1609] = 11, + [1592] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2924,7 +2973,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(32), 13, + STATE(26), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2938,7 +2987,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1659] = 11, + [1642] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -2963,7 +3012,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(31), 13, + STATE(78), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2977,7 +3026,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1709] = 11, + [1692] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3002,7 +3051,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(30), 13, + STATE(33), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3016,7 +3065,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1759] = 11, + [1742] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3041,7 +3090,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(28), 13, + STATE(32), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3055,7 +3104,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1809] = 11, + [1792] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3080,7 +3129,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(25), 13, + STATE(31), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3094,7 +3143,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1859] = 11, + [1842] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3119,7 +3168,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(75), 13, + STATE(29), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3133,7 +3182,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1909] = 11, + [1892] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3158,7 +3207,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(26), 13, + STATE(28), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3172,7 +3221,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1959] = 11, + [1942] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3197,7 +3246,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(81), 13, + STATE(17), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3211,7 +3260,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2009] = 11, + [1992] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3236,7 +3285,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(73), 13, + STATE(81), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3250,7 +3299,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2059] = 11, + [2042] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3275,7 +3324,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(74), 13, + STATE(25), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3289,7 +3338,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2109] = 11, + [2092] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3314,7 +3363,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(9), 13, + STATE(84), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3328,7 +3377,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2159] = 11, + [2142] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3353,7 +3402,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(80), 13, + STATE(82), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3367,7 +3416,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2209] = 11, + [2192] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3392,7 +3441,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(16), 13, + STATE(77), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3406,7 +3455,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2259] = 11, + [2242] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3431,7 +3480,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(64), 13, + STATE(80), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3445,7 +3494,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2309] = 11, + [2292] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3470,7 +3519,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(76), 13, + STATE(64), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3484,7 +3533,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2359] = 11, + [2342] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3509,7 +3558,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(20), 13, + STATE(65), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3523,7 +3572,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2409] = 11, + [2392] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3548,7 +3597,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(19), 13, + STATE(9), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3562,7 +3611,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2459] = 11, + [2442] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3587,7 +3636,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(82), 13, + STATE(69), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3601,7 +3650,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2509] = 11, + [2492] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3626,7 +3675,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(65), 13, + STATE(85), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3640,7 +3689,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2559] = 11, + [2542] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3665,7 +3714,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(66), 13, + STATE(20), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3679,7 +3728,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2609] = 11, + [2592] = 11, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -3704,7 +3753,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(78), 13, + STATE(18), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3718,892 +3767,1006 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2659] = 7, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(62), 2, + [2642] = 11, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(9), 1, + anon_sym_DQUOTE, + ACTIONS(11), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(228), 6, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, + ACTIONS(15), 1, + anon_sym_if, + ACTIONS(17), 1, + anon_sym_while, + ACTIONS(19), 1, + anon_sym_for, + ACTIONS(21), 1, + anon_sym_let, + ACTIONS(228), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(5), 3, + sym__lvalue, + sym_record_value, + sym_array_value, + STATE(79), 13, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, [2692] = 7, - ACTIONS(70), 1, - anon_sym_AMP, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(230), 6, + ACTIONS(230), 7, ts_builtin_sym_end, anon_sym_in, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [2725] = 7, - ACTIONS(70), 1, - anon_sym_AMP, + [2726] = 7, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(232), 6, + ACTIONS(232), 7, ts_builtin_sym_end, anon_sym_in, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [2758] = 9, - ACTIONS(70), 1, - anon_sym_AMP, + [2760] = 7, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(234), 1, - anon_sym_SEMI, - ACTIONS(236), 1, - anon_sym_end, - STATE(97), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [2792] = 9, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(234), 1, - anon_sym_SEMI, + ACTIONS(234), 7, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [2794] = 7, ACTIONS(238), 1, - anon_sym_RPAREN, - STATE(99), 1, + anon_sym_type, + ACTIONS(241), 1, + anon_sym_function, + ACTIONS(244), 1, + anon_sym_primitive, + ACTIONS(247), 1, + anon_sym_var, + ACTIONS(250), 1, + anon_sym_import, + ACTIONS(236), 2, + ts_builtin_sym_end, + anon_sym_in, + STATE(67), 9, + aux_sym__declaration_chunks, + sym__declaration_chunk, + sym_type_declaration, + sym_function_declaration, + sym_primitive_declaration, + sym_variable_declaration, + sym_import_declaration, + aux_sym__declaration_chunk_repeat1, + aux_sym__declaration_chunk_repeat2, + [2825] = 9, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(253), 1, + anon_sym_SEMI, + ACTIONS(255), 1, + anon_sym_end, + STATE(104), 1, aux_sym_sequence_expression_repeat1, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [2826] = 7, - ACTIONS(70), 1, - anon_sym_AMP, + [2859] = 7, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(240), 3, + ACTIONS(257), 3, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_end, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [2856] = 9, - ACTIONS(70), 1, - anon_sym_AMP, + [2889] = 9, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(242), 1, + ACTIONS(259), 1, anon_sym_COMMA, - ACTIONS(244), 1, + ACTIONS(261), 1, + anon_sym_RBRACE, + STATE(108), 1, + aux_sym_record_expression_repeat1, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [2923] = 9, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(263), 1, + anon_sym_COMMA, + ACTIONS(265), 1, anon_sym_RPAREN, STATE(102), 1, aux_sym_function_call_repeat1, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [2890] = 9, - ACTIONS(70), 1, - anon_sym_AMP, + [2957] = 7, + ACTIONS(267), 1, + anon_sym_in, + ACTIONS(269), 1, + anon_sym_type, + ACTIONS(271), 1, + anon_sym_function, + ACTIONS(273), 1, + anon_sym_primitive, + ACTIONS(275), 1, + anon_sym_var, + ACTIONS(277), 1, + anon_sym_import, + STATE(75), 9, + aux_sym__declaration_chunks, + sym__declaration_chunk, + sym_type_declaration, + sym_function_declaration, + sym_primitive_declaration, + sym_variable_declaration, + sym_import_declaration, + aux_sym__declaration_chunk_repeat1, + aux_sym__declaration_chunk_repeat2, + [2987] = 9, ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(246), 1, - anon_sym_COMMA, - ACTIONS(248), 1, - anon_sym_RBRACE, - STATE(105), 1, - aux_sym_record_expression_repeat1, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [2924] = 9, - ACTIONS(70), 1, anon_sym_AMP, - ACTIONS(72), 1, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(234), 1, + ACTIONS(253), 1, anon_sym_SEMI, - ACTIONS(250), 1, + ACTIONS(279), 1, anon_sym_end, - STATE(107), 1, + STATE(101), 1, aux_sym_sequence_expression_repeat1, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [2958] = 7, - ACTIONS(70), 1, - anon_sym_AMP, + [3021] = 7, + ACTIONS(269), 1, + anon_sym_type, + ACTIONS(271), 1, + anon_sym_function, + ACTIONS(273), 1, + anon_sym_primitive, + ACTIONS(275), 1, + anon_sym_var, + ACTIONS(277), 1, + anon_sym_import, + ACTIONS(281), 1, + ts_builtin_sym_end, + STATE(67), 9, + aux_sym__declaration_chunks, + sym__declaration_chunk, + sym_type_declaration, + sym_function_declaration, + sym_primitive_declaration, + sym_variable_declaration, + sym_import_declaration, + aux_sym__declaration_chunk_repeat1, + aux_sym__declaration_chunk_repeat2, + [3051] = 7, + ACTIONS(269), 1, + anon_sym_type, + ACTIONS(271), 1, + anon_sym_function, + ACTIONS(273), 1, + anon_sym_primitive, + ACTIONS(275), 1, + anon_sym_var, + ACTIONS(277), 1, + anon_sym_import, + ACTIONS(283), 1, + anon_sym_in, + STATE(67), 9, + aux_sym__declaration_chunks, + sym__declaration_chunk, + sym_type_declaration, + sym_function_declaration, + sym_primitive_declaration, + sym_variable_declaration, + sym_import_declaration, + aux_sym__declaration_chunk_repeat1, + aux_sym__declaration_chunk_repeat2, + [3081] = 9, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(62), 2, + ACTIONS(253), 1, + anon_sym_SEMI, + ACTIONS(285), 1, + anon_sym_RPAREN, + STATE(110), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(252), 2, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3115] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(287), 2, anon_sym_COMMA, anon_sym_RPAREN, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [2987] = 7, - ACTIONS(70), 1, - anon_sym_AMP, + [3144] = 7, ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(254), 2, + ACTIONS(289), 2, anon_sym_COMMA, anon_sym_RBRACE, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3016] = 7, - ACTIONS(70), 1, - anon_sym_AMP, + [3173] = 7, ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(256), 1, - anon_sym_RBRACK, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3044] = 7, - ACTIONS(70), 1, anon_sym_AMP, - ACTIONS(72), 1, + ACTIONS(74), 1, anon_sym_PIPE, - ACTIONS(258), 1, - anon_sym_then, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3072] = 7, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(260), 1, - ts_builtin_sym_end, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3100] = 7, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(262), 1, - anon_sym_do, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3128] = 6, - ACTIONS(266), 1, - anon_sym_function, - ACTIONS(269), 1, - anon_sym_primitive, - ACTIONS(272), 1, - anon_sym_var, - ACTIONS(275), 1, - anon_sym_import, - ACTIONS(264), 2, - ts_builtin_sym_end, - anon_sym_in, - STATE(79), 7, - aux_sym__declaration_chunks, - sym__declaration_chunk, - sym_function_declaration, - sym_primitive_declaration, - sym_variable_declaration, - sym_import_declaration, - aux_sym__declaration_chunk_repeat1, - [3154] = 7, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(278), 1, - anon_sym_do, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3182] = 7, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(280), 1, - anon_sym_RBRACK, - ACTIONS(62), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(64), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(68), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(66), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3210] = 7, - ACTIONS(70), 1, - anon_sym_AMP, - ACTIONS(72), 1, - anon_sym_PIPE, - ACTIONS(282), 1, + ACTIONS(291), 1, anon_sym_to, - ACTIONS(62), 2, + ACTIONS(64), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(64), 2, + ACTIONS(66), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(68), 2, + ACTIONS(70), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(66), 4, + ACTIONS(68), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3238] = 6, - ACTIONS(284), 1, - anon_sym_in, - ACTIONS(286), 1, - anon_sym_function, - ACTIONS(288), 1, - anon_sym_primitive, - ACTIONS(290), 1, - anon_sym_var, - ACTIONS(292), 1, - anon_sym_import, - STATE(79), 7, - aux_sym__declaration_chunks, - sym__declaration_chunk, - sym_function_declaration, - sym_primitive_declaration, - sym_variable_declaration, - sym_import_declaration, - aux_sym__declaration_chunk_repeat1, - [3263] = 6, - ACTIONS(286), 1, - anon_sym_function, - ACTIONS(288), 1, - anon_sym_primitive, - ACTIONS(290), 1, - anon_sym_var, - ACTIONS(292), 1, - anon_sym_import, - ACTIONS(294), 1, - anon_sym_in, - STATE(83), 7, - aux_sym__declaration_chunks, - sym__declaration_chunk, - sym_function_declaration, - sym_primitive_declaration, - sym_variable_declaration, - sym_import_declaration, - aux_sym__declaration_chunk_repeat1, - [3288] = 6, - ACTIONS(260), 1, + [3201] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(293), 1, + anon_sym_do, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3229] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(295), 1, + anon_sym_RBRACK, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3257] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(297), 1, + anon_sym_then, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3285] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(281), 1, ts_builtin_sym_end, - ACTIONS(286), 1, - anon_sym_function, - ACTIONS(288), 1, - anon_sym_primitive, - ACTIONS(290), 1, - anon_sym_var, - ACTIONS(292), 1, - anon_sym_import, - STATE(79), 7, - aux_sym__declaration_chunks, - sym__declaration_chunk, - sym_function_declaration, - sym_primitive_declaration, - sym_variable_declaration, - sym_import_declaration, - aux_sym__declaration_chunk_repeat1, - [3313] = 4, - ACTIONS(298), 1, - anon_sym_function, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3313] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, + ACTIONS(299), 1, + anon_sym_RBRACK, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3341] = 7, + ACTIONS(72), 1, + anon_sym_AMP, + ACTIONS(74), 1, + anon_sym_PIPE, ACTIONS(301), 1, + anon_sym_do, + ACTIONS(64), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(66), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(70), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(68), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3369] = 4, + ACTIONS(305), 1, + anon_sym_function, + ACTIONS(308), 1, anon_sym_primitive, STATE(86), 3, sym_function_declaration, sym_primitive_declaration, + aux_sym__declaration_chunk_repeat2, + ACTIONS(303), 5, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_var, + anon_sym_import, + [3388] = 3, + ACTIONS(313), 1, + anon_sym_type, + STATE(87), 2, + sym_type_declaration, aux_sym__declaration_chunk_repeat1, - ACTIONS(296), 4, + ACTIONS(311), 6, ts_builtin_sym_end, anon_sym_in, + anon_sym_function, + anon_sym_primitive, anon_sym_var, anon_sym_import, - [3331] = 1, - ACTIONS(304), 7, + [3404] = 1, + ACTIONS(316), 8, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [3341] = 1, - ACTIONS(306), 7, + [3415] = 1, + ACTIONS(318), 8, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [3351] = 1, - ACTIONS(308), 7, + [3426] = 1, + ACTIONS(320), 8, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [3361] = 1, - ACTIONS(310), 7, + [3437] = 1, + ACTIONS(322), 8, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [3371] = 1, - ACTIONS(312), 6, + [3448] = 1, + ACTIONS(324), 7, ts_builtin_sym_end, anon_sym_in, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [3380] = 1, - ACTIONS(314), 6, + [3458] = 1, + ACTIONS(326), 7, ts_builtin_sym_end, anon_sym_in, + anon_sym_type, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [3389] = 3, - ACTIONS(316), 1, + [3468] = 1, + ACTIONS(328), 7, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3478] = 1, + ACTIONS(330), 7, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3488] = 3, + ACTIONS(332), 1, anon_sym_DQUOTE, - STATE(94), 1, + STATE(98), 1, aux_sym_string_literal_repeat1, - ACTIONS(318), 2, + ACTIONS(334), 2, aux_sym_string_literal_token1, sym_escape_sequence, - [3400] = 3, - ACTIONS(320), 1, - anon_sym_DQUOTE, - STATE(94), 1, - aux_sym_string_literal_repeat1, - ACTIONS(322), 2, - aux_sym_string_literal_token1, - sym_escape_sequence, - [3411] = 3, - ACTIONS(325), 1, + [3499] = 3, + ACTIONS(336), 1, anon_sym_SEMI, - STATE(95), 1, + STATE(97), 1, aux_sym_sequence_expression_repeat1, - ACTIONS(240), 2, + ACTIONS(257), 2, anon_sym_RPAREN, anon_sym_end, - [3422] = 3, - ACTIONS(328), 1, + [3510] = 3, + ACTIONS(339), 1, anon_sym_DQUOTE, - STATE(93), 1, + STATE(99), 1, aux_sym_string_literal_repeat1, - ACTIONS(330), 2, + ACTIONS(341), 2, aux_sym_string_literal_token1, sym_escape_sequence, - [3433] = 3, - ACTIONS(234), 1, - anon_sym_SEMI, - ACTIONS(332), 1, - anon_sym_end, - STATE(95), 1, - aux_sym_sequence_expression_repeat1, - [3443] = 3, - ACTIONS(334), 1, - anon_sym_COMMA, - ACTIONS(336), 1, + [3521] = 3, + ACTIONS(343), 1, + anon_sym_DQUOTE, + STATE(99), 1, + aux_sym_string_literal_repeat1, + ACTIONS(345), 2, + aux_sym_string_literal_token1, + sym_escape_sequence, + [3532] = 3, + ACTIONS(348), 1, + sym_identifier, + ACTIONS(350), 1, anon_sym_RPAREN, STATE(106), 1, - aux_sym_parameters_repeat1, - [3453] = 3, - ACTIONS(234), 1, - anon_sym_SEMI, - ACTIONS(338), 1, - anon_sym_RPAREN, - STATE(95), 1, - aux_sym_sequence_expression_repeat1, - [3463] = 3, - ACTIONS(340), 1, - anon_sym_COMMA, - ACTIONS(343), 1, - anon_sym_RBRACE, - STATE(100), 1, - aux_sym_record_expression_repeat1, - [3473] = 3, - ACTIONS(345), 1, - sym_identifier, - ACTIONS(347), 1, - anon_sym_RPAREN, - STATE(98), 1, sym__typed_field, - [3483] = 3, - ACTIONS(242), 1, - anon_sym_COMMA, - ACTIONS(349), 1, - anon_sym_RPAREN, - STATE(104), 1, - aux_sym_function_call_repeat1, - [3493] = 3, - ACTIONS(351), 1, + [3542] = 3, + ACTIONS(253), 1, + anon_sym_SEMI, + ACTIONS(352), 1, + anon_sym_end, + STATE(97), 1, + aux_sym_sequence_expression_repeat1, + [3552] = 3, + ACTIONS(263), 1, anon_sym_COMMA, ACTIONS(354), 1, anon_sym_RPAREN, - STATE(103), 1, - aux_sym_parameters_repeat1, - [3503] = 3, - ACTIONS(252), 1, - anon_sym_RPAREN, - ACTIONS(356), 1, - anon_sym_COMMA, - STATE(104), 1, + STATE(107), 1, aux_sym_function_call_repeat1, - [3513] = 3, - ACTIONS(246), 1, + [3562] = 3, + ACTIONS(356), 1, anon_sym_COMMA, ACTIONS(359), 1, anon_sym_RBRACE, - STATE(100), 1, - aux_sym_record_expression_repeat1, - [3523] = 3, - ACTIONS(334), 1, - anon_sym_COMMA, - ACTIONS(361), 1, - anon_sym_RPAREN, STATE(103), 1, - aux_sym_parameters_repeat1, - [3533] = 3, - ACTIONS(234), 1, + aux_sym_record_expression_repeat1, + [3572] = 3, + ACTIONS(253), 1, anon_sym_SEMI, - ACTIONS(363), 1, + ACTIONS(361), 1, anon_sym_end, - STATE(95), 1, + STATE(97), 1, aux_sym_sequence_expression_repeat1, - [3543] = 2, - ACTIONS(345), 1, - sym_identifier, - STATE(115), 1, - sym__typed_field, - [3550] = 1, - ACTIONS(365), 2, + [3582] = 3, + ACTIONS(363), 1, anon_sym_COMMA, + ACTIONS(366), 1, anon_sym_RPAREN, - [3555] = 2, - ACTIONS(367), 1, - sym_identifier, - ACTIONS(369), 1, - anon_sym_RBRACE, - [3562] = 2, - ACTIONS(9), 1, - anon_sym_DQUOTE, - STATE(91), 1, - sym_string_literal, - [3569] = 2, - ACTIONS(371), 1, - sym_identifier, - STATE(125), 1, - sym__function_declaration_common, - [3576] = 2, - ACTIONS(373), 1, - anon_sym_COLON_EQ, + STATE(105), 1, + aux_sym_parameters_repeat1, + [3592] = 3, + ACTIONS(368), 1, + anon_sym_COMMA, + ACTIONS(370), 1, + anon_sym_RPAREN, + STATE(111), 1, + aux_sym_parameters_repeat1, + [3602] = 3, + ACTIONS(287), 1, + anon_sym_RPAREN, + ACTIONS(372), 1, + anon_sym_COMMA, + STATE(107), 1, + aux_sym_function_call_repeat1, + [3612] = 3, + ACTIONS(259), 1, + anon_sym_COMMA, ACTIONS(375), 1, - anon_sym_COLON, - [3583] = 2, - ACTIONS(371), 1, + anon_sym_RBRACE, + STATE(103), 1, + aux_sym_record_expression_repeat1, + [3622] = 2, + ACTIONS(377), 1, sym_identifier, - STATE(92), 1, - sym__function_declaration_common, - [3590] = 1, - ACTIONS(377), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [3595] = 2, + STATE(95), 2, + sym__type, + sym_type_alias, + [3630] = 3, + ACTIONS(253), 1, + anon_sym_SEMI, ACTIONS(379), 1, - anon_sym_LPAREN, - STATE(87), 1, - sym_parameters, - [3602] = 1, + anon_sym_RPAREN, + STATE(97), 1, + aux_sym_sequence_expression_repeat1, + [3640] = 3, + ACTIONS(368), 1, + anon_sym_COMMA, ACTIONS(381), 1, - sym_identifier, - [3606] = 1, + anon_sym_RPAREN, + STATE(105), 1, + aux_sym_parameters_repeat1, + [3650] = 2, ACTIONS(383), 1, sym_identifier, - [3610] = 1, - ACTIONS(385), 1, + STATE(93), 1, + sym__function_declaration_common, + [3657] = 1, + ACTIONS(385), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [3662] = 2, + ACTIONS(383), 1, sym_identifier, - [3614] = 1, + STATE(131), 1, + sym__function_declaration_common, + [3669] = 2, ACTIONS(387), 1, - sym_identifier, - [3618] = 1, - ACTIONS(389), 1, anon_sym_COLON_EQ, - [3622] = 1, - ACTIONS(391), 1, - anon_sym_of, - [3626] = 1, - ACTIONS(393), 1, + ACTIONS(389), 1, + anon_sym_COLON, + [3676] = 2, + ACTIONS(348), 1, sym_identifier, - [3630] = 1, + STATE(120), 1, + sym__typed_field, + [3683] = 2, + ACTIONS(391), 1, + sym_identifier, + ACTIONS(393), 1, + anon_sym_RBRACE, + [3690] = 2, + ACTIONS(9), 1, + anon_sym_DQUOTE, + STATE(92), 1, + sym_string_literal, + [3697] = 2, ACTIONS(395), 1, - anon_sym_EQ, - [3634] = 1, - ACTIONS(397), 1, - anon_sym_EQ, - [3638] = 1, + anon_sym_LPAREN, + STATE(91), 1, + sym_parameters, + [3704] = 1, + ACTIONS(397), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [3709] = 1, ACTIONS(399), 1, - ts_builtin_sym_end, - [3642] = 1, + sym_identifier, + [3713] = 1, ACTIONS(401), 1, anon_sym_COLON_EQ, - [3646] = 1, + [3717] = 1, ACTIONS(403), 1, - anon_sym_EQ, - [3650] = 1, - ACTIONS(405), 1, - anon_sym_COLON, - [3654] = 1, - ACTIONS(407), 1, sym_identifier, + [3721] = 1, + ACTIONS(405), 1, + anon_sym_COLON_EQ, + [3725] = 1, + ACTIONS(407), 1, + anon_sym_COLON, + [3729] = 1, + ACTIONS(409), 1, + sym_identifier, + [3733] = 1, + ACTIONS(411), 1, + anon_sym_EQ, + [3737] = 1, + ACTIONS(413), 1, + sym_identifier, + [3741] = 1, + ACTIONS(415), 1, + sym_identifier, + [3745] = 1, + ACTIONS(417), 1, + anon_sym_EQ, + [3749] = 1, + ACTIONS(419), 1, + anon_sym_EQ, + [3753] = 1, + ACTIONS(421), 1, + anon_sym_EQ, + [3757] = 1, + ACTIONS(423), 1, + sym_identifier, + [3761] = 1, + ACTIONS(425), 1, + sym_identifier, + [3765] = 1, + ACTIONS(427), 1, + ts_builtin_sym_end, + [3769] = 1, + ACTIONS(429), 1, + anon_sym_of, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 44, - [SMALL_STATE(4)] = 80, - [SMALL_STATE(5)] = 116, - [SMALL_STATE(6)] = 158, - [SMALL_STATE(7)] = 201, - [SMALL_STATE(8)] = 234, - [SMALL_STATE(9)] = 267, - [SMALL_STATE(10)] = 310, - [SMALL_STATE(11)] = 343, - [SMALL_STATE(12)] = 376, - [SMALL_STATE(13)] = 409, - [SMALL_STATE(14)] = 442, - [SMALL_STATE(15)] = 475, - [SMALL_STATE(16)] = 508, - [SMALL_STATE(17)] = 551, - [SMALL_STATE(18)] = 584, - [SMALL_STATE(19)] = 617, - [SMALL_STATE(20)] = 660, - [SMALL_STATE(21)] = 705, + [SMALL_STATE(3)] = 45, + [SMALL_STATE(4)] = 82, + [SMALL_STATE(5)] = 119, + [SMALL_STATE(6)] = 162, + [SMALL_STATE(7)] = 206, + [SMALL_STATE(8)] = 240, + [SMALL_STATE(9)] = 274, + [SMALL_STATE(10)] = 318, + [SMALL_STATE(11)] = 352, + [SMALL_STATE(12)] = 386, + [SMALL_STATE(13)] = 420, + [SMALL_STATE(14)] = 454, + [SMALL_STATE(15)] = 488, + [SMALL_STATE(16)] = 522, + [SMALL_STATE(17)] = 556, + [SMALL_STATE(18)] = 600, + [SMALL_STATE(19)] = 644, + [SMALL_STATE(20)] = 678, + [SMALL_STATE(21)] = 724, [SMALL_STATE(22)] = 758, - [SMALL_STATE(23)] = 791, - [SMALL_STATE(24)] = 824, - [SMALL_STATE(25)] = 857, - [SMALL_STATE(26)] = 900, - [SMALL_STATE(27)] = 933, - [SMALL_STATE(28)] = 986, - [SMALL_STATE(29)] = 1027, - [SMALL_STATE(30)] = 1080, - [SMALL_STATE(31)] = 1119, - [SMALL_STATE(32)] = 1156, - [SMALL_STATE(33)] = 1189, - [SMALL_STATE(34)] = 1224, - [SMALL_STATE(35)] = 1257, - [SMALL_STATE(36)] = 1290, - [SMALL_STATE(37)] = 1323, - [SMALL_STATE(38)] = 1356, - [SMALL_STATE(39)] = 1409, - [SMALL_STATE(40)] = 1459, - [SMALL_STATE(41)] = 1509, - [SMALL_STATE(42)] = 1559, - [SMALL_STATE(43)] = 1609, - [SMALL_STATE(44)] = 1659, - [SMALL_STATE(45)] = 1709, - [SMALL_STATE(46)] = 1759, - [SMALL_STATE(47)] = 1809, - [SMALL_STATE(48)] = 1859, - [SMALL_STATE(49)] = 1909, - [SMALL_STATE(50)] = 1959, - [SMALL_STATE(51)] = 2009, - [SMALL_STATE(52)] = 2059, - [SMALL_STATE(53)] = 2109, - [SMALL_STATE(54)] = 2159, - [SMALL_STATE(55)] = 2209, - [SMALL_STATE(56)] = 2259, - [SMALL_STATE(57)] = 2309, - [SMALL_STATE(58)] = 2359, - [SMALL_STATE(59)] = 2409, - [SMALL_STATE(60)] = 2459, - [SMALL_STATE(61)] = 2509, - [SMALL_STATE(62)] = 2559, - [SMALL_STATE(63)] = 2609, - [SMALL_STATE(64)] = 2659, - [SMALL_STATE(65)] = 2692, - [SMALL_STATE(66)] = 2725, - [SMALL_STATE(67)] = 2758, - [SMALL_STATE(68)] = 2792, - [SMALL_STATE(69)] = 2826, - [SMALL_STATE(70)] = 2856, - [SMALL_STATE(71)] = 2890, - [SMALL_STATE(72)] = 2924, - [SMALL_STATE(73)] = 2958, - [SMALL_STATE(74)] = 2987, - [SMALL_STATE(75)] = 3016, - [SMALL_STATE(76)] = 3044, - [SMALL_STATE(77)] = 3072, - [SMALL_STATE(78)] = 3100, - [SMALL_STATE(79)] = 3128, - [SMALL_STATE(80)] = 3154, - [SMALL_STATE(81)] = 3182, - [SMALL_STATE(82)] = 3210, - [SMALL_STATE(83)] = 3238, - [SMALL_STATE(84)] = 3263, - [SMALL_STATE(85)] = 3288, - [SMALL_STATE(86)] = 3313, - [SMALL_STATE(87)] = 3331, - [SMALL_STATE(88)] = 3341, - [SMALL_STATE(89)] = 3351, - [SMALL_STATE(90)] = 3361, - [SMALL_STATE(91)] = 3371, - [SMALL_STATE(92)] = 3380, - [SMALL_STATE(93)] = 3389, - [SMALL_STATE(94)] = 3400, - [SMALL_STATE(95)] = 3411, - [SMALL_STATE(96)] = 3422, - [SMALL_STATE(97)] = 3433, - [SMALL_STATE(98)] = 3443, - [SMALL_STATE(99)] = 3453, - [SMALL_STATE(100)] = 3463, - [SMALL_STATE(101)] = 3473, - [SMALL_STATE(102)] = 3483, - [SMALL_STATE(103)] = 3493, - [SMALL_STATE(104)] = 3503, - [SMALL_STATE(105)] = 3513, - [SMALL_STATE(106)] = 3523, - [SMALL_STATE(107)] = 3533, - [SMALL_STATE(108)] = 3543, - [SMALL_STATE(109)] = 3550, - [SMALL_STATE(110)] = 3555, - [SMALL_STATE(111)] = 3562, - [SMALL_STATE(112)] = 3569, - [SMALL_STATE(113)] = 3576, - [SMALL_STATE(114)] = 3583, - [SMALL_STATE(115)] = 3590, - [SMALL_STATE(116)] = 3595, - [SMALL_STATE(117)] = 3602, - [SMALL_STATE(118)] = 3606, - [SMALL_STATE(119)] = 3610, - [SMALL_STATE(120)] = 3614, - [SMALL_STATE(121)] = 3618, - [SMALL_STATE(122)] = 3622, - [SMALL_STATE(123)] = 3626, - [SMALL_STATE(124)] = 3630, - [SMALL_STATE(125)] = 3634, - [SMALL_STATE(126)] = 3638, - [SMALL_STATE(127)] = 3642, - [SMALL_STATE(128)] = 3646, - [SMALL_STATE(129)] = 3650, - [SMALL_STATE(130)] = 3654, + [SMALL_STATE(23)] = 792, + [SMALL_STATE(24)] = 826, + [SMALL_STATE(25)] = 860, + [SMALL_STATE(26)] = 894, + [SMALL_STATE(27)] = 938, + [SMALL_STATE(28)] = 972, + [SMALL_STATE(29)] = 1014, + [SMALL_STATE(30)] = 1054, + [SMALL_STATE(31)] = 1088, + [SMALL_STATE(32)] = 1126, + [SMALL_STATE(33)] = 1160, + [SMALL_STATE(34)] = 1196, + [SMALL_STATE(35)] = 1230, + [SMALL_STATE(36)] = 1283, + [SMALL_STATE(37)] = 1336, + [SMALL_STATE(38)] = 1389, + [SMALL_STATE(39)] = 1442, + [SMALL_STATE(40)] = 1492, + [SMALL_STATE(41)] = 1542, + [SMALL_STATE(42)] = 1592, + [SMALL_STATE(43)] = 1642, + [SMALL_STATE(44)] = 1692, + [SMALL_STATE(45)] = 1742, + [SMALL_STATE(46)] = 1792, + [SMALL_STATE(47)] = 1842, + [SMALL_STATE(48)] = 1892, + [SMALL_STATE(49)] = 1942, + [SMALL_STATE(50)] = 1992, + [SMALL_STATE(51)] = 2042, + [SMALL_STATE(52)] = 2092, + [SMALL_STATE(53)] = 2142, + [SMALL_STATE(54)] = 2192, + [SMALL_STATE(55)] = 2242, + [SMALL_STATE(56)] = 2292, + [SMALL_STATE(57)] = 2342, + [SMALL_STATE(58)] = 2392, + [SMALL_STATE(59)] = 2442, + [SMALL_STATE(60)] = 2492, + [SMALL_STATE(61)] = 2542, + [SMALL_STATE(62)] = 2592, + [SMALL_STATE(63)] = 2642, + [SMALL_STATE(64)] = 2692, + [SMALL_STATE(65)] = 2726, + [SMALL_STATE(66)] = 2760, + [SMALL_STATE(67)] = 2794, + [SMALL_STATE(68)] = 2825, + [SMALL_STATE(69)] = 2859, + [SMALL_STATE(70)] = 2889, + [SMALL_STATE(71)] = 2923, + [SMALL_STATE(72)] = 2957, + [SMALL_STATE(73)] = 2987, + [SMALL_STATE(74)] = 3021, + [SMALL_STATE(75)] = 3051, + [SMALL_STATE(76)] = 3081, + [SMALL_STATE(77)] = 3115, + [SMALL_STATE(78)] = 3144, + [SMALL_STATE(79)] = 3173, + [SMALL_STATE(80)] = 3201, + [SMALL_STATE(81)] = 3229, + [SMALL_STATE(82)] = 3257, + [SMALL_STATE(83)] = 3285, + [SMALL_STATE(84)] = 3313, + [SMALL_STATE(85)] = 3341, + [SMALL_STATE(86)] = 3369, + [SMALL_STATE(87)] = 3388, + [SMALL_STATE(88)] = 3404, + [SMALL_STATE(89)] = 3415, + [SMALL_STATE(90)] = 3426, + [SMALL_STATE(91)] = 3437, + [SMALL_STATE(92)] = 3448, + [SMALL_STATE(93)] = 3458, + [SMALL_STATE(94)] = 3468, + [SMALL_STATE(95)] = 3478, + [SMALL_STATE(96)] = 3488, + [SMALL_STATE(97)] = 3499, + [SMALL_STATE(98)] = 3510, + [SMALL_STATE(99)] = 3521, + [SMALL_STATE(100)] = 3532, + [SMALL_STATE(101)] = 3542, + [SMALL_STATE(102)] = 3552, + [SMALL_STATE(103)] = 3562, + [SMALL_STATE(104)] = 3572, + [SMALL_STATE(105)] = 3582, + [SMALL_STATE(106)] = 3592, + [SMALL_STATE(107)] = 3602, + [SMALL_STATE(108)] = 3612, + [SMALL_STATE(109)] = 3622, + [SMALL_STATE(110)] = 3630, + [SMALL_STATE(111)] = 3640, + [SMALL_STATE(112)] = 3650, + [SMALL_STATE(113)] = 3657, + [SMALL_STATE(114)] = 3662, + [SMALL_STATE(115)] = 3669, + [SMALL_STATE(116)] = 3676, + [SMALL_STATE(117)] = 3683, + [SMALL_STATE(118)] = 3690, + [SMALL_STATE(119)] = 3697, + [SMALL_STATE(120)] = 3704, + [SMALL_STATE(121)] = 3709, + [SMALL_STATE(122)] = 3713, + [SMALL_STATE(123)] = 3717, + [SMALL_STATE(124)] = 3721, + [SMALL_STATE(125)] = 3725, + [SMALL_STATE(126)] = 3729, + [SMALL_STATE(127)] = 3733, + [SMALL_STATE(128)] = 3737, + [SMALL_STATE(129)] = 3741, + [SMALL_STATE(130)] = 3745, + [SMALL_STATE(131)] = 3749, + [SMALL_STATE(132)] = 3753, + [SMALL_STATE(133)] = 3757, + [SMALL_STATE(134)] = 3761, + [SMALL_STATE(135)] = 3765, + [SMALL_STATE(136)] = 3769, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -4611,201 +4774,211 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), - [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue, 1), - [33] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lvalue, 1), SHIFT(50), - [36] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [38] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lvalue, 1), - [40] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 17), - [44] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 17), - [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_value, 3, .production_id = 8), - [48] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_value, 3, .production_id = 8), - [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [52] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [54] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [56] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), - [58] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 22), - [62] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [68] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), - [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), - [76] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), - [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 25), - [80] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 25), - [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 24), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 23), - [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 23), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), - [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 20), - [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 20), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 19), - [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 19), - [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 18), - [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 18), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 14), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 14), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 33), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue, 1), + [35] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lvalue, 1), SHIFT(52), + [38] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [40] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lvalue, 1), + [42] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [44] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 17), + [46] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 17), + [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_value, 3, .production_id = 8), + [50] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_value, 3, .production_id = 8), + [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [54] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [56] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [58] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), + [60] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 22), + [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [70] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 10), + [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 10), + [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 25), + [82] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 25), + [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 24), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 23), + [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 23), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), + [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 20), + [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 20), + [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 19), + [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 19), + [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 18), + [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 18), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 14), + [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 14), [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 13), [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 13), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 12), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 11), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), - [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 31), - [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 31), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 10), - [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 10), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 33), + [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 12), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 11), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 5), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 5), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 31), + [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 31), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), - [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 7), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 5), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 5), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 4), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 4), - [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), - [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 30), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 16), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 15), - [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), - [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 34), - [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), - [266] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(112), - [269] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(114), - [272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(120), - [275] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(111), - [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), - [298] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(112), - [301] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(114), - [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 2, .production_id = 6), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, .production_id = 28), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 21), - [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 3), - [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 2, .production_id = 2), - [316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [322] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(94), - [325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(40), - [328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [340] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 32), SHIFT_REPEAT(123), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 32), - [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [351] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 29), SHIFT_REPEAT(108), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 29), - [356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(51), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typed_field, 3, .production_id = 26), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 27), - [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [399] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 7), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 4), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 4), + [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), + [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 15), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 16), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 30), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), + [238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(133), + [241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(114), + [244] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(112), + [247] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(128), + [250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(118), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 34), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), + [305] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(114), + [308] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(112), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), + [313] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(133), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, .production_id = 28), + [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 21), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 2, .production_id = 6), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 3), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 2, .production_id = 2), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 15), + [332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [336] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(59), + [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(99), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 32), SHIFT_REPEAT(121), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 32), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [363] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 29), SHIFT_REPEAT(116), + [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 29), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(54), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typed_field, 3, .production_id = 26), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 27), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [427] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), }; #ifdef __cplusplus diff --git a/test/corpus/declarations.txt b/test/corpus/declarations.txt index fce8c7f..d32bf82 100644 --- a/test/corpus/declarations.txt +++ b/test/corpus/declarations.txt @@ -6,6 +6,20 @@ Empty declarations (source_file) +================================================================================ +Type alias declaration +================================================================================ + +type alias = int + +-------------------------------------------------------------------------------- + +(source_file + (type_declaration + name: (identifier) + value: (type_alias + (identifier)))) + ================================================================================ Function declaration ================================================================================