From da494122eadeff0bd2222f7453743be37496fded Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Fri, 3 Jun 2022 10:40:14 +0200 Subject: [PATCH] Replace '_typed_field' by more specific grammar Instead of re-using a common rule, inline its definition and use '_field_identifier' where appropriate. This is useful for more accurate high-lighting. --- grammar.js | 24 +- src/grammar.json | 125 +- src/node-types.json | 6 +- src/parser.c | 3107 +++++++++++++++++----------------- test/corpus/declarations.txt | 26 +- 5 files changed, 1715 insertions(+), 1573 deletions(-) diff --git a/grammar.js b/grammar.js index 768a26b..99b4cd4 100644 --- a/grammar.js +++ b/grammar.js @@ -272,16 +272,17 @@ module.exports = grammar({ record_type: ($) => seq( "{", - sepBy(",", $._typed_field), + sepBy( + ",", + seq( + field("name", $._field_identifier), + ":", + field("type", $._type_identifier), + ), + ), "}", ), - _typed_field: ($) => seq( - field("name", $.identifier), - ":", - field("type", $.identifier), - ), - array_type: ($) => seq( "array", "of", @@ -308,7 +309,14 @@ module.exports = grammar({ parameters: ($) => seq( "(", - sepBy(",", $._typed_field), + sepBy( + ",", + seq( + field("name", $.identifier), + ":", + field("type", $._type_identifier), + ), + ), ")", ), diff --git a/src/grammar.json b/src/grammar.json index a257483..df54aec 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1161,8 +1161,29 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_typed_field" + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_field_identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + } + ] }, { "type": "REPEAT", @@ -1174,8 +1195,29 @@ "value": "," }, { - "type": "SYMBOL", - "name": "_typed_field" + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_field_identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + } + ] } ] } @@ -1193,31 +1235,6 @@ } ] }, - "_typed_field": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "type", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - } - ] - }, "array_type": { "type": "SEQ", "members": [ @@ -1337,8 +1354,29 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_typed_field" + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + } + ] }, { "type": "REPEAT", @@ -1350,8 +1388,29 @@ "value": "," }, { - "type": "SYMBOL", - "name": "_typed_field" + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + } + ] } ] } diff --git a/src/node-types.json b/src/node-types.json index cc879b3..d8e1a14 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -1414,7 +1414,7 @@ "required": false, "types": [ { - "type": "identifier", + "type": "type_identifier", "named": true } ] @@ -1570,7 +1570,7 @@ "required": false, "types": [ { - "type": "identifier", + "type": "field_identifier", "named": true } ] @@ -1580,7 +1580,7 @@ "required": false, "types": [ { - "type": "identifier", + "type": "type_identifier", "named": true } ] diff --git a/src/parser.c b/src/parser.c index 568e118..dad20ac 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,7 +6,7 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 148 +#define STATE_COUNT 156 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 87 #define ALIAS_COUNT 2 @@ -14,7 +14,7 @@ #define EXTERNAL_TOKEN_COUNT 1 #define FIELD_COUNT 26 #define MAX_ALIAS_SEQUENCE_LENGTH 8 -#define PRODUCTION_ID_COUNT 37 +#define PRODUCTION_ID_COUNT 38 enum { sym_identifier = 1, @@ -88,21 +88,21 @@ enum { sym__type = 69, sym_type_alias = 70, sym_record_type = 71, - sym__typed_field = 72, - sym_array_type = 73, - sym_function_declaration = 74, - sym_primitive_declaration = 75, - sym__function_declaration_common = 76, - sym_parameters = 77, - sym_variable_declaration = 78, - sym_import_declaration = 79, - aux_sym_string_literal_repeat1 = 80, - aux_sym_function_call_repeat1 = 81, - aux_sym_sequence_expression_repeat1 = 82, - aux_sym_record_expression_repeat1 = 83, - aux_sym__declaration_chunk_repeat1 = 84, - aux_sym__declaration_chunk_repeat2 = 85, - aux_sym_record_type_repeat1 = 86, + sym_array_type = 72, + sym_function_declaration = 73, + sym_primitive_declaration = 74, + sym__function_declaration_common = 75, + sym_parameters = 76, + sym_variable_declaration = 77, + sym_import_declaration = 78, + aux_sym_string_literal_repeat1 = 79, + aux_sym_function_call_repeat1 = 80, + aux_sym_sequence_expression_repeat1 = 81, + aux_sym_record_expression_repeat1 = 82, + aux_sym__declaration_chunk_repeat1 = 83, + aux_sym__declaration_chunk_repeat2 = 84, + aux_sym_record_type_repeat1 = 85, + aux_sym_parameters_repeat1 = 86, alias_sym_field_identifier = 87, alias_sym_type_identifier = 88, }; @@ -180,7 +180,6 @@ static const char * const ts_symbol_names[] = { [sym__type] = "_type", [sym_type_alias] = "type_alias", [sym_record_type] = "record_type", - [sym__typed_field] = "_typed_field", [sym_array_type] = "array_type", [sym_function_declaration] = "function_declaration", [sym_primitive_declaration] = "primitive_declaration", @@ -195,6 +194,7 @@ static const char * const ts_symbol_names[] = { [aux_sym__declaration_chunk_repeat1] = "_declaration_chunk_repeat1", [aux_sym__declaration_chunk_repeat2] = "_declaration_chunk_repeat2", [aux_sym_record_type_repeat1] = "record_type_repeat1", + [aux_sym_parameters_repeat1] = "parameters_repeat1", [alias_sym_field_identifier] = "field_identifier", [alias_sym_type_identifier] = "type_identifier", }; @@ -272,7 +272,6 @@ static const TSSymbol ts_symbol_map[] = { [sym__type] = sym__type, [sym_type_alias] = sym_type_alias, [sym_record_type] = sym_record_type, - [sym__typed_field] = sym__typed_field, [sym_array_type] = sym_array_type, [sym_function_declaration] = sym_function_declaration, [sym_primitive_declaration] = sym_primitive_declaration, @@ -287,6 +286,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym__declaration_chunk_repeat1] = aux_sym__declaration_chunk_repeat1, [aux_sym__declaration_chunk_repeat2] = aux_sym__declaration_chunk_repeat2, [aux_sym_record_type_repeat1] = aux_sym_record_type_repeat1, + [aux_sym_parameters_repeat1] = aux_sym_parameters_repeat1, [alias_sym_field_identifier] = alias_sym_field_identifier, [alias_sym_type_identifier] = alias_sym_type_identifier, }; @@ -580,10 +580,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__typed_field] = { - .visible = false, - .named = true, - }, [sym_array_type] = { .visible = true, .named = true, @@ -640,6 +636,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_parameters_repeat1] = { + .visible = false, + .named = false, + }, [alias_sym_field_identifier] = { .visible = true, .named = true, @@ -730,21 +730,22 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [19] = {.index = 33, .length = 3}, [20] = {.index = 36, .length = 2}, [21] = {.index = 38, .length = 2}, - [22] = {.index = 40, .length = 2}, - [23] = {.index = 42, .length = 3}, - [24] = {.index = 45, .length = 3}, - [25] = {.index = 48, .length = 3}, - [26] = {.index = 51, .length = 3}, - [27] = {.index = 54, .length = 3}, - [28] = {.index = 57, .length = 1}, - [29] = {.index = 58, .length = 2}, - [30] = {.index = 60, .length = 4}, - [31] = {.index = 64, .length = 4}, - [32] = {.index = 68, .length = 3}, - [33] = {.index = 71, .length = 5}, - [34] = {.index = 76, .length = 4}, - [35] = {.index = 80, .length = 4}, - [36] = {.index = 84, .length = 2}, + [22] = {.index = 40, .length = 3}, + [23] = {.index = 43, .length = 3}, + [24] = {.index = 46, .length = 3}, + [25] = {.index = 49, .length = 3}, + [26] = {.index = 52, .length = 3}, + [27] = {.index = 55, .length = 1}, + [28] = {.index = 56, .length = 3}, + [29] = {.index = 59, .length = 5}, + [30] = {.index = 64, .length = 4}, + [31] = {.index = 68, .length = 2}, + [32] = {.index = 70, .length = 4}, + [33] = {.index = 68, .length = 2}, + [34] = {.index = 74, .length = 4}, + [35] = {.index = 78, .length = 4}, + [36] = {.index = 82, .length = 2}, + [37] = {.index = 74, .length = 4}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -809,64 +810,61 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_body, 3}, {field_declarations, 1}, [40] = - {field_name, 1, .inherited = true}, - {field_type, 1, .inherited = true}, - [42] = {field_name, 0}, {field_parameters, 1}, {field_return_type, 3}, - [45] = + [43] = {field_init, 5}, {field_size, 2}, {field_type, 0}, - [48] = + [46] = {field_field, 2}, {field_init, 4}, {field_type, 0}, - [51] = + [49] = {field_alternative, 5}, {field_condition, 1}, {field_consequence, 3}, - [54] = + [52] = {field_body, 3}, {field_body, 4}, {field_declarations, 1}, - [57] = + [55] = {field_element_type, 2}, - [58] = - {field_name, 0}, - {field_type, 2}, - [60] = - {field_name, 1, .inherited = true}, - {field_name, 2, .inherited = true}, - {field_type, 1, .inherited = true}, - {field_type, 2, .inherited = true}, - [64] = - {field_name, 0, .inherited = true}, - {field_name, 1, .inherited = true}, - {field_type, 0, .inherited = true}, - {field_type, 1, .inherited = true}, - [68] = + [56] = {field_name, 1}, {field_type, 3}, {field_value, 5}, - [71] = + [59] = {field_field, 2}, {field_field, 5, .inherited = true}, {field_init, 4}, {field_init, 5, .inherited = true}, {field_type, 0}, - [76] = + [64] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, {field_init, 0, .inherited = true}, {field_init, 1, .inherited = true}, - [80] = + [68] = + {field_name, 1}, + {field_type, 3}, + [70] = {field_body, 7}, {field_end, 5}, {field_index, 1}, {field_start, 3}, - [84] = + [74] = + {field_name, 1}, + {field_name, 4, .inherited = true}, + {field_type, 3}, + {field_type, 4, .inherited = true}, + [78] = + {field_name, 0, .inherited = true}, + {field_name, 1, .inherited = true}, + {field_type, 0, .inherited = true}, + {field_type, 1, .inherited = true}, + [82] = {field_field, 1}, {field_init, 3}, }; @@ -885,29 +883,43 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE [15] = { [0] = alias_sym_type_identifier, }, - [23] = { + [22] = { [3] = alias_sym_type_identifier, }, + [23] = { + [0] = alias_sym_type_identifier, + }, [24] = { [0] = alias_sym_type_identifier, + [2] = alias_sym_field_identifier, }, - [25] = { + [27] = { + [2] = alias_sym_type_identifier, + }, + [28] = { + [3] = alias_sym_type_identifier, + }, + [29] = { [0] = alias_sym_type_identifier, [2] = alias_sym_field_identifier, }, - [28] = { - [2] = alias_sym_type_identifier, - }, - [32] = { + [31] = { [3] = alias_sym_type_identifier, }, [33] = { - [0] = alias_sym_type_identifier, - [2] = alias_sym_field_identifier, + [1] = alias_sym_field_identifier, + [3] = alias_sym_type_identifier, + }, + [34] = { + [3] = alias_sym_type_identifier, }, [36] = { [1] = alias_sym_field_identifier, }, + [37] = { + [1] = alias_sym_field_identifier, + [3] = alias_sym_type_identifier, + }, }; static const uint16_t ts_non_terminal_alias_map[] = { @@ -1476,21 +1488,21 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [65] = {.lex_state = 8, .external_lex_state = 1}, [66] = {.lex_state = 8, .external_lex_state = 1}, [67] = {.lex_state = 8, .external_lex_state = 1}, - [68] = {.lex_state = 8, .external_lex_state = 1}, + [68] = {.lex_state = 0, .external_lex_state = 1}, [69] = {.lex_state = 8, .external_lex_state = 1}, [70] = {.lex_state = 8, .external_lex_state = 1}, - [71] = {.lex_state = 0, .external_lex_state = 1}, - [72] = {.lex_state = 8, .external_lex_state = 1}, - [73] = {.lex_state = 8, .external_lex_state = 1}, + [71] = {.lex_state = 8, .external_lex_state = 1}, + [72] = {.lex_state = 0, .external_lex_state = 1}, + [73] = {.lex_state = 0, .external_lex_state = 1}, [74] = {.lex_state = 8, .external_lex_state = 1}, - [75] = {.lex_state = 0, .external_lex_state = 1}, - [76] = {.lex_state = 0, .external_lex_state = 1}, + [75] = {.lex_state = 8, .external_lex_state = 1}, + [76] = {.lex_state = 8, .external_lex_state = 1}, [77] = {.lex_state = 0, .external_lex_state = 1}, [78] = {.lex_state = 0, .external_lex_state = 1}, [79] = {.lex_state = 0, .external_lex_state = 1}, [80] = {.lex_state = 8, .external_lex_state = 1}, - [81] = {.lex_state = 8, .external_lex_state = 1}, - [82] = {.lex_state = 0, .external_lex_state = 1}, + [81] = {.lex_state = 0, .external_lex_state = 1}, + [82] = {.lex_state = 8, .external_lex_state = 1}, [83] = {.lex_state = 8, .external_lex_state = 1}, [84] = {.lex_state = 8, .external_lex_state = 1}, [85] = {.lex_state = 0, .external_lex_state = 1}, @@ -1512,19 +1524,19 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [101] = {.lex_state = 8, .external_lex_state = 1}, [102] = {.lex_state = 1, .external_lex_state = 1}, [103] = {.lex_state = 1, .external_lex_state = 1}, - [104] = {.lex_state = 8, .external_lex_state = 1}, - [105] = {.lex_state = 0, .external_lex_state = 1}, - [106] = {.lex_state = 1, .external_lex_state = 1}, + [104] = {.lex_state = 1, .external_lex_state = 1}, + [105] = {.lex_state = 8, .external_lex_state = 1}, + [106] = {.lex_state = 0, .external_lex_state = 1}, [107] = {.lex_state = 0, .external_lex_state = 1}, [108] = {.lex_state = 0, .external_lex_state = 1}, [109] = {.lex_state = 0, .external_lex_state = 1}, [110] = {.lex_state = 0, .external_lex_state = 1}, - [111] = {.lex_state = 8, .external_lex_state = 1}, + [111] = {.lex_state = 0, .external_lex_state = 1}, [112] = {.lex_state = 0, .external_lex_state = 1}, [113] = {.lex_state = 0, .external_lex_state = 1}, [114] = {.lex_state = 0, .external_lex_state = 1}, [115] = {.lex_state = 8, .external_lex_state = 1}, - [116] = {.lex_state = 0, .external_lex_state = 1}, + [116] = {.lex_state = 8, .external_lex_state = 1}, [117] = {.lex_state = 0, .external_lex_state = 1}, [118] = {.lex_state = 0, .external_lex_state = 1}, [119] = {.lex_state = 0, .external_lex_state = 1}, @@ -1533,29 +1545,37 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [122] = {.lex_state = 8, .external_lex_state = 1}, [123] = {.lex_state = 8, .external_lex_state = 1}, [124] = {.lex_state = 0, .external_lex_state = 1}, - [125] = {.lex_state = 0, .external_lex_state = 1}, + [125] = {.lex_state = 8, .external_lex_state = 1}, [126] = {.lex_state = 0, .external_lex_state = 1}, - [127] = {.lex_state = 8, .external_lex_state = 1}, - [128] = {.lex_state = 8, .external_lex_state = 1}, + [127] = {.lex_state = 0, .external_lex_state = 1}, + [128] = {.lex_state = 0, .external_lex_state = 1}, [129] = {.lex_state = 0, .external_lex_state = 1}, - [130] = {.lex_state = 8, .external_lex_state = 1}, + [130] = {.lex_state = 0, .external_lex_state = 1}, [131] = {.lex_state = 8, .external_lex_state = 1}, - [132] = {.lex_state = 8, .external_lex_state = 1}, - [133] = {.lex_state = 0, .external_lex_state = 1}, + [132] = {.lex_state = 0, .external_lex_state = 1}, + [133] = {.lex_state = 8, .external_lex_state = 1}, [134] = {.lex_state = 8, .external_lex_state = 1}, [135] = {.lex_state = 8, .external_lex_state = 1}, [136] = {.lex_state = 8, .external_lex_state = 1}, [137] = {.lex_state = 8, .external_lex_state = 1}, - [138] = {.lex_state = 0, .external_lex_state = 1}, - [139] = {.lex_state = 8, .external_lex_state = 1}, + [138] = {.lex_state = 8, .external_lex_state = 1}, + [139] = {.lex_state = 0, .external_lex_state = 1}, [140] = {.lex_state = 0, .external_lex_state = 1}, - [141] = {.lex_state = 0, .external_lex_state = 1}, - [142] = {.lex_state = 0, .external_lex_state = 1}, - [143] = {.lex_state = 8, .external_lex_state = 1}, - [144] = {.lex_state = 8, .external_lex_state = 1}, + [141] = {.lex_state = 8, .external_lex_state = 1}, + [142] = {.lex_state = 8, .external_lex_state = 1}, + [143] = {.lex_state = 0, .external_lex_state = 1}, + [144] = {.lex_state = 0, .external_lex_state = 1}, [145] = {.lex_state = 0, .external_lex_state = 1}, - [146] = {.lex_state = 0, .external_lex_state = 1}, - [147] = {.lex_state = 8, .external_lex_state = 1}, + [146] = {.lex_state = 8, .external_lex_state = 1}, + [147] = {.lex_state = 0, .external_lex_state = 1}, + [148] = {.lex_state = 8, .external_lex_state = 1}, + [149] = {.lex_state = 0, .external_lex_state = 1}, + [150] = {.lex_state = 8, .external_lex_state = 1}, + [151] = {.lex_state = 8, .external_lex_state = 1}, + [152] = {.lex_state = 8, .external_lex_state = 1}, + [153] = {.lex_state = 8, .external_lex_state = 1}, + [154] = {.lex_state = 8, .external_lex_state = 1}, + [155] = {.lex_state = 0, .external_lex_state = 1}, }; enum { @@ -1624,32 +1644,32 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [1] = { - [sym_source_file] = STATE(141), - [sym__expr] = STATE(85), - [sym_string_literal] = STATE(85), - [sym__lvalue] = STATE(4), - [sym_record_value] = STATE(4), - [sym_array_value] = STATE(4), - [sym_function_call] = STATE(85), - [sym_unary_expression] = STATE(85), - [sym_binary_expression] = STATE(85), - [sym_sequence_expression] = STATE(85), - [sym_array_expression] = STATE(85), - [sym_record_expression] = STATE(85), - [sym_assignment_expression] = STATE(85), - [sym_if_expression] = STATE(85), - [sym_while_expression] = STATE(85), - [sym_for_expression] = STATE(85), - [sym_let_expression] = STATE(85), - [aux_sym__declaration_chunks] = STATE(72), - [sym__declaration_chunk] = STATE(72), - [sym_type_declaration] = STATE(72), - [sym_function_declaration] = STATE(72), - [sym_primitive_declaration] = STATE(72), - [sym_variable_declaration] = STATE(72), - [sym_import_declaration] = STATE(72), - [aux_sym__declaration_chunk_repeat1] = STATE(72), - [aux_sym__declaration_chunk_repeat2] = STATE(72), + [sym_source_file] = STATE(130), + [sym__expr] = STATE(81), + [sym_string_literal] = STATE(81), + [sym__lvalue] = STATE(5), + [sym_record_value] = STATE(5), + [sym_array_value] = STATE(5), + [sym_function_call] = STATE(81), + [sym_unary_expression] = STATE(81), + [sym_binary_expression] = STATE(81), + [sym_sequence_expression] = STATE(81), + [sym_array_expression] = STATE(81), + [sym_record_expression] = STATE(81), + [sym_assignment_expression] = STATE(81), + [sym_if_expression] = STATE(81), + [sym_while_expression] = STATE(81), + [sym_for_expression] = STATE(81), + [sym_let_expression] = STATE(81), + [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(5), [sym_identifier] = ACTIONS(7), [sym_nil_literal] = ACTIONS(9), @@ -1751,19 +1771,56 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [88] = 6, + [88] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(52), 1, + ACTIONS(52), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(50), 30, + ts_builtin_sym_end, anon_sym_DOT, - ACTIONS(54), 1, anon_sym_LBRACK, + 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_COLON_EQ, + 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, + [128] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(56), 1, + anon_sym_DOT, ACTIONS(58), 1, + anon_sym_LBRACK, + ACTIONS(62), 1, anon_sym_COLON_EQ, - ACTIONS(56), 2, + ACTIONS(60), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(50), 27, + ACTIONS(54), 27, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1791,34 +1848,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [134] = 3, + [174] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(62), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(60), 30, - ts_builtin_sym_end, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, + ACTIONS(78), 1, + anon_sym_else, + ACTIONS(66), 2, anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, anon_sym_STAR, anon_sym_SLASH, - anon_sym_PLUS, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(64), 16, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, - anon_sym_COLON_EQ, anon_sym_then, - anon_sym_else, anon_sym_do, anon_sym_to, anon_sym_in, @@ -1828,7 +1888,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [174] = 8, + [223] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(74), 1, @@ -1849,7 +1909,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(64), 17, + ACTIONS(80), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1867,41 +1927,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [221] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(80), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(78), 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, - [258] = 3, + [270] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(84), 2, @@ -1935,7 +1961,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [295] = 8, + [307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(88), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(86), 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, + [344] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(74), 1, @@ -1956,7 +2016,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(86), 17, + ACTIONS(90), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1974,21 +2034,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [342] = 3, + [391] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(90), 2, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(88), 27, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(92), 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, + [434] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(66), 2, anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, anon_sym_STAR, anon_sym_SLASH, - anon_sym_PLUS, + ACTIONS(94), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(92), 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, @@ -2008,7 +2107,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [379] = 3, + [475] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(94), 2, @@ -2042,7 +2141,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [416] = 3, + [512] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(98), 2, @@ -2076,7 +2175,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [453] = 3, + [549] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(94), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(92), 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, + [588] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(102), 2, @@ -2110,109 +2244,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [490] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(106), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(104), 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, - [527] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(110), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(108), 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, - [564] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(114), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(112), 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, - [601] = 8, + [625] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(74), 1, @@ -2233,7 +2265,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(116), 17, + ACTIONS(104), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2251,7 +2283,283 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [648] = 8, + [672] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(108), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(106), 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, + [709] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(112), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(110), 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, + [746] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(116), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(114), 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, + [783] = 3, + ACTIONS(3), 1, + sym_comment, + 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, + [820] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(124), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(122), 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, + [857] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(92), 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, + [902] = 3, + ACTIONS(3), 1, + sym_comment, + 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, + [939] = 3, + ACTIONS(3), 1, + sym_comment, + 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, + [976] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(74), 1, @@ -2272,7 +2580,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(118), 17, + ACTIONS(134), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2290,149 +2598,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [695] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(122), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(120), 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, - [732] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(74), 1, - anon_sym_AMP, - ACTIONS(76), 1, - anon_sym_PIPE, - ACTIONS(126), 1, - anon_sym_else, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(72), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(70), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(124), 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_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, - [781] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(130), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(128), 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, - [818] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(134), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(132), 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, - [855] = 3, + [1023] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(138), 2, @@ -2466,7 +2632,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [892] = 3, + [1060] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(142), 2, @@ -2500,7 +2666,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [929] = 3, + [1097] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(146), 2, @@ -2534,7 +2700,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [966] = 8, + [1134] = 3, + ACTIONS(3), 1, + sym_comment, + 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, + [1171] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(74), 1, @@ -2555,7 +2755,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(148), 17, + ACTIONS(152), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2573,116 +2773,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1013] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(152), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(150), 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, - [1050] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(74), 1, - anon_sym_AMP, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(72), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(70), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(154), 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, - [1095] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(72), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(70), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(154), 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, - [1138] = 3, + [1218] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(156), 2, @@ -2716,7 +2807,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1175] = 3, + [1255] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(160), 2, @@ -2750,77 +2841,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1212] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(156), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(154), 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, - [1253] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(156), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(154), 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, [1292] = 3, ACTIONS(3), 1, sym_comment, @@ -2875,16 +2895,16 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(23), 1, anon_sym_let, ACTIONS(168), 1, - anon_sym_end, + anon_sym_RPAREN, ACTIONS(166), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(69), 13, + STATE(73), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2923,11 +2943,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(70), 13, + STATE(75), 13, sym__expr, sym_string_literal, sym_function_call, @@ -2961,16 +2981,16 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(23), 1, anon_sym_let, ACTIONS(176), 1, - anon_sym_RPAREN, + anon_sym_end, ACTIONS(174), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(76), 13, + STATE(69), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3009,11 +3029,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(71), 13, + STATE(68), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3050,11 +3070,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(81), 13, + STATE(77), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3091,11 +3111,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(84), 13, + STATE(72), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3132,11 +3152,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(79), 13, + STATE(12), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3173,11 +3193,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(26), 13, + STATE(11), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3214,11 +3234,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(77), 13, + STATE(79), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3255,11 +3275,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(17), 13, + STATE(26), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3296,11 +3316,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(80), 13, + STATE(8), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3337,11 +3357,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(75), 13, + STATE(83), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3378,11 +3398,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(33), 13, + STATE(23), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3419,11 +3439,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(30), 13, + STATE(78), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3460,11 +3480,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(32), 13, + STATE(82), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3501,11 +3521,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(29), 13, + STATE(15), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3542,11 +3562,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(28), 13, + STATE(7), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3583,11 +3603,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(6), 13, + STATE(10), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3624,11 +3644,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(82), 13, + STATE(85), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3665,11 +3685,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(25), 13, + STATE(64), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3706,11 +3726,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(78), 13, + STATE(17), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3747,11 +3767,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(9), 13, + STATE(66), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3788,11 +3808,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(65), 13, + STATE(70), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3829,11 +3849,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(83), 13, + STATE(13), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3870,11 +3890,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(64), 13, + STATE(6), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3911,11 +3931,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(66), 13, + STATE(31), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3952,11 +3972,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(18), 13, + STATE(84), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3993,11 +4013,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(74), 13, + STATE(80), 13, sym__expr, sym_string_literal, sym_function_call, @@ -4034,11 +4054,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(4), 3, + STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, - STATE(20), 13, + STATE(65), 13, sym__expr, sym_string_literal, sym_function_call, @@ -4165,20 +4185,99 @@ static const uint16_t ts_small_parse_table[] = { sym_import_declaration, aux_sym__declaration_chunk_repeat1, aux_sym__declaration_chunk_repeat2, - [3023] = 8, + [3023] = 10, ACTIONS(3), 1, sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, ACTIONS(255), 1, - anon_sym_in, + anon_sym_RPAREN, ACTIONS(257), 1, - anon_sym_type, + anon_sym_SEMI, + STATE(114), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3060] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, + ACTIONS(257), 1, + anon_sym_SEMI, ACTIONS(259), 1, - anon_sym_function, - ACTIONS(261), 1, - anon_sym_primitive, + anon_sym_end, + STATE(116), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3097] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(261), 3, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_end, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3130] = 8, + ACTIONS(3), 1, + sym_comment, ACTIONS(263), 1, - anon_sym_var, + anon_sym_in, ACTIONS(265), 1, + anon_sym_type, + ACTIONS(267), 1, + anon_sym_function, + ACTIONS(269), 1, + anon_sym_primitive, + ACTIONS(271), 1, + anon_sym_var, + ACTIONS(273), 1, anon_sym_import, STATE(67), 9, aux_sym__declaration_chunks, @@ -4190,16 +4289,95 @@ static const uint16_t ts_small_parse_table[] = { sym_import_declaration, aux_sym__declaration_chunk_repeat1, aux_sym__declaration_chunk_repeat2, - [3056] = 10, + [3163] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(74), 1, anon_sym_AMP, ACTIONS(76), 1, anon_sym_PIPE, + ACTIONS(275), 1, + anon_sym_COMMA, + ACTIONS(277), 1, + anon_sym_RBRACE, + STATE(112), 1, + aux_sym_record_expression_repeat1, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3200] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, + ACTIONS(279), 1, + anon_sym_COMMA, + ACTIONS(281), 1, + anon_sym_RPAREN, + STATE(111), 1, + aux_sym_function_call_repeat1, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3237] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(265), 1, + anon_sym_type, ACTIONS(267), 1, - anon_sym_SEMI, + anon_sym_function, ACTIONS(269), 1, + anon_sym_primitive, + ACTIONS(271), 1, + anon_sym_var, + ACTIONS(273), 1, + anon_sym_import, + ACTIONS(283), 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, + [3270] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, + ACTIONS(257), 1, + anon_sym_SEMI, + ACTIONS(285), 1, anon_sym_end, STATE(115), 1, aux_sym_sequence_expression_repeat1, @@ -4217,189 +4395,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3093] = 10, + [3307] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(74), 1, - anon_sym_AMP, - ACTIONS(76), 1, - anon_sym_PIPE, + ACTIONS(265), 1, + anon_sym_type, ACTIONS(267), 1, - anon_sym_SEMI, + anon_sym_function, + ACTIONS(269), 1, + anon_sym_primitive, ACTIONS(271), 1, - anon_sym_end, - STATE(121), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(72), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(70), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3130] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(74), 1, - anon_sym_AMP, - ACTIONS(76), 1, - anon_sym_PIPE, + anon_sym_var, ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(275), 1, - anon_sym_RPAREN, - STATE(113), 1, - aux_sym_function_call_repeat1, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(72), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(70), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3167] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(257), 1, - anon_sym_type, - ACTIONS(259), 1, - anon_sym_function, - ACTIONS(261), 1, - anon_sym_primitive, - ACTIONS(263), 1, - anon_sym_var, - ACTIONS(265), 1, anon_sym_import, - ACTIONS(277), 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, - [3200] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(257), 1, - anon_sym_type, - ACTIONS(259), 1, - anon_sym_function, - ACTIONS(261), 1, - anon_sym_primitive, - ACTIONS(263), 1, - anon_sym_var, - ACTIONS(265), 1, - anon_sym_import, - ACTIONS(279), 1, - anon_sym_in, - STATE(68), 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, - [3233] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(74), 1, - anon_sym_AMP, - ACTIONS(76), 1, - anon_sym_PIPE, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(72), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(281), 3, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_end, - ACTIONS(70), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3266] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(74), 1, - anon_sym_AMP, - ACTIONS(76), 1, - anon_sym_PIPE, - ACTIONS(283), 1, - anon_sym_COMMA, - ACTIONS(285), 1, - anon_sym_RBRACE, - STATE(118), 1, - aux_sym_record_expression_repeat1, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(72), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(70), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3303] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(74), 1, - anon_sym_AMP, - ACTIONS(76), 1, - anon_sym_PIPE, - ACTIONS(267), 1, - anon_sym_SEMI, ACTIONS(287), 1, - anon_sym_RPAREN, - STATE(114), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(68), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(72), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(70), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, + anon_sym_in, + STATE(71), 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, [3340] = 8, ACTIONS(3), 1, sym_comment, @@ -4418,7 +4438,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT, ACTIONS(289), 2, anon_sym_COMMA, - anon_sym_RBRACE, + anon_sym_RPAREN, ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, @@ -4442,7 +4462,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT, ACTIONS(291), 2, anon_sym_COMMA, - anon_sym_RPAREN, + anon_sym_RBRACE, ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, @@ -4479,7 +4499,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(76), 1, anon_sym_PIPE, ACTIONS(295), 1, - anon_sym_then, + anon_sym_do, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, @@ -4501,8 +4521,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(297), 1, - anon_sym_do, + ACTIONS(283), 1, + ts_builtin_sym_end, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, @@ -4524,8 +4544,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(299), 1, - anon_sym_RBRACK, + ACTIONS(297), 1, + anon_sym_then, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, @@ -4547,7 +4567,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(301), 1, + ACTIONS(299), 1, anon_sym_do, ACTIONS(66), 2, anon_sym_DASH, @@ -4570,7 +4590,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(303), 1, + ACTIONS(301), 1, anon_sym_to, ACTIONS(66), 2, anon_sym_DASH, @@ -4593,8 +4613,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(277), 1, - ts_builtin_sym_end, + ACTIONS(303), 1, + anon_sym_RBRACK, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, @@ -4639,61 +4659,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3658] = 4, + [3658] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(317), 1, + anon_sym_COLON, + ACTIONS(315), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_in, anon_sym_type, - STATE(88), 2, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3675] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(319), 9, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_in, + anon_sym_type, + anon_sym_COLON, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3690] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(321), 9, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_in, + anon_sym_type, + anon_sym_COLON, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3705] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(325), 1, + anon_sym_type, + STATE(91), 2, sym_type_declaration, aux_sym__declaration_chunk_repeat1, - ACTIONS(315), 6, + ACTIONS(323), 6, ts_builtin_sym_end, anon_sym_in, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [3677] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(320), 9, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_in, - anon_sym_type, - anon_sym_COLON, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [3692] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(322), 9, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_in, - anon_sym_type, - anon_sym_COLON, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [3707] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(324), 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, [3724] = 2, ACTIONS(3), 1, sym_comment, @@ -4728,53 +4748,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3764] = 2, + [3764] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(334), 7, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [3777] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(336), 7, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [3790] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(338), 7, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [3803] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(340), 1, + ACTIONS(334), 1, sym_identifier, - ACTIONS(342), 1, + ACTIONS(336), 1, anon_sym_LBRACE, - ACTIONS(344), 1, + ACTIONS(338), 1, anon_sym_array, - STATE(96), 4, + STATE(100), 4, sym__type, sym_type_alias, sym_record_type, sym_array_type, + [3783] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(340), 7, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3796] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(342), 7, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3809] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(344), 7, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, [3822] = 2, ACTIONS(3), 1, sym_comment, @@ -4823,7 +4843,7 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(356), 1, anon_sym_DQUOTE, - STATE(106), 1, + STATE(104), 1, aux_sym_string_literal_repeat1, ACTIONS(358), 2, aux_sym_string_literal_token1, @@ -4832,342 +4852,377 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(3), 1, sym_comment, ACTIONS(360), 1, - anon_sym_SEMI, + anon_sym_DQUOTE, STATE(104), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(281), 2, - anon_sym_RPAREN, - anon_sym_end, + aux_sym_string_literal_repeat1, + ACTIONS(362), 2, + aux_sym_string_literal_token1, + sym_escape_sequence, [3903] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(363), 1, - anon_sym_COMMA, + ACTIONS(365), 1, + anon_sym_SEMI, STATE(105), 1, - aux_sym_record_type_repeat1, - ACTIONS(366), 2, + aux_sym_sequence_expression_repeat1, + ACTIONS(261), 2, anon_sym_RPAREN, - anon_sym_RBRACE, + anon_sym_end, [3917] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(368), 1, - anon_sym_DQUOTE, + anon_sym_COMMA, + ACTIONS(371), 1, + anon_sym_RPAREN, STATE(106), 1, - aux_sym_string_literal_repeat1, - ACTIONS(370), 2, - aux_sym_string_literal_token1, - sym_escape_sequence, - [3931] = 2, + aux_sym_parameters_repeat1, + [3930] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(373), 3, + ACTIONS(373), 1, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - [3940] = 4, - ACTIONS(3), 1, - sym_comment, ACTIONS(375), 1, - anon_sym_COMMA, - ACTIONS(377), 1, - anon_sym_RPAREN, - STATE(105), 1, - aux_sym_record_type_repeat1, - [3953] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(291), 1, - anon_sym_RPAREN, - ACTIONS(379), 1, - anon_sym_COMMA, - STATE(109), 1, - aux_sym_function_call_repeat1, - [3966] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(382), 3, - anon_sym_COMMA, - anon_sym_RPAREN, anon_sym_RBRACE, - [3975] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(384), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_RBRACE, - STATE(117), 1, - sym__typed_field, - [3988] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(375), 1, - anon_sym_COMMA, - ACTIONS(388), 1, - anon_sym_RBRACE, - STATE(105), 1, - aux_sym_record_type_repeat1, - [4001] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(390), 1, - anon_sym_RPAREN, - STATE(109), 1, - aux_sym_function_call_repeat1, - [4014] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(267), 1, - anon_sym_SEMI, - ACTIONS(392), 1, - anon_sym_RPAREN, - STATE(104), 1, - aux_sym_sequence_expression_repeat1, - [4027] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(267), 1, - anon_sym_SEMI, - ACTIONS(394), 1, - anon_sym_end, - STATE(104), 1, - aux_sym_sequence_expression_repeat1, - [4040] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(396), 1, - anon_sym_COMMA, - ACTIONS(399), 1, - anon_sym_RBRACE, - STATE(116), 1, - aux_sym_record_expression_repeat1, - [4053] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(375), 1, - anon_sym_COMMA, - ACTIONS(401), 1, - anon_sym_RBRACE, - STATE(112), 1, - aux_sym_record_type_repeat1, - [4066] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(283), 1, - anon_sym_COMMA, - ACTIONS(403), 1, - anon_sym_RBRACE, - STATE(116), 1, - aux_sym_record_expression_repeat1, - [4079] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(375), 1, - anon_sym_COMMA, - ACTIONS(405), 1, - anon_sym_RPAREN, STATE(108), 1, aux_sym_record_type_repeat1, - [4092] = 4, + [3943] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(384), 1, - sym_identifier, - ACTIONS(407), 1, - anon_sym_RPAREN, - STATE(119), 1, - sym__typed_field, - [4105] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(267), 1, - anon_sym_SEMI, - ACTIONS(409), 1, - anon_sym_end, - STATE(104), 1, - aux_sym_sequence_expression_repeat1, - [4118] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(411), 1, - sym_identifier, - ACTIONS(413), 1, + ACTIONS(377), 1, + anon_sym_COMMA, + ACTIONS(380), 1, anon_sym_RBRACE, - [4128] = 3, + STATE(108), 1, + aux_sym_record_type_repeat1, + [3956] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(415), 1, - sym_identifier, - STATE(95), 1, - sym__function_declaration_common, - [4138] = 3, + ACTIONS(382), 1, + anon_sym_COMMA, + ACTIONS(384), 1, + anon_sym_RPAREN, + STATE(113), 1, + aux_sym_parameters_repeat1, + [3969] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(417), 1, + ACTIONS(289), 1, + anon_sym_RPAREN, + ACTIONS(386), 1, + anon_sym_COMMA, + STATE(110), 1, + aux_sym_function_call_repeat1, + [3982] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(279), 1, + anon_sym_COMMA, + ACTIONS(389), 1, + anon_sym_RPAREN, + STATE(110), 1, + aux_sym_function_call_repeat1, + [3995] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(275), 1, + anon_sym_COMMA, + ACTIONS(391), 1, + anon_sym_RBRACE, + STATE(117), 1, + aux_sym_record_expression_repeat1, + [4008] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(382), 1, + anon_sym_COMMA, + ACTIONS(393), 1, + anon_sym_RPAREN, + STATE(106), 1, + aux_sym_parameters_repeat1, + [4021] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(257), 1, + anon_sym_SEMI, + ACTIONS(395), 1, + anon_sym_RPAREN, + STATE(105), 1, + aux_sym_sequence_expression_repeat1, + [4034] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(257), 1, + anon_sym_SEMI, + ACTIONS(397), 1, + anon_sym_end, + STATE(105), 1, + aux_sym_sequence_expression_repeat1, + [4047] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(257), 1, + anon_sym_SEMI, + ACTIONS(399), 1, + anon_sym_end, + STATE(105), 1, + aux_sym_sequence_expression_repeat1, + [4060] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(401), 1, + anon_sym_COMMA, + ACTIONS(404), 1, + anon_sym_RBRACE, + STATE(117), 1, + aux_sym_record_expression_repeat1, + [4073] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(373), 1, + anon_sym_COMMA, + ACTIONS(406), 1, + anon_sym_RBRACE, + STATE(107), 1, + aux_sym_record_type_repeat1, + [4086] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(408), 1, anon_sym_LPAREN, - STATE(91), 1, + STATE(88), 1, sym_parameters, - [4148] = 3, + [4096] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(419), 1, + ACTIONS(410), 1, + sym_identifier, + ACTIONS(412), 1, + anon_sym_RPAREN, + [4106] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(414), 1, + sym_identifier, + ACTIONS(416), 1, + anon_sym_RBRACE, + [4116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(418), 1, + sym_identifier, + STATE(98), 1, + sym__function_declaration_common, + [4126] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(422), 1, + anon_sym_RBRACE, + [4136] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(424), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [4144] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(418), 1, + sym_identifier, + STATE(144), 1, + sym__function_declaration_common, + [4154] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(426), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [4162] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(428), 1, anon_sym_COLON_EQ, - ACTIONS(421), 1, + ACTIONS(430), 1, anon_sym_COLON, - [4158] = 3, + [4172] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_DQUOTE, - STATE(101), 1, + STATE(99), 1, sym_string_literal, - [4168] = 3, + [4182] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(384), 1, - sym_identifier, - STATE(107), 1, - sym__typed_field, - [4178] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(415), 1, - sym_identifier, - STATE(146), 1, - sym__function_declaration_common, - [4188] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(423), 1, - anon_sym_COLON_EQ, - [4195] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(425), 1, - sym_identifier, - [4202] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(427), 1, - sym_identifier, - [4209] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(429), 1, - sym_identifier, - [4216] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(431), 1, - anon_sym_EQ, - [4223] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(433), 1, - sym_identifier, - [4230] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(435), 1, - sym_identifier, - [4237] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(437), 1, - anon_sym_of, - [4244] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(439), 1, - anon_sym_of, - [4251] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(441), 1, - anon_sym_EQ, - [4258] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(443), 1, - sym_identifier, - [4265] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(445), 1, - anon_sym_EQ, - [4272] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(447), 1, - ts_builtin_sym_end, - [4279] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(449), 1, - anon_sym_COLON_EQ, - [4286] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(451), 1, - sym_identifier, - [4293] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(453), 1, - sym_identifier, - [4300] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(455), 1, + ACTIONS(432), 1, anon_sym_COLON, - [4307] = 2, + [4189] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(457), 1, - anon_sym_EQ, - [4314] = 2, + ACTIONS(434), 1, + ts_builtin_sym_end, + [4196] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(459), 1, + ACTIONS(436), 1, sym_identifier, + [4203] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(438), 1, + anon_sym_EQ, + [4210] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(440), 1, + sym_identifier, + [4217] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(442), 1, + sym_identifier, + [4224] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(444), 1, + sym_identifier, + [4231] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(446), 1, + sym_identifier, + [4238] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(448), 1, + sym_identifier, + [4245] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(450), 1, + sym_identifier, + [4252] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(452), 1, + anon_sym_COLON, + [4259] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(454), 1, + anon_sym_COLON_EQ, + [4266] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(456), 1, + sym_identifier, + [4273] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(458), 1, + sym_identifier, + [4280] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(460), 1, + anon_sym_EQ, + [4287] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(462), 1, + anon_sym_EQ, + [4294] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(464), 1, + anon_sym_COLON, + [4301] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(466), 1, + sym_identifier, + [4308] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(468), 1, + anon_sym_COLON_EQ, + [4315] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(470), 1, + sym_identifier, + [4322] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(472), 1, + anon_sym_COLON, + [4329] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(474), 1, + sym_identifier, + [4336] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(476), 1, + anon_sym_of, + [4343] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(478), 1, + sym_identifier, + [4350] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(480), 1, + sym_identifier, + [4357] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(482), 1, + anon_sym_of, + [4364] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(484), 1, + anon_sym_EQ, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, [SMALL_STATE(3)] = 48, [SMALL_STATE(4)] = 88, - [SMALL_STATE(5)] = 134, + [SMALL_STATE(5)] = 128, [SMALL_STATE(6)] = 174, - [SMALL_STATE(7)] = 221, - [SMALL_STATE(8)] = 258, - [SMALL_STATE(9)] = 295, - [SMALL_STATE(10)] = 342, - [SMALL_STATE(11)] = 379, - [SMALL_STATE(12)] = 416, - [SMALL_STATE(13)] = 453, - [SMALL_STATE(14)] = 490, - [SMALL_STATE(15)] = 527, - [SMALL_STATE(16)] = 564, - [SMALL_STATE(17)] = 601, - [SMALL_STATE(18)] = 648, - [SMALL_STATE(19)] = 695, - [SMALL_STATE(20)] = 732, - [SMALL_STATE(21)] = 781, - [SMALL_STATE(22)] = 818, - [SMALL_STATE(23)] = 855, - [SMALL_STATE(24)] = 892, - [SMALL_STATE(25)] = 929, - [SMALL_STATE(26)] = 966, - [SMALL_STATE(27)] = 1013, - [SMALL_STATE(28)] = 1050, - [SMALL_STATE(29)] = 1095, - [SMALL_STATE(30)] = 1138, - [SMALL_STATE(31)] = 1175, - [SMALL_STATE(32)] = 1212, - [SMALL_STATE(33)] = 1253, + [SMALL_STATE(7)] = 223, + [SMALL_STATE(8)] = 270, + [SMALL_STATE(9)] = 307, + [SMALL_STATE(10)] = 344, + [SMALL_STATE(11)] = 391, + [SMALL_STATE(12)] = 434, + [SMALL_STATE(13)] = 475, + [SMALL_STATE(14)] = 512, + [SMALL_STATE(15)] = 549, + [SMALL_STATE(16)] = 588, + [SMALL_STATE(17)] = 625, + [SMALL_STATE(18)] = 672, + [SMALL_STATE(19)] = 709, + [SMALL_STATE(20)] = 746, + [SMALL_STATE(21)] = 783, + [SMALL_STATE(22)] = 820, + [SMALL_STATE(23)] = 857, + [SMALL_STATE(24)] = 902, + [SMALL_STATE(25)] = 939, + [SMALL_STATE(26)] = 976, + [SMALL_STATE(27)] = 1023, + [SMALL_STATE(28)] = 1060, + [SMALL_STATE(29)] = 1097, + [SMALL_STATE(30)] = 1134, + [SMALL_STATE(31)] = 1171, + [SMALL_STATE(32)] = 1218, + [SMALL_STATE(33)] = 1255, [SMALL_STATE(34)] = 1292, [SMALL_STATE(35)] = 1329, [SMALL_STATE(36)] = 1385, @@ -5203,14 +5258,14 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(66)] = 2952, [SMALL_STATE(67)] = 2989, [SMALL_STATE(68)] = 3023, - [SMALL_STATE(69)] = 3056, - [SMALL_STATE(70)] = 3093, + [SMALL_STATE(69)] = 3060, + [SMALL_STATE(70)] = 3097, [SMALL_STATE(71)] = 3130, - [SMALL_STATE(72)] = 3167, + [SMALL_STATE(72)] = 3163, [SMALL_STATE(73)] = 3200, - [SMALL_STATE(74)] = 3233, - [SMALL_STATE(75)] = 3266, - [SMALL_STATE(76)] = 3303, + [SMALL_STATE(74)] = 3237, + [SMALL_STATE(75)] = 3270, + [SMALL_STATE(76)] = 3307, [SMALL_STATE(77)] = 3340, [SMALL_STATE(78)] = 3372, [SMALL_STATE(79)] = 3404, @@ -5223,16 +5278,16 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(86)] = 3621, [SMALL_STATE(87)] = 3643, [SMALL_STATE(88)] = 3658, - [SMALL_STATE(89)] = 3677, - [SMALL_STATE(90)] = 3692, - [SMALL_STATE(91)] = 3707, + [SMALL_STATE(89)] = 3675, + [SMALL_STATE(90)] = 3690, + [SMALL_STATE(91)] = 3705, [SMALL_STATE(92)] = 3724, [SMALL_STATE(93)] = 3738, [SMALL_STATE(94)] = 3751, [SMALL_STATE(95)] = 3764, - [SMALL_STATE(96)] = 3777, - [SMALL_STATE(97)] = 3790, - [SMALL_STATE(98)] = 3803, + [SMALL_STATE(96)] = 3783, + [SMALL_STATE(97)] = 3796, + [SMALL_STATE(98)] = 3809, [SMALL_STATE(99)] = 3822, [SMALL_STATE(100)] = 3835, [SMALL_STATE(101)] = 3848, @@ -5241,47 +5296,55 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(104)] = 3889, [SMALL_STATE(105)] = 3903, [SMALL_STATE(106)] = 3917, - [SMALL_STATE(107)] = 3931, - [SMALL_STATE(108)] = 3940, - [SMALL_STATE(109)] = 3953, - [SMALL_STATE(110)] = 3966, - [SMALL_STATE(111)] = 3975, - [SMALL_STATE(112)] = 3988, - [SMALL_STATE(113)] = 4001, - [SMALL_STATE(114)] = 4014, - [SMALL_STATE(115)] = 4027, - [SMALL_STATE(116)] = 4040, - [SMALL_STATE(117)] = 4053, - [SMALL_STATE(118)] = 4066, - [SMALL_STATE(119)] = 4079, - [SMALL_STATE(120)] = 4092, - [SMALL_STATE(121)] = 4105, - [SMALL_STATE(122)] = 4118, - [SMALL_STATE(123)] = 4128, - [SMALL_STATE(124)] = 4138, - [SMALL_STATE(125)] = 4148, - [SMALL_STATE(126)] = 4158, - [SMALL_STATE(127)] = 4168, - [SMALL_STATE(128)] = 4178, - [SMALL_STATE(129)] = 4188, - [SMALL_STATE(130)] = 4195, - [SMALL_STATE(131)] = 4202, - [SMALL_STATE(132)] = 4209, - [SMALL_STATE(133)] = 4216, - [SMALL_STATE(134)] = 4223, - [SMALL_STATE(135)] = 4230, - [SMALL_STATE(136)] = 4237, - [SMALL_STATE(137)] = 4244, - [SMALL_STATE(138)] = 4251, - [SMALL_STATE(139)] = 4258, - [SMALL_STATE(140)] = 4265, - [SMALL_STATE(141)] = 4272, - [SMALL_STATE(142)] = 4279, - [SMALL_STATE(143)] = 4286, - [SMALL_STATE(144)] = 4293, - [SMALL_STATE(145)] = 4300, - [SMALL_STATE(146)] = 4307, - [SMALL_STATE(147)] = 4314, + [SMALL_STATE(107)] = 3930, + [SMALL_STATE(108)] = 3943, + [SMALL_STATE(109)] = 3956, + [SMALL_STATE(110)] = 3969, + [SMALL_STATE(111)] = 3982, + [SMALL_STATE(112)] = 3995, + [SMALL_STATE(113)] = 4008, + [SMALL_STATE(114)] = 4021, + [SMALL_STATE(115)] = 4034, + [SMALL_STATE(116)] = 4047, + [SMALL_STATE(117)] = 4060, + [SMALL_STATE(118)] = 4073, + [SMALL_STATE(119)] = 4086, + [SMALL_STATE(120)] = 4096, + [SMALL_STATE(121)] = 4106, + [SMALL_STATE(122)] = 4116, + [SMALL_STATE(123)] = 4126, + [SMALL_STATE(124)] = 4136, + [SMALL_STATE(125)] = 4144, + [SMALL_STATE(126)] = 4154, + [SMALL_STATE(127)] = 4162, + [SMALL_STATE(128)] = 4172, + [SMALL_STATE(129)] = 4182, + [SMALL_STATE(130)] = 4189, + [SMALL_STATE(131)] = 4196, + [SMALL_STATE(132)] = 4203, + [SMALL_STATE(133)] = 4210, + [SMALL_STATE(134)] = 4217, + [SMALL_STATE(135)] = 4224, + [SMALL_STATE(136)] = 4231, + [SMALL_STATE(137)] = 4238, + [SMALL_STATE(138)] = 4245, + [SMALL_STATE(139)] = 4252, + [SMALL_STATE(140)] = 4259, + [SMALL_STATE(141)] = 4266, + [SMALL_STATE(142)] = 4273, + [SMALL_STATE(143)] = 4280, + [SMALL_STATE(144)] = 4287, + [SMALL_STATE(145)] = 4294, + [SMALL_STATE(146)] = 4301, + [SMALL_STATE(147)] = 4308, + [SMALL_STATE(148)] = 4315, + [SMALL_STATE(149)] = 4322, + [SMALL_STATE(150)] = 4329, + [SMALL_STATE(151)] = 4336, + [SMALL_STATE(152)] = 4343, + [SMALL_STATE(153)] = 4350, + [SMALL_STATE(154)] = 4357, + [SMALL_STATE(155)] = 4364, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -5290,225 +5353,237 @@ static const TSParseActionEntry ts_parse_actions[] = { [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue, 1), - [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lvalue, 1), SHIFT(41), - [40] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lvalue, 1), SHIFT(53), + [40] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [42] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lvalue, 1), - [44] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [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(139), - [54] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [56] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), - [58] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 18), - [62] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 18), - [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 24), - [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [72] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 10), - [80] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 10), - [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 27), - [84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 27), - [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 26), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 25), - [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 25), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), - [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 21), - [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 21), - [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 20), - [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 20), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 19), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 19), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 14), - [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 14), - [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 13), - [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 13), - [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 35), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 12), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 11), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [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_sequence_expression, 3), - [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 33), - [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 33), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), - [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), - [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 5), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 5), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), - [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_function_call, 3, .production_id = 4), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 4), - [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), - [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 17), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 16), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 32), + [44] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 18), + [48] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 18), + [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_value, 3, .production_id = 8), + [52] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_value, 3, .production_id = 8), + [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [56] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [58] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [60] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), + [62] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 11), + [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [72] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 23), + [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), + [84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 32), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), + [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 7), + [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 29), + [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 29), + [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 26), + [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 26), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 25), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 24), + [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 24), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 10), + [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 10), + [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_let_expression, 4, .production_id = 14), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 14), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), + [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 21), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 21), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 20), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 20), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 5), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 5), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 12), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 4), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 4), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 19), + [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 19), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 13), + [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 13), + [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), + [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), + [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), + [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 16), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 28), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 17), [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), - [240] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(147), - [243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(128), - [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(123), - [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(134), - [252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(126), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 36), - [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [240] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(141), + [243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(125), + [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(122), + [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(133), + [252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(128), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 36), + [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), - [307] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(128), - [310] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(123), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, .production_id = 30), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), - [317] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(147), - [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 22), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 2, .production_id = 6), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 4, .production_id = 23), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1, .production_id = 15), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, .production_id = 28), - [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 2, .production_id = 2), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 16), - [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 30), - [340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), - [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 22), - [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 3), - [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [307] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(125), + [310] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(122), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 2, .production_id = 6), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5, .production_id = 31), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 6, .production_id = 34), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), + [325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(141), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 4, .production_id = 22), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, .production_id = 27), + [334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 33), + [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1, .production_id = 15), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 2, .production_id = 2), + [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 3), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 16), + [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 6, .production_id = 37), + [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [360] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(62), - [363] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 31), SHIFT_REPEAT(127), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 31), - [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [370] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(106), - [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 22), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(55), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typed_field, 3, .production_id = 29), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [396] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 34), SHIFT_REPEAT(143), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 34), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [447] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), + [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [362] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(104), + [365] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(57), + [368] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 35), SHIFT_REPEAT(137), + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 35), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [377] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 35), SHIFT_REPEAT(142), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 35), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [386] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(39), + [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [401] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 30), SHIFT_REPEAT(134), + [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 30), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 4, .production_id = 33), + [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 4, .production_id = 31), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [434] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), }; #ifdef __cplusplus diff --git a/test/corpus/declarations.txt b/test/corpus/declarations.txt index af2e017..98bdd2b 100644 --- a/test/corpus/declarations.txt +++ b/test/corpus/declarations.txt @@ -32,10 +32,10 @@ type record = { a: int, b: str } (type_declaration name: (identifier) value: (record_type - name: (identifier) - type: (identifier) - name: (identifier) - type: (identifier)))) + name: (field_identifier) + type: (type_identifier) + name: (field_identifier) + type: (type_identifier)))) ================================================================================ Record type declaration single field @@ -49,8 +49,8 @@ type record = { a: int } (type_declaration name: (identifier) value: (record_type - name: (identifier) - type: (identifier)))) + name: (field_identifier) + type: (type_identifier)))) ================================================================================ Record type declaration no fields @@ -77,8 +77,8 @@ type record = { a: int, } (type_declaration name: (identifier) value: (record_type - name: (identifier) - type: (identifier) + name: (field_identifier) + type: (type_identifier) (ERROR)))) ================================================================================ @@ -125,9 +125,9 @@ function func(a: int, b: int) = "string" name: (identifier) parameters: (parameters name: (identifier) - type: (identifier) + type: (type_identifier) name: (identifier) - type: (identifier)) + type: (type_identifier)) body: (string_literal))) ================================================================================ @@ -143,9 +143,9 @@ function func(a: int, b: int) : string = "string" name: (identifier) parameters: (parameters name: (identifier) - type: (identifier) + type: (type_identifier) name: (identifier) - type: (identifier)) + type: (type_identifier)) return_type: (type_identifier) body: (string_literal))) @@ -162,7 +162,7 @@ function func(a: int) = "string" name: (identifier) parameters: (parameters name: (identifier) - type: (identifier)) + type: (type_identifier)) body: (string_literal))) ================================================================================