diff --git a/corpus/expressions.txt b/corpus/expressions.txt index 9e3b790..a149aa0 100644 --- a/corpus/expressions.txt +++ b/corpus/expressions.txt @@ -138,6 +138,23 @@ or = x \/ y; (assignment (identifier) (infix_operator (identifier) (identifier))) (assignment (identifier) (infix_operator (identifier) (identifier)))) +============== +Let Expression +============== + +empty = let {} in 1; +var_offset = let {var int: a;} in a + 3; +constrained = let {constraint x = y} in x; +multiple = let {var int: a, var int: b} in a + b; + +--- + +(source_file + (assignment (identifier) (let_expression (integer_literal))) + (assignment (identifier) (let_expression (declaration (base_type (primitive_type)) (identifier)) (infix_operator (identifier) (integer_literal)))) + (assignment (identifier) (let_expression (constraint (infix_operator (identifier) (identifier))) (identifier))) + (assignment (identifier) (let_expression (declaration (base_type (primitive_type)) (identifier)) (declaration (base_type (primitive_type)) (identifier)) (infix_operator (identifier) (identifier))))) + =========== Precedences =========== diff --git a/grammar.js b/grammar.js index 877ad41..bf11ca6 100644 --- a/grammar.js +++ b/grammar.js @@ -89,6 +89,7 @@ module.exports = grammar({ $.if_then_else, $.indexed_access, $.infix_operator, + $.let_expression, $.prefix_operator, $.set_comprehension, $.string_interpolation, @@ -193,6 +194,19 @@ module.exports = grammar({ ); }, + let_expression: ($) => + seq( + "let", + "{", + field( + "let", + sepBy(choice(",", ";"), choice($.declaration, $.constraint)) + ), + "}", + "in", + field("in", $._expression) + ), + prefix_operator: ($) => prec( PREC.unary, diff --git a/src/grammar.json b/src/grammar.json index b68c364..6ae9caf 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -266,6 +266,10 @@ "type": "SYMBOL", "name": "infix_operator" }, + { + "type": "SYMBOL", + "name": "let_expression" + }, { "type": "SYMBOL", "name": "prefix_operator" @@ -1245,6 +1249,99 @@ } ] }, + "let_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "let" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "FIELD", + "name": "let", + "content": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "constraint" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "STRING", + "value": ";" + } + ] + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "constraint" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + { + "type": "STRING", + "value": "}" + }, + { + "type": "STRING", + "value": "in" + }, + { + "type": "FIELD", + "name": "in", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, "prefix_operator": { "type": "PREC", "value": 13, diff --git a/src/node-types.json b/src/node-types.json index f57fc5a..109e790 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -51,6 +51,10 @@ "type": "integer_literal", "named": true }, + { + "type": "let_expression", + "named": true + }, { "type": "parenthesised_expression", "named": true @@ -640,6 +644,44 @@ } } }, + { + "type": "let_expression", + "named": true, + "fields": { + "in": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + }, + "let": { + "multiple": true, + "required": false, + "types": [ + { + "type": ",", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "constraint", + "named": true + }, + { + "type": "declaration", + "named": true + } + ] + } + } + }, { "type": "output", "named": true, @@ -1012,6 +1054,10 @@ "type": "intersect", "named": false }, + { + "type": "let", + "named": false + }, { "type": "maximize", "named": false diff --git a/src/parser.c b/src/parser.c index 7cb7edc..0e88ba8 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,13 +6,13 @@ #endif #define LANGUAGE_VERSION 11 -#define STATE_COUNT 203 +#define STATE_COUNT 220 #define LARGE_STATE_COUNT 4 -#define SYMBOL_COUNT 118 +#define SYMBOL_COUNT 121 #define ALIAS_COUNT 1 -#define TOKEN_COUNT 79 +#define TOKEN_COUNT 80 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 14 +#define FIELD_COUNT 16 #define MAX_ALIAS_SEQUENCE_LENGTH 9 enum { @@ -68,72 +68,75 @@ enum { anon_sym_mod = 50, anon_sym_CARET = 51, anon_sym_COLON_COLON = 52, - anon_sym_not = 53, - anon_sym_ = 54, - anon_sym_LBRACE = 55, - anon_sym_RBRACE = 56, - anon_sym_DQUOTE = 57, - anon_sym_BSLASH_LPAREN = 58, - anon_sym_array = 59, - anon_sym_of = 60, - anon_sym_var = 61, - anon_sym_par = 62, - anon_sym_opt = 63, - anon_sym_ann = 64, - anon_sym_bool = 65, - anon_sym_float = 66, - anon_sym_int = 67, - anon_sym_string = 68, - anon_sym_set = 69, - sym_absent = 70, - anon_sym_true = 71, - anon_sym_false = 72, - sym_float_literal = 73, - sym_integer_literal = 74, - aux_sym_string_content_token1 = 75, - sym_escape_sequence = 76, - sym_line_comment = 77, - sym_block_comment = 78, - sym_source_file = 79, - sym__item = 80, - sym_assignment = 81, - sym_constraint = 82, - sym_declaration = 83, - sym_goal = 84, - sym_include = 85, - sym_output = 86, - sym__expression = 87, - sym_parenthesised_expression = 88, - sym_array_comprehension = 89, - sym_call = 90, - sym_generator_call = 91, - sym_generator = 92, - sym_if_then_else = 93, - sym_indexed_access = 94, - sym_infix_operator = 95, - sym_prefix_operator = 96, - sym_set_comprehension = 97, - sym_string_interpolation = 98, - sym__type = 99, - sym_array_type = 100, - sym_base_type = 101, - sym_primitive_type = 102, - sym_set_type = 103, - sym__literal = 104, - sym_array_literal = 105, - sym_boolean_literal = 106, - sym_set_literal = 107, - sym_string_literal = 108, - sym_string_content = 109, - aux_sym_source_file_repeat1 = 110, - aux_sym_array_comprehension_repeat1 = 111, - aux_sym_call_repeat1 = 112, - aux_sym_if_then_else_repeat1 = 113, - aux_sym_indexed_access_repeat1 = 114, - aux_sym_string_interpolation_repeat1 = 115, - aux_sym_array_type_repeat1 = 116, - aux_sym_string_content_repeat1 = 117, - anon_alias_sym_content = 118, + anon_sym_let = 53, + anon_sym_LBRACE = 54, + anon_sym_RBRACE = 55, + anon_sym_not = 56, + anon_sym_ = 57, + anon_sym_DQUOTE = 58, + anon_sym_BSLASH_LPAREN = 59, + anon_sym_array = 60, + anon_sym_of = 61, + anon_sym_var = 62, + anon_sym_par = 63, + anon_sym_opt = 64, + anon_sym_ann = 65, + anon_sym_bool = 66, + anon_sym_float = 67, + anon_sym_int = 68, + anon_sym_string = 69, + anon_sym_set = 70, + sym_absent = 71, + anon_sym_true = 72, + anon_sym_false = 73, + sym_float_literal = 74, + sym_integer_literal = 75, + aux_sym_string_content_token1 = 76, + sym_escape_sequence = 77, + sym_line_comment = 78, + sym_block_comment = 79, + sym_source_file = 80, + sym__item = 81, + sym_assignment = 82, + sym_constraint = 83, + sym_declaration = 84, + sym_goal = 85, + sym_include = 86, + sym_output = 87, + sym__expression = 88, + sym_parenthesised_expression = 89, + sym_array_comprehension = 90, + sym_call = 91, + sym_generator_call = 92, + sym_generator = 93, + sym_if_then_else = 94, + sym_indexed_access = 95, + sym_infix_operator = 96, + sym_let_expression = 97, + sym_prefix_operator = 98, + sym_set_comprehension = 99, + sym_string_interpolation = 100, + sym__type = 101, + sym_array_type = 102, + sym_base_type = 103, + sym_primitive_type = 104, + sym_set_type = 105, + sym__literal = 106, + sym_array_literal = 107, + sym_boolean_literal = 108, + sym_set_literal = 109, + sym_string_literal = 110, + sym_string_content = 111, + aux_sym_source_file_repeat1 = 112, + aux_sym_array_comprehension_repeat1 = 113, + aux_sym_call_repeat1 = 114, + aux_sym_if_then_else_repeat1 = 115, + aux_sym_indexed_access_repeat1 = 116, + aux_sym_let_expression_repeat1 = 117, + aux_sym_string_interpolation_repeat1 = 118, + aux_sym_array_type_repeat1 = 119, + aux_sym_string_content_repeat1 = 120, + anon_alias_sym_content = 121, }; static const char *ts_symbol_names[] = { @@ -190,10 +193,11 @@ static const char *ts_symbol_names[] = { [anon_sym_mod] = "mod", [anon_sym_CARET] = "^", [anon_sym_COLON_COLON] = "::", - [anon_sym_not] = "not", - [anon_sym_] = "¬", + [anon_sym_let] = "let", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", + [anon_sym_not] = "not", + [anon_sym_] = "¬", [anon_sym_DQUOTE] = "\"", [anon_sym_BSLASH_LPAREN] = "\\(", [anon_sym_array] = "array", @@ -233,6 +237,7 @@ static const char *ts_symbol_names[] = { [sym_if_then_else] = "if_then_else", [sym_indexed_access] = "indexed_access", [sym_infix_operator] = "infix_operator", + [sym_let_expression] = "let_expression", [sym_prefix_operator] = "prefix_operator", [sym_set_comprehension] = "set_comprehension", [sym_string_interpolation] = "string_interpolation", @@ -252,6 +257,7 @@ static const char *ts_symbol_names[] = { [aux_sym_call_repeat1] = "call_repeat1", [aux_sym_if_then_else_repeat1] = "if_then_else_repeat1", [aux_sym_indexed_access_repeat1] = "indexed_access_repeat1", + [aux_sym_let_expression_repeat1] = "let_expression_repeat1", [aux_sym_string_interpolation_repeat1] = "string_interpolation_repeat1", [aux_sym_array_type_repeat1] = "array_type_repeat1", [aux_sym_string_content_repeat1] = "string_content_repeat1", @@ -312,10 +318,11 @@ static TSSymbol ts_symbol_map[] = { [anon_sym_mod] = anon_sym_mod, [anon_sym_CARET] = anon_sym_CARET, [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, - [anon_sym_not] = anon_sym_not, - [anon_sym_] = anon_sym_, + [anon_sym_let] = anon_sym_let, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_not] = anon_sym_not, + [anon_sym_] = anon_sym_, [anon_sym_DQUOTE] = anon_sym_DQUOTE, [anon_sym_BSLASH_LPAREN] = anon_sym_BSLASH_LPAREN, [anon_sym_array] = anon_sym_array, @@ -355,6 +362,7 @@ static TSSymbol ts_symbol_map[] = { [sym_if_then_else] = sym_if_then_else, [sym_indexed_access] = sym_indexed_access, [sym_infix_operator] = sym_infix_operator, + [sym_let_expression] = sym_let_expression, [sym_prefix_operator] = sym_prefix_operator, [sym_set_comprehension] = sym_set_comprehension, [sym_string_interpolation] = sym_string_interpolation, @@ -374,6 +382,7 @@ static TSSymbol ts_symbol_map[] = { [aux_sym_call_repeat1] = aux_sym_call_repeat1, [aux_sym_if_then_else_repeat1] = aux_sym_if_then_else_repeat1, [aux_sym_indexed_access_repeat1] = aux_sym_indexed_access_repeat1, + [aux_sym_let_expression_repeat1] = aux_sym_let_expression_repeat1, [aux_sym_string_interpolation_repeat1] = aux_sym_string_interpolation_repeat1, [aux_sym_array_type_repeat1] = aux_sym_array_type_repeat1, [aux_sym_string_content_repeat1] = aux_sym_string_content_repeat1, @@ -593,11 +602,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_not] = { - .visible = true, - .named = false, - }, - [anon_sym_] = { + [anon_sym_let] = { .visible = true, .named = false, }, @@ -609,6 +614,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_not] = { + .visible = true, + .named = false, + }, + [anon_sym_] = { + .visible = true, + .named = false, + }, [anon_sym_DQUOTE] = { .visible = true, .named = false, @@ -765,6 +778,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_let_expression] = { + .visible = true, + .named = true, + }, [sym_prefix_operator] = { .visible = true, .named = true, @@ -841,6 +858,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_let_expression_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_string_interpolation_repeat1] = { .visible = false, .named = false, @@ -864,16 +885,18 @@ enum { field_collection = 2, field_expr = 3, field_generators = 4, - field_indices = 5, - field_left = 6, - field_name = 7, - field_operator = 8, - field_opt = 9, - field_right = 10, - field_strategy = 11, - field_template = 12, - field_type = 13, - field_var_par = 14, + field_in = 5, + field_indices = 6, + field_left = 7, + field_let = 8, + field_name = 9, + field_operator = 10, + field_opt = 11, + field_right = 12, + field_strategy = 13, + field_template = 14, + field_type = 15, + field_var_par = 16, }; static const char *ts_field_names[] = { @@ -882,8 +905,10 @@ static const char *ts_field_names[] = { [field_collection] = "collection", [field_expr] = "expr", [field_generators] = "generators", + [field_in] = "in", [field_indices] = "indices", [field_left] = "left", + [field_let] = "let", [field_name] = "name", [field_operator] = "operator", [field_opt] = "opt", @@ -894,7 +919,7 @@ static const char *ts_field_names[] = { [field_var_par] = "var_par", }; -static const TSFieldMapSlice ts_field_map_slices[20] = { +static const TSFieldMapSlice ts_field_map_slices[23] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 1}, [3] = {.index = 2, .length = 1}, @@ -907,12 +932,15 @@ static const TSFieldMapSlice ts_field_map_slices[20] = { [11] = {.index = 14, .length = 2}, [12] = {.index = 16, .length = 2}, [13] = {.index = 18, .length = 2}, - [14] = {.index = 20, .length = 3}, - [15] = {.index = 23, .length = 3}, - [16] = {.index = 26, .length = 3}, - [17] = {.index = 29, .length = 3}, - [18] = {.index = 32, .length = 4}, - [19] = {.index = 36, .length = 5}, + [14] = {.index = 20, .length = 1}, + [15] = {.index = 21, .length = 3}, + [16] = {.index = 24, .length = 3}, + [17] = {.index = 27, .length = 3}, + [18] = {.index = 30, .length = 2}, + [19] = {.index = 32, .length = 3}, + [20] = {.index = 35, .length = 3}, + [21] = {.index = 38, .length = 4}, + [22] = {.index = 42, .length = 5}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -949,27 +977,36 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_collection, 0}, {field_indices, 2}, [20] = + {field_in, 4}, + [21] = {field_arguments, 2}, {field_arguments, 3}, {field_name, 0}, - [23] = + [24] = {field_collection, 0}, {field_indices, 2}, {field_indices, 3}, - [26] = + [27] = {field_expr, 4}, {field_name, 2}, {field_type, 0}, - [29] = + [30] = + {field_in, 5}, + {field_let, 2}, + [32] = + {field_in, 6}, + {field_let, 2}, + {field_let, 3}, + [35] = {field_generators, 2}, {field_name, 0}, {field_template, 5}, - [32] = + [38] = {field_generators, 2}, {field_generators, 3}, {field_name, 0}, {field_template, 6}, - [36] = + [42] = {field_generators, 2}, {field_generators, 3}, {field_generators, 4}, @@ -977,7 +1014,7 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_template, 7}, }; -static TSSymbol ts_alias_sequences[20][MAX_ALIAS_SEQUENCE_LENGTH] = { +static TSSymbol ts_alias_sequences[23][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, [6] = { [1] = anon_alias_sym_content, @@ -1011,10 +1048,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\\') ADVANCE(7); if (lookahead == ']') ADVANCE(44); if (lookahead == '^') ADVANCE(64); - if (lookahead == '{') ADVANCE(67); + if (lookahead == '{') ADVANCE(66); if (lookahead == '|') ADVANCE(42); - if (lookahead == '}') ADVANCE(68); - if (lookahead == 172) ADVANCE(66); + if (lookahead == '}') ADVANCE(67); + if (lookahead == 172) ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -1213,10 +1250,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\\') ADVANCE(6); if (lookahead == ']') ADVANCE(44); if (lookahead == '^') ADVANCE(64); - if (lookahead == '{') ADVANCE(67); + if (lookahead == '{') ADVANCE(66); if (lookahead == '|') ADVANCE(42); - if (lookahead == '}') ADVANCE(68); - if (lookahead == 172) ADVANCE(66); + if (lookahead == '}') ADVANCE(67); + if (lookahead == 172) ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -1247,7 +1284,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ']') ADVANCE(44); if (lookahead == '^') ADVANCE(64); if (lookahead == '|') ADVANCE(42); - if (lookahead == '}') ADVANCE(68); + if (lookahead == '}') ADVANCE(67); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -1267,9 +1304,9 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '<') ADVANCE(14); if (lookahead == '[') ADVANCE(41); if (lookahead == ']') ADVANCE(44); - if (lookahead == '{') ADVANCE(67); - if (lookahead == '}') ADVANCE(68); - if (lookahead == 172) ADVANCE(66); + if (lookahead == '{') ADVANCE(66); + if (lookahead == '}') ADVANCE(67); + if (lookahead == 172) ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -1385,14 +1422,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_); - END_STATE(); - case 67: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 68: + case 67: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_); + END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); @@ -1546,489 +1583,499 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(5); if (lookahead == 'f') ADVANCE(6); if (lookahead == 'i') ADVANCE(7); - if (lookahead == 'm') ADVANCE(8); - if (lookahead == 'n') ADVANCE(9); - if (lookahead == 'o') ADVANCE(10); - if (lookahead == 'p') ADVANCE(11); - if (lookahead == 's') ADVANCE(12); - if (lookahead == 't') ADVANCE(13); - if (lookahead == 'u') ADVANCE(14); - if (lookahead == 'v') ADVANCE(15); - if (lookahead == 'w') ADVANCE(16); - if (lookahead == 'x') ADVANCE(17); + if (lookahead == 'l') ADVANCE(8); + if (lookahead == 'm') ADVANCE(9); + if (lookahead == 'n') ADVANCE(10); + if (lookahead == 'o') ADVANCE(11); + if (lookahead == 'p') ADVANCE(12); + if (lookahead == 's') ADVANCE(13); + if (lookahead == 't') ADVANCE(14); + if (lookahead == 'u') ADVANCE(15); + if (lookahead == 'v') ADVANCE(16); + if (lookahead == 'w') ADVANCE(17); + if (lookahead == 'x') ADVANCE(18); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) END_STATE(); case 1: - if (lookahead == 'n') ADVANCE(18); - if (lookahead == 'r') ADVANCE(19); + if (lookahead == 'n') ADVANCE(19); + if (lookahead == 'r') ADVANCE(20); END_STATE(); case 2: - if (lookahead == 'o') ADVANCE(20); - END_STATE(); - case 3: if (lookahead == 'o') ADVANCE(21); END_STATE(); + case 3: + if (lookahead == 'o') ADVANCE(22); + END_STATE(); case 4: - if (lookahead == 'i') ADVANCE(22); + if (lookahead == 'i') ADVANCE(23); END_STATE(); case 5: - if (lookahead == 'l') ADVANCE(23); - if (lookahead == 'n') ADVANCE(24); + if (lookahead == 'l') ADVANCE(24); + if (lookahead == 'n') ADVANCE(25); END_STATE(); case 6: - if (lookahead == 'a') ADVANCE(25); - if (lookahead == 'l') ADVANCE(26); + if (lookahead == 'a') ADVANCE(26); + if (lookahead == 'l') ADVANCE(27); END_STATE(); case 7: - if (lookahead == 'f') ADVANCE(27); - if (lookahead == 'n') ADVANCE(28); + if (lookahead == 'f') ADVANCE(28); + if (lookahead == 'n') ADVANCE(29); END_STATE(); case 8: - if (lookahead == 'a') ADVANCE(29); - if (lookahead == 'i') ADVANCE(30); - if (lookahead == 'o') ADVANCE(31); + if (lookahead == 'e') ADVANCE(30); END_STATE(); case 9: - if (lookahead == 'o') ADVANCE(32); + if (lookahead == 'a') ADVANCE(31); + if (lookahead == 'i') ADVANCE(32); + if (lookahead == 'o') ADVANCE(33); END_STATE(); case 10: - if (lookahead == 'f') ADVANCE(33); - if (lookahead == 'p') ADVANCE(34); - if (lookahead == 'u') ADVANCE(35); + if (lookahead == 'o') ADVANCE(34); END_STATE(); case 11: - if (lookahead == 'a') ADVANCE(36); + if (lookahead == 'f') ADVANCE(35); + if (lookahead == 'p') ADVANCE(36); + if (lookahead == 'u') ADVANCE(37); END_STATE(); case 12: - if (lookahead == 'a') ADVANCE(37); - if (lookahead == 'e') ADVANCE(38); - if (lookahead == 'o') ADVANCE(39); - if (lookahead == 't') ADVANCE(40); - if (lookahead == 'u') ADVANCE(41); - if (lookahead == 'y') ADVANCE(42); + if (lookahead == 'a') ADVANCE(38); END_STATE(); case 13: - if (lookahead == 'h') ADVANCE(43); - if (lookahead == 'r') ADVANCE(44); + if (lookahead == 'a') ADVANCE(39); + if (lookahead == 'e') ADVANCE(40); + if (lookahead == 'o') ADVANCE(41); + if (lookahead == 't') ADVANCE(42); + if (lookahead == 'u') ADVANCE(43); + if (lookahead == 'y') ADVANCE(44); END_STATE(); case 14: - if (lookahead == 'n') ADVANCE(45); + if (lookahead == 'h') ADVANCE(45); + if (lookahead == 'r') ADVANCE(46); END_STATE(); case 15: - if (lookahead == 'a') ADVANCE(46); + if (lookahead == 'n') ADVANCE(47); END_STATE(); case 16: - if (lookahead == 'h') ADVANCE(47); + if (lookahead == 'a') ADVANCE(48); END_STATE(); case 17: - if (lookahead == 'o') ADVANCE(48); + if (lookahead == 'h') ADVANCE(49); END_STATE(); case 18: - if (lookahead == 'n') ADVANCE(49); + if (lookahead == 'o') ADVANCE(50); END_STATE(); case 19: - if (lookahead == 'r') ADVANCE(50); + if (lookahead == 'n') ADVANCE(51); END_STATE(); case 20: - if (lookahead == 'o') ADVANCE(51); + if (lookahead == 'r') ADVANCE(52); END_STATE(); case 21: - if (lookahead == 'n') ADVANCE(52); + if (lookahead == 'o') ADVANCE(53); END_STATE(); case 22: - if (lookahead == 'f') ADVANCE(53); - if (lookahead == 'v') ADVANCE(54); + if (lookahead == 'n') ADVANCE(54); END_STATE(); case 23: - if (lookahead == 's') ADVANCE(55); + if (lookahead == 'f') ADVANCE(55); + if (lookahead == 'v') ADVANCE(56); END_STATE(); case 24: - if (lookahead == 'd') ADVANCE(56); + if (lookahead == 's') ADVANCE(57); END_STATE(); case 25: - if (lookahead == 'l') ADVANCE(57); + if (lookahead == 'd') ADVANCE(58); END_STATE(); case 26: - if (lookahead == 'o') ADVANCE(58); + if (lookahead == 'l') ADVANCE(59); END_STATE(); case 27: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'o') ADVANCE(60); END_STATE(); case 28: - ACCEPT_TOKEN(anon_sym_in); - if (lookahead == 'c') ADVANCE(59); - if (lookahead == 't') ADVANCE(60); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 29: - if (lookahead == 'x') ADVANCE(61); + ACCEPT_TOKEN(anon_sym_in); + if (lookahead == 'c') ADVANCE(61); + if (lookahead == 't') ADVANCE(62); END_STATE(); case 30: - if (lookahead == 'n') ADVANCE(62); + if (lookahead == 't') ADVANCE(63); END_STATE(); case 31: - if (lookahead == 'd') ADVANCE(63); + if (lookahead == 'x') ADVANCE(64); END_STATE(); case 32: - if (lookahead == 't') ADVANCE(64); + if (lookahead == 'n') ADVANCE(65); END_STATE(); case 33: - ACCEPT_TOKEN(anon_sym_of); + if (lookahead == 'd') ADVANCE(66); END_STATE(); case 34: - if (lookahead == 't') ADVANCE(65); + if (lookahead == 't') ADVANCE(67); END_STATE(); case 35: - if (lookahead == 't') ADVANCE(66); + ACCEPT_TOKEN(anon_sym_of); END_STATE(); case 36: - if (lookahead == 'r') ADVANCE(67); - END_STATE(); - case 37: if (lookahead == 't') ADVANCE(68); END_STATE(); - case 38: + case 37: if (lookahead == 't') ADVANCE(69); END_STATE(); + case 38: + if (lookahead == 'r') ADVANCE(70); + END_STATE(); case 39: - if (lookahead == 'l') ADVANCE(70); + if (lookahead == 't') ADVANCE(71); END_STATE(); case 40: - if (lookahead == 'r') ADVANCE(71); + if (lookahead == 't') ADVANCE(72); END_STATE(); case 41: - if (lookahead == 'b') ADVANCE(72); - if (lookahead == 'p') ADVANCE(73); + if (lookahead == 'l') ADVANCE(73); END_STATE(); case 42: - if (lookahead == 'm') ADVANCE(74); + if (lookahead == 'r') ADVANCE(74); END_STATE(); case 43: - if (lookahead == 'e') ADVANCE(75); + if (lookahead == 'b') ADVANCE(75); + if (lookahead == 'p') ADVANCE(76); END_STATE(); case 44: - if (lookahead == 'u') ADVANCE(76); + if (lookahead == 'm') ADVANCE(77); END_STATE(); case 45: - if (lookahead == 'i') ADVANCE(77); + if (lookahead == 'e') ADVANCE(78); END_STATE(); case 46: - if (lookahead == 'r') ADVANCE(78); + if (lookahead == 'u') ADVANCE(79); END_STATE(); case 47: - if (lookahead == 'e') ADVANCE(79); + if (lookahead == 'i') ADVANCE(80); END_STATE(); case 48: - if (lookahead == 'r') ADVANCE(80); + if (lookahead == 'r') ADVANCE(81); END_STATE(); case 49: - ACCEPT_TOKEN(anon_sym_ann); + if (lookahead == 'e') ADVANCE(82); END_STATE(); case 50: - if (lookahead == 'a') ADVANCE(81); + if (lookahead == 'r') ADVANCE(83); END_STATE(); case 51: - if (lookahead == 'l') ADVANCE(82); + ACCEPT_TOKEN(anon_sym_ann); END_STATE(); case 52: - if (lookahead == 's') ADVANCE(83); + if (lookahead == 'a') ADVANCE(84); END_STATE(); case 53: - if (lookahead == 'f') ADVANCE(84); + if (lookahead == 'l') ADVANCE(85); END_STATE(); case 54: - ACCEPT_TOKEN(anon_sym_div); + if (lookahead == 's') ADVANCE(86); END_STATE(); case 55: - if (lookahead == 'e') ADVANCE(85); + if (lookahead == 'f') ADVANCE(87); END_STATE(); case 56: - if (lookahead == 'i') ADVANCE(86); + ACCEPT_TOKEN(anon_sym_div); END_STATE(); case 57: - if (lookahead == 's') ADVANCE(87); + if (lookahead == 'e') ADVANCE(88); END_STATE(); case 58: - if (lookahead == 'a') ADVANCE(88); + if (lookahead == 'i') ADVANCE(89); END_STATE(); case 59: - if (lookahead == 'l') ADVANCE(89); + if (lookahead == 's') ADVANCE(90); END_STATE(); case 60: - ACCEPT_TOKEN(anon_sym_int); - if (lookahead == 'e') ADVANCE(90); + if (lookahead == 'a') ADVANCE(91); END_STATE(); case 61: - if (lookahead == 'i') ADVANCE(91); + if (lookahead == 'l') ADVANCE(92); END_STATE(); case 62: - if (lookahead == 'i') ADVANCE(92); + ACCEPT_TOKEN(anon_sym_int); + if (lookahead == 'e') ADVANCE(93); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_mod); + ACCEPT_TOKEN(anon_sym_let); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_not); - END_STATE(); - case 65: - ACCEPT_TOKEN(anon_sym_opt); - END_STATE(); - case 66: - if (lookahead == 'p') ADVANCE(93); - END_STATE(); - case 67: - ACCEPT_TOKEN(anon_sym_par); - END_STATE(); - case 68: if (lookahead == 'i') ADVANCE(94); END_STATE(); + case 65: + if (lookahead == 'i') ADVANCE(95); + END_STATE(); + case 66: + ACCEPT_TOKEN(anon_sym_mod); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_not); + END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_opt); + END_STATE(); case 69: - ACCEPT_TOKEN(anon_sym_set); + if (lookahead == 'p') ADVANCE(96); END_STATE(); case 70: - if (lookahead == 'v') ADVANCE(95); + ACCEPT_TOKEN(anon_sym_par); END_STATE(); case 71: - if (lookahead == 'i') ADVANCE(96); + if (lookahead == 'i') ADVANCE(97); END_STATE(); case 72: - if (lookahead == 's') ADVANCE(97); + ACCEPT_TOKEN(anon_sym_set); END_STATE(); case 73: - if (lookahead == 'e') ADVANCE(98); + if (lookahead == 'v') ADVANCE(98); END_STATE(); case 74: - if (lookahead == 'd') ADVANCE(99); + if (lookahead == 'i') ADVANCE(99); END_STATE(); case 75: - if (lookahead == 'n') ADVANCE(100); + if (lookahead == 's') ADVANCE(100); END_STATE(); case 76: if (lookahead == 'e') ADVANCE(101); END_STATE(); case 77: - if (lookahead == 'o') ADVANCE(102); + if (lookahead == 'd') ADVANCE(102); END_STATE(); case 78: - ACCEPT_TOKEN(anon_sym_var); + if (lookahead == 'n') ADVANCE(103); END_STATE(); case 79: - if (lookahead == 'r') ADVANCE(103); + if (lookahead == 'e') ADVANCE(104); END_STATE(); case 80: - ACCEPT_TOKEN(anon_sym_xor); + if (lookahead == 'o') ADVANCE(105); END_STATE(); case 81: - if (lookahead == 'y') ADVANCE(104); + ACCEPT_TOKEN(anon_sym_var); END_STATE(); case 82: - ACCEPT_TOKEN(anon_sym_bool); + if (lookahead == 'r') ADVANCE(106); END_STATE(); case 83: - if (lookahead == 't') ADVANCE(105); + ACCEPT_TOKEN(anon_sym_xor); END_STATE(); case 84: - ACCEPT_TOKEN(anon_sym_diff); + if (lookahead == 'y') ADVANCE(107); END_STATE(); case 85: - ACCEPT_TOKEN(anon_sym_else); - if (lookahead == 'i') ADVANCE(106); + ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 86: - if (lookahead == 'f') ADVANCE(107); + if (lookahead == 't') ADVANCE(108); END_STATE(); case 87: - if (lookahead == 'e') ADVANCE(108); + ACCEPT_TOKEN(anon_sym_diff); END_STATE(); case 88: - if (lookahead == 't') ADVANCE(109); + ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 'i') ADVANCE(109); END_STATE(); case 89: - if (lookahead == 'u') ADVANCE(110); + if (lookahead == 'f') ADVANCE(110); END_STATE(); case 90: - if (lookahead == 'r') ADVANCE(111); + if (lookahead == 'e') ADVANCE(111); END_STATE(); case 91: - if (lookahead == 'm') ADVANCE(112); + if (lookahead == 't') ADVANCE(112); END_STATE(); case 92: - if (lookahead == 'm') ADVANCE(113); + if (lookahead == 'u') ADVANCE(113); END_STATE(); case 93: - if (lookahead == 'u') ADVANCE(114); + if (lookahead == 'r') ADVANCE(114); END_STATE(); case 94: - if (lookahead == 's') ADVANCE(115); + if (lookahead == 'm') ADVANCE(115); END_STATE(); case 95: - if (lookahead == 'e') ADVANCE(116); + if (lookahead == 'm') ADVANCE(116); END_STATE(); case 96: - if (lookahead == 'n') ADVANCE(117); + if (lookahead == 'u') ADVANCE(117); END_STATE(); case 97: - if (lookahead == 'e') ADVANCE(118); + if (lookahead == 's') ADVANCE(118); END_STATE(); case 98: - if (lookahead == 'r') ADVANCE(119); + if (lookahead == 'e') ADVANCE(119); END_STATE(); case 99: - if (lookahead == 'i') ADVANCE(120); + if (lookahead == 'n') ADVANCE(120); END_STATE(); case 100: - ACCEPT_TOKEN(anon_sym_then); + if (lookahead == 'e') ADVANCE(121); END_STATE(); case 101: - ACCEPT_TOKEN(anon_sym_true); + if (lookahead == 'r') ADVANCE(122); END_STATE(); case 102: - if (lookahead == 'n') ADVANCE(121); + if (lookahead == 'i') ADVANCE(123); END_STATE(); case 103: - if (lookahead == 'e') ADVANCE(122); + ACCEPT_TOKEN(anon_sym_then); END_STATE(); case 104: - ACCEPT_TOKEN(anon_sym_array); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 105: - if (lookahead == 'r') ADVANCE(123); + if (lookahead == 'n') ADVANCE(124); END_STATE(); case 106: - if (lookahead == 'f') ADVANCE(124); + if (lookahead == 'e') ADVANCE(125); END_STATE(); case 107: - ACCEPT_TOKEN(anon_sym_endif); + ACCEPT_TOKEN(anon_sym_array); END_STATE(); case 108: - ACCEPT_TOKEN(anon_sym_false); + if (lookahead == 'r') ADVANCE(126); END_STATE(); case 109: - ACCEPT_TOKEN(anon_sym_float); + if (lookahead == 'f') ADVANCE(127); END_STATE(); case 110: - if (lookahead == 'd') ADVANCE(125); + ACCEPT_TOKEN(anon_sym_endif); END_STATE(); case 111: - if (lookahead == 's') ADVANCE(126); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 112: - if (lookahead == 'i') ADVANCE(127); + ACCEPT_TOKEN(anon_sym_float); END_STATE(); case 113: - if (lookahead == 'i') ADVANCE(128); + if (lookahead == 'd') ADVANCE(128); END_STATE(); case 114: - if (lookahead == 't') ADVANCE(129); + if (lookahead == 's') ADVANCE(129); END_STATE(); case 115: - if (lookahead == 'f') ADVANCE(130); + if (lookahead == 'i') ADVANCE(130); END_STATE(); case 116: - ACCEPT_TOKEN(anon_sym_solve); + if (lookahead == 'i') ADVANCE(131); END_STATE(); case 117: - if (lookahead == 'g') ADVANCE(131); - END_STATE(); - case 118: if (lookahead == 't') ADVANCE(132); END_STATE(); + case 118: + if (lookahead == 'f') ADVANCE(133); + END_STATE(); case 119: - if (lookahead == 's') ADVANCE(133); + ACCEPT_TOKEN(anon_sym_solve); END_STATE(); case 120: - if (lookahead == 'f') ADVANCE(134); + if (lookahead == 'g') ADVANCE(134); END_STATE(); case 121: - ACCEPT_TOKEN(anon_sym_union); + if (lookahead == 't') ADVANCE(135); END_STATE(); case 122: - ACCEPT_TOKEN(anon_sym_where); + if (lookahead == 's') ADVANCE(136); END_STATE(); case 123: - if (lookahead == 'a') ADVANCE(135); + if (lookahead == 'f') ADVANCE(137); END_STATE(); case 124: - ACCEPT_TOKEN(anon_sym_elseif); + ACCEPT_TOKEN(anon_sym_union); END_STATE(); case 125: - if (lookahead == 'e') ADVANCE(136); + ACCEPT_TOKEN(anon_sym_where); END_STATE(); case 126: - if (lookahead == 'e') ADVANCE(137); + if (lookahead == 'a') ADVANCE(138); END_STATE(); case 127: - if (lookahead == 'z') ADVANCE(138); + ACCEPT_TOKEN(anon_sym_elseif); END_STATE(); case 128: - if (lookahead == 'z') ADVANCE(139); + if (lookahead == 'e') ADVANCE(139); END_STATE(); case 129: - ACCEPT_TOKEN(anon_sym_output); + if (lookahead == 'e') ADVANCE(140); END_STATE(); case 130: - if (lookahead == 'y') ADVANCE(140); + if (lookahead == 'z') ADVANCE(141); END_STATE(); case 131: - ACCEPT_TOKEN(anon_sym_string); + if (lookahead == 'z') ADVANCE(142); END_STATE(); case 132: - ACCEPT_TOKEN(anon_sym_subset); + ACCEPT_TOKEN(anon_sym_output); END_STATE(); case 133: - if (lookahead == 'e') ADVANCE(141); + if (lookahead == 'y') ADVANCE(143); END_STATE(); case 134: - if (lookahead == 'f') ADVANCE(142); + ACCEPT_TOKEN(anon_sym_string); END_STATE(); case 135: - if (lookahead == 'i') ADVANCE(143); + ACCEPT_TOKEN(anon_sym_subset); END_STATE(); case 136: - ACCEPT_TOKEN(anon_sym_include); + if (lookahead == 'e') ADVANCE(144); END_STATE(); case 137: - if (lookahead == 'c') ADVANCE(144); + if (lookahead == 'f') ADVANCE(145); END_STATE(); case 138: - if (lookahead == 'e') ADVANCE(145); + if (lookahead == 'i') ADVANCE(146); END_STATE(); case 139: - if (lookahead == 'e') ADVANCE(146); + ACCEPT_TOKEN(anon_sym_include); END_STATE(); case 140: - ACCEPT_TOKEN(anon_sym_satisfy); + if (lookahead == 'c') ADVANCE(147); END_STATE(); case 141: - if (lookahead == 't') ADVANCE(147); + if (lookahead == 'e') ADVANCE(148); END_STATE(); case 142: - ACCEPT_TOKEN(anon_sym_symdiff); + if (lookahead == 'e') ADVANCE(149); END_STATE(); case 143: - if (lookahead == 'n') ADVANCE(148); + ACCEPT_TOKEN(anon_sym_satisfy); END_STATE(); case 144: - if (lookahead == 't') ADVANCE(149); - END_STATE(); - case 145: - ACCEPT_TOKEN(anon_sym_maximize); - END_STATE(); - case 146: - ACCEPT_TOKEN(anon_sym_minimize); - END_STATE(); - case 147: - ACCEPT_TOKEN(anon_sym_superset); - END_STATE(); - case 148: if (lookahead == 't') ADVANCE(150); END_STATE(); + case 145: + ACCEPT_TOKEN(anon_sym_symdiff); + END_STATE(); + case 146: + if (lookahead == 'n') ADVANCE(151); + END_STATE(); + case 147: + if (lookahead == 't') ADVANCE(152); + END_STATE(); + case 148: + ACCEPT_TOKEN(anon_sym_maximize); + END_STATE(); case 149: - ACCEPT_TOKEN(anon_sym_intersect); + ACCEPT_TOKEN(anon_sym_minimize); END_STATE(); case 150: + ACCEPT_TOKEN(anon_sym_superset); + END_STATE(); + case 151: + if (lookahead == 't') ADVANCE(153); + END_STATE(); + case 152: + ACCEPT_TOKEN(anon_sym_intersect); + END_STATE(); + case 153: ACCEPT_TOKEN(anon_sym_constraint); END_STATE(); default: @@ -2041,9 +2088,9 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [1] = {.lex_state = 34}, [2] = {.lex_state = 34}, [3] = {.lex_state = 34}, - [4] = {.lex_state = 33}, - [5] = {.lex_state = 33}, - [6] = {.lex_state = 33}, + [4] = {.lex_state = 34}, + [5] = {.lex_state = 34}, + [6] = {.lex_state = 34}, [7] = {.lex_state = 33}, [8] = {.lex_state = 33}, [9] = {.lex_state = 33}, @@ -2086,24 +2133,24 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [46] = {.lex_state = 33}, [47] = {.lex_state = 33}, [48] = {.lex_state = 33}, - [49] = {.lex_state = 34}, - [50] = {.lex_state = 34}, - [51] = {.lex_state = 34}, - [52] = {.lex_state = 34}, - [53] = {.lex_state = 34}, - [54] = {.lex_state = 34}, + [49] = {.lex_state = 33}, + [50] = {.lex_state = 33}, + [51] = {.lex_state = 33}, + [52] = {.lex_state = 33}, + [53] = {.lex_state = 33}, + [54] = {.lex_state = 33}, [55] = {.lex_state = 34}, [56] = {.lex_state = 34}, [57] = {.lex_state = 34}, - [58] = {.lex_state = 33}, + [58] = {.lex_state = 34}, [59] = {.lex_state = 34}, [60] = {.lex_state = 34}, - [61] = {.lex_state = 33}, - [62] = {.lex_state = 33}, - [63] = {.lex_state = 33}, - [64] = {.lex_state = 33}, - [65] = {.lex_state = 33}, - [66] = {.lex_state = 33}, + [61] = {.lex_state = 34}, + [62] = {.lex_state = 34}, + [63] = {.lex_state = 34}, + [64] = {.lex_state = 34}, + [65] = {.lex_state = 34}, + [66] = {.lex_state = 34}, [67] = {.lex_state = 33}, [68] = {.lex_state = 34}, [69] = {.lex_state = 33}, @@ -2113,40 +2160,40 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [73] = {.lex_state = 33}, [74] = {.lex_state = 33}, [75] = {.lex_state = 33}, - [76] = {.lex_state = 34}, + [76] = {.lex_state = 33}, [77] = {.lex_state = 33}, - [78] = {.lex_state = 33}, - [79] = {.lex_state = 33}, + [78] = {.lex_state = 34}, + [79] = {.lex_state = 34}, [80] = {.lex_state = 33}, - [81] = {.lex_state = 33}, - [82] = {.lex_state = 33}, + [81] = {.lex_state = 34}, + [82] = {.lex_state = 34}, [83] = {.lex_state = 33}, [84] = {.lex_state = 33}, - [85] = {.lex_state = 34}, - [86] = {.lex_state = 33}, + [85] = {.lex_state = 33}, + [86] = {.lex_state = 34}, [87] = {.lex_state = 33}, [88] = {.lex_state = 33}, [89] = {.lex_state = 33}, [90] = {.lex_state = 33}, [91] = {.lex_state = 33}, [92] = {.lex_state = 33}, - [93] = {.lex_state = 34}, + [93] = {.lex_state = 33}, [94] = {.lex_state = 33}, - [95] = {.lex_state = 34}, - [96] = {.lex_state = 33}, + [95] = {.lex_state = 33}, + [96] = {.lex_state = 34}, [97] = {.lex_state = 34}, - [98] = {.lex_state = 33}, + [98] = {.lex_state = 34}, [99] = {.lex_state = 34}, [100] = {.lex_state = 34}, [101] = {.lex_state = 34}, - [102] = {.lex_state = 34}, - [103] = {.lex_state = 34}, + [102] = {.lex_state = 33}, + [103] = {.lex_state = 33}, [104] = {.lex_state = 34}, [105] = {.lex_state = 34}, [106] = {.lex_state = 34}, [107] = {.lex_state = 34}, [108] = {.lex_state = 34}, - [109] = {.lex_state = 34}, + [109] = {.lex_state = 33}, [110] = {.lex_state = 34}, [111] = {.lex_state = 34}, [112] = {.lex_state = 34}, @@ -2155,45 +2202,45 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [115] = {.lex_state = 34}, [116] = {.lex_state = 34}, [117] = {.lex_state = 34}, - [118] = {.lex_state = 34}, + [118] = {.lex_state = 33}, [119] = {.lex_state = 34}, [120] = {.lex_state = 34}, [121] = {.lex_state = 34}, [122] = {.lex_state = 34}, [123] = {.lex_state = 34}, [124] = {.lex_state = 34}, - [125] = {.lex_state = 34}, + [125] = {.lex_state = 33}, [126] = {.lex_state = 34}, - [127] = {.lex_state = 34}, + [127] = {.lex_state = 33}, [128] = {.lex_state = 34}, [129] = {.lex_state = 34}, [130] = {.lex_state = 34}, [131] = {.lex_state = 34}, [132] = {.lex_state = 34}, - [133] = {.lex_state = 34}, + [133] = {.lex_state = 33}, [134] = {.lex_state = 34}, [135] = {.lex_state = 34}, - [136] = {.lex_state = 1}, - [137] = {.lex_state = 1}, - [138] = {.lex_state = 1}, - [139] = {.lex_state = 0}, - [140] = {.lex_state = 2}, - [141] = {.lex_state = 1}, - [142] = {.lex_state = 0}, - [143] = {.lex_state = 0}, - [144] = {.lex_state = 0}, - [145] = {.lex_state = 2}, - [146] = {.lex_state = 2}, - [147] = {.lex_state = 0}, + [136] = {.lex_state = 34}, + [137] = {.lex_state = 33}, + [138] = {.lex_state = 33}, + [139] = {.lex_state = 34}, + [140] = {.lex_state = 33}, + [141] = {.lex_state = 34}, + [142] = {.lex_state = 34}, + [143] = {.lex_state = 34}, + [144] = {.lex_state = 34}, + [145] = {.lex_state = 34}, + [146] = {.lex_state = 1}, + [147] = {.lex_state = 1}, [148] = {.lex_state = 0}, [149] = {.lex_state = 0}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 0}, - [152] = {.lex_state = 0}, + [150] = {.lex_state = 1}, + [151] = {.lex_state = 2}, + [152] = {.lex_state = 1}, [153] = {.lex_state = 0}, [154] = {.lex_state = 0}, - [155] = {.lex_state = 0}, - [156] = {.lex_state = 0}, + [155] = {.lex_state = 2}, + [156] = {.lex_state = 2}, [157] = {.lex_state = 0}, [158] = {.lex_state = 0}, [159] = {.lex_state = 0}, @@ -2240,6 +2287,23 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [200] = {.lex_state = 0}, [201] = {.lex_state = 0}, [202] = {.lex_state = 0}, + [203] = {.lex_state = 0}, + [204] = {.lex_state = 0}, + [205] = {.lex_state = 0}, + [206] = {.lex_state = 0}, + [207] = {.lex_state = 0}, + [208] = {.lex_state = 0}, + [209] = {.lex_state = 0}, + [210] = {.lex_state = 0}, + [211] = {.lex_state = 0}, + [212] = {.lex_state = 0}, + [213] = {.lex_state = 0}, + [214] = {.lex_state = 0}, + [215] = {.lex_state = 0}, + [216] = {.lex_state = 0}, + [217] = {.lex_state = 0}, + [218] = {.lex_state = 0}, + [219] = {.lex_state = 0}, }; static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2297,10 +2361,11 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_mod] = ACTIONS(1), [anon_sym_CARET] = ACTIONS(1), [anon_sym_COLON_COLON] = ACTIONS(1), - [anon_sym_not] = ACTIONS(1), - [anon_sym_] = ACTIONS(1), + [anon_sym_let] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_not] = ACTIONS(1), + [anon_sym_] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), [anon_sym_BSLASH_LPAREN] = ACTIONS(1), [anon_sym_array] = ACTIONS(1), @@ -2324,35 +2389,36 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_block_comment] = ACTIONS(3), }, [1] = { - [sym_source_file] = STATE(198), - [sym__item] = STATE(178), - [sym_assignment] = STATE(178), - [sym_constraint] = STATE(178), - [sym_declaration] = STATE(178), - [sym_goal] = STATE(178), - [sym_include] = STATE(178), - [sym_output] = STATE(178), - [sym__expression] = STATE(72), - [sym_parenthesised_expression] = STATE(72), - [sym_array_comprehension] = STATE(72), - [sym_call] = STATE(72), - [sym_generator_call] = STATE(72), - [sym_if_then_else] = STATE(72), - [sym_indexed_access] = STATE(72), - [sym_infix_operator] = STATE(72), - [sym_prefix_operator] = STATE(72), - [sym_set_comprehension] = STATE(72), - [sym_string_interpolation] = STATE(72), - [sym__type] = STATE(195), - [sym_array_type] = STATE(195), - [sym_base_type] = STATE(195), - [sym_primitive_type] = STATE(150), - [sym_set_type] = STATE(195), - [sym__literal] = STATE(72), - [sym_array_literal] = STATE(72), - [sym_boolean_literal] = STATE(72), - [sym_set_literal] = STATE(72), - [sym_string_literal] = STATE(72), + [sym_source_file] = STATE(200), + [sym__item] = STATE(197), + [sym_assignment] = STATE(197), + [sym_constraint] = STATE(197), + [sym_declaration] = STATE(197), + [sym_goal] = STATE(197), + [sym_include] = STATE(197), + [sym_output] = STATE(197), + [sym__expression] = STATE(75), + [sym_parenthesised_expression] = STATE(75), + [sym_array_comprehension] = STATE(75), + [sym_call] = STATE(75), + [sym_generator_call] = STATE(75), + [sym_if_then_else] = STATE(75), + [sym_indexed_access] = STATE(75), + [sym_infix_operator] = STATE(75), + [sym_let_expression] = STATE(75), + [sym_prefix_operator] = STATE(75), + [sym_set_comprehension] = STATE(75), + [sym_string_interpolation] = STATE(75), + [sym__type] = STATE(207), + [sym_array_type] = STATE(207), + [sym_base_type] = STATE(207), + [sym_primitive_type] = STATE(167), + [sym_set_type] = STATE(207), + [sym__literal] = STATE(75), + [sym_array_literal] = STATE(75), + [sym_boolean_literal] = STATE(75), + [sym_set_literal] = STATE(75), + [sym_string_literal] = STATE(75), [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), @@ -2364,121 +2430,125 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_if] = ACTIONS(21), [anon_sym_DASH] = ACTIONS(23), - [anon_sym_not] = ACTIONS(25), - [anon_sym_] = ACTIONS(23), + [anon_sym_let] = ACTIONS(25), [anon_sym_LBRACE] = ACTIONS(27), - [anon_sym_DQUOTE] = ACTIONS(29), - [anon_sym_array] = ACTIONS(31), - [anon_sym_var] = ACTIONS(33), - [anon_sym_par] = ACTIONS(33), - [anon_sym_opt] = ACTIONS(35), - [anon_sym_ann] = ACTIONS(37), - [anon_sym_bool] = ACTIONS(37), - [anon_sym_float] = ACTIONS(37), - [anon_sym_int] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - [anon_sym_set] = ACTIONS(39), - [sym_absent] = ACTIONS(41), - [anon_sym_true] = ACTIONS(43), - [anon_sym_false] = ACTIONS(43), - [sym_float_literal] = ACTIONS(41), - [sym_integer_literal] = ACTIONS(45), + [anon_sym_not] = ACTIONS(29), + [anon_sym_] = ACTIONS(23), + [anon_sym_DQUOTE] = ACTIONS(31), + [anon_sym_array] = ACTIONS(33), + [anon_sym_var] = ACTIONS(35), + [anon_sym_par] = ACTIONS(35), + [anon_sym_opt] = ACTIONS(37), + [anon_sym_ann] = ACTIONS(39), + [anon_sym_bool] = ACTIONS(39), + [anon_sym_float] = ACTIONS(39), + [anon_sym_int] = ACTIONS(39), + [anon_sym_string] = ACTIONS(39), + [anon_sym_set] = ACTIONS(41), + [sym_absent] = ACTIONS(43), + [anon_sym_true] = ACTIONS(45), + [anon_sym_false] = ACTIONS(45), + [sym_float_literal] = ACTIONS(43), + [sym_integer_literal] = ACTIONS(47), [sym_line_comment] = ACTIONS(3), [sym_block_comment] = ACTIONS(3), }, [2] = { - [sym__item] = STATE(190), - [sym_assignment] = STATE(190), - [sym_constraint] = STATE(190), - [sym_declaration] = STATE(190), - [sym_goal] = STATE(190), - [sym_include] = STATE(190), - [sym_output] = STATE(190), - [sym__expression] = STATE(72), - [sym_parenthesised_expression] = STATE(72), - [sym_array_comprehension] = STATE(72), - [sym_call] = STATE(72), - [sym_generator_call] = STATE(72), - [sym_if_then_else] = STATE(72), - [sym_indexed_access] = STATE(72), - [sym_infix_operator] = STATE(72), - [sym_prefix_operator] = STATE(72), - [sym_set_comprehension] = STATE(72), - [sym_string_interpolation] = STATE(72), - [sym__type] = STATE(195), - [sym_array_type] = STATE(195), - [sym_base_type] = STATE(195), - [sym_primitive_type] = STATE(150), - [sym_set_type] = STATE(195), - [sym__literal] = STATE(72), - [sym_array_literal] = STATE(72), - [sym_boolean_literal] = STATE(72), - [sym_set_literal] = STATE(72), - [sym_string_literal] = STATE(72), + [sym__item] = STATE(209), + [sym_assignment] = STATE(209), + [sym_constraint] = STATE(209), + [sym_declaration] = STATE(209), + [sym_goal] = STATE(209), + [sym_include] = STATE(209), + [sym_output] = STATE(209), + [sym__expression] = STATE(75), + [sym_parenthesised_expression] = STATE(75), + [sym_array_comprehension] = STATE(75), + [sym_call] = STATE(75), + [sym_generator_call] = STATE(75), + [sym_if_then_else] = STATE(75), + [sym_indexed_access] = STATE(75), + [sym_infix_operator] = STATE(75), + [sym_let_expression] = STATE(75), + [sym_prefix_operator] = STATE(75), + [sym_set_comprehension] = STATE(75), + [sym_string_interpolation] = STATE(75), + [sym__type] = STATE(207), + [sym_array_type] = STATE(207), + [sym_base_type] = STATE(207), + [sym_primitive_type] = STATE(167), + [sym_set_type] = STATE(207), + [sym__literal] = STATE(75), + [sym_array_literal] = STATE(75), + [sym_boolean_literal] = STATE(75), + [sym_set_literal] = STATE(75), + [sym_string_literal] = STATE(75), [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(47), - [sym_identifier] = ACTIONS(49), - [anon_sym_constraint] = ACTIONS(52), - [anon_sym_solve] = ACTIONS(55), - [anon_sym_include] = ACTIONS(58), - [anon_sym_output] = ACTIONS(61), - [anon_sym_LPAREN] = ACTIONS(64), - [anon_sym_LBRACK] = ACTIONS(67), - [anon_sym_if] = ACTIONS(70), - [anon_sym_DASH] = ACTIONS(73), - [anon_sym_not] = ACTIONS(76), - [anon_sym_] = ACTIONS(73), - [anon_sym_LBRACE] = ACTIONS(79), - [anon_sym_DQUOTE] = ACTIONS(82), - [anon_sym_array] = ACTIONS(85), - [anon_sym_var] = ACTIONS(88), - [anon_sym_par] = ACTIONS(88), - [anon_sym_opt] = ACTIONS(91), - [anon_sym_ann] = ACTIONS(94), - [anon_sym_bool] = ACTIONS(94), - [anon_sym_float] = ACTIONS(94), - [anon_sym_int] = ACTIONS(94), - [anon_sym_string] = ACTIONS(94), - [anon_sym_set] = ACTIONS(97), - [sym_absent] = ACTIONS(100), - [anon_sym_true] = ACTIONS(103), - [anon_sym_false] = ACTIONS(103), - [sym_float_literal] = ACTIONS(100), - [sym_integer_literal] = ACTIONS(106), + [ts_builtin_sym_end] = ACTIONS(49), + [sym_identifier] = ACTIONS(51), + [anon_sym_constraint] = ACTIONS(54), + [anon_sym_solve] = ACTIONS(57), + [anon_sym_include] = ACTIONS(60), + [anon_sym_output] = ACTIONS(63), + [anon_sym_LPAREN] = ACTIONS(66), + [anon_sym_LBRACK] = ACTIONS(69), + [anon_sym_if] = ACTIONS(72), + [anon_sym_DASH] = ACTIONS(75), + [anon_sym_let] = ACTIONS(78), + [anon_sym_LBRACE] = ACTIONS(81), + [anon_sym_not] = ACTIONS(84), + [anon_sym_] = ACTIONS(75), + [anon_sym_DQUOTE] = ACTIONS(87), + [anon_sym_array] = ACTIONS(90), + [anon_sym_var] = ACTIONS(93), + [anon_sym_par] = ACTIONS(93), + [anon_sym_opt] = ACTIONS(96), + [anon_sym_ann] = ACTIONS(99), + [anon_sym_bool] = ACTIONS(99), + [anon_sym_float] = ACTIONS(99), + [anon_sym_int] = ACTIONS(99), + [anon_sym_string] = ACTIONS(99), + [anon_sym_set] = ACTIONS(102), + [sym_absent] = ACTIONS(105), + [anon_sym_true] = ACTIONS(108), + [anon_sym_false] = ACTIONS(108), + [sym_float_literal] = ACTIONS(105), + [sym_integer_literal] = ACTIONS(111), [sym_line_comment] = ACTIONS(3), [sym_block_comment] = ACTIONS(3), }, [3] = { - [sym__item] = STATE(175), - [sym_assignment] = STATE(175), - [sym_constraint] = STATE(175), - [sym_declaration] = STATE(175), - [sym_goal] = STATE(175), - [sym_include] = STATE(175), - [sym_output] = STATE(175), - [sym__expression] = STATE(72), - [sym_parenthesised_expression] = STATE(72), - [sym_array_comprehension] = STATE(72), - [sym_call] = STATE(72), - [sym_generator_call] = STATE(72), - [sym_if_then_else] = STATE(72), - [sym_indexed_access] = STATE(72), - [sym_infix_operator] = STATE(72), - [sym_prefix_operator] = STATE(72), - [sym_set_comprehension] = STATE(72), - [sym_string_interpolation] = STATE(72), - [sym__type] = STATE(195), - [sym_array_type] = STATE(195), - [sym_base_type] = STATE(195), - [sym_primitive_type] = STATE(150), - [sym_set_type] = STATE(195), - [sym__literal] = STATE(72), - [sym_array_literal] = STATE(72), - [sym_boolean_literal] = STATE(72), - [sym_set_literal] = STATE(72), - [sym_string_literal] = STATE(72), + [sym__item] = STATE(188), + [sym_assignment] = STATE(188), + [sym_constraint] = STATE(188), + [sym_declaration] = STATE(188), + [sym_goal] = STATE(188), + [sym_include] = STATE(188), + [sym_output] = STATE(188), + [sym__expression] = STATE(75), + [sym_parenthesised_expression] = STATE(75), + [sym_array_comprehension] = STATE(75), + [sym_call] = STATE(75), + [sym_generator_call] = STATE(75), + [sym_if_then_else] = STATE(75), + [sym_indexed_access] = STATE(75), + [sym_infix_operator] = STATE(75), + [sym_let_expression] = STATE(75), + [sym_prefix_operator] = STATE(75), + [sym_set_comprehension] = STATE(75), + [sym_string_interpolation] = STATE(75), + [sym__type] = STATE(207), + [sym_array_type] = STATE(207), + [sym_base_type] = STATE(207), + [sym_primitive_type] = STATE(167), + [sym_set_type] = STATE(207), + [sym__literal] = STATE(75), + [sym_array_literal] = STATE(75), + [sym_boolean_literal] = STATE(75), + [sym_set_literal] = STATE(75), + [sym_string_literal] = STATE(75), [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(109), + [ts_builtin_sym_end] = ACTIONS(114), [sym_identifier] = ACTIONS(7), [anon_sym_constraint] = ACTIONS(9), [anon_sym_solve] = ACTIONS(11), @@ -2488,2400 +2558,35 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_if] = ACTIONS(21), [anon_sym_DASH] = ACTIONS(23), - [anon_sym_not] = ACTIONS(25), - [anon_sym_] = ACTIONS(23), + [anon_sym_let] = ACTIONS(25), [anon_sym_LBRACE] = ACTIONS(27), - [anon_sym_DQUOTE] = ACTIONS(29), - [anon_sym_array] = ACTIONS(31), - [anon_sym_var] = ACTIONS(33), - [anon_sym_par] = ACTIONS(33), - [anon_sym_opt] = ACTIONS(35), - [anon_sym_ann] = ACTIONS(37), - [anon_sym_bool] = ACTIONS(37), - [anon_sym_float] = ACTIONS(37), - [anon_sym_int] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - [anon_sym_set] = ACTIONS(39), - [sym_absent] = ACTIONS(41), - [anon_sym_true] = ACTIONS(43), - [anon_sym_false] = ACTIONS(43), - [sym_float_literal] = ACTIONS(41), - [sym_integer_literal] = ACTIONS(45), + [anon_sym_not] = ACTIONS(29), + [anon_sym_] = ACTIONS(23), + [anon_sym_DQUOTE] = ACTIONS(31), + [anon_sym_array] = ACTIONS(33), + [anon_sym_var] = ACTIONS(35), + [anon_sym_par] = ACTIONS(35), + [anon_sym_opt] = ACTIONS(37), + [anon_sym_ann] = ACTIONS(39), + [anon_sym_bool] = ACTIONS(39), + [anon_sym_float] = ACTIONS(39), + [anon_sym_int] = ACTIONS(39), + [anon_sym_string] = ACTIONS(39), + [anon_sym_set] = ACTIONS(41), + [sym_absent] = ACTIONS(43), + [anon_sym_true] = ACTIONS(45), + [anon_sym_false] = ACTIONS(45), + [sym_float_literal] = ACTIONS(43), + [sym_integer_literal] = ACTIONS(47), [sym_line_comment] = ACTIONS(3), [sym_block_comment] = ACTIONS(3), }, }; static uint16_t ts_small_parse_table[] = { - [0] = 4, - ACTIONS(115), 1, - anon_sym_LPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(113), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(111), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [56] = 11, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(119), 7, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(117), 26, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_DOT_DOT, - anon_sym_RBRACE, - [125] = 18, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(119), 3, - anon_sym_COLON, - anon_sym_else, - anon_sym_LT_DASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - ACTIONS(117), 15, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_RBRACE, - [208] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(153), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(151), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [261] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(157), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(155), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [314] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(161), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(159), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [367] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(165), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(163), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [420] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(169), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(167), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [473] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(173), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(171), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [526] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(177), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(175), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [579] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(181), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(179), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [632] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(185), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(183), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [685] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(189), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(187), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [738] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(193), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(191), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [791] = 5, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(197), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(195), 32, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_RBRACE, - [848] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(201), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(199), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [901] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(205), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(203), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [954] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(209), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(207), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1007] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(213), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(211), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1060] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(217), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(215), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1113] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(221), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(219), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1166] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(225), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(223), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1219] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(229), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(227), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1272] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(233), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(231), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1325] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(237), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(235), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1378] = 4, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(119), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(117), 33, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1433] = 15, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(119), 7, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(117), 22, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_RBRACE, - [1510] = 5, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(119), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(117), 32, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_RBRACE, - [1567] = 6, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(119), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(117), 31, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_RBRACE, - [1626] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(241), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(239), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1679] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(119), 2, - anon_sym_COLON, - anon_sym_else, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - ACTIONS(117), 13, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_RBRACE, - [1766] = 8, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(119), 9, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(117), 28, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_RBRACE, - [1829] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(249), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(247), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1882] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(253), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(251), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1935] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(257), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(255), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [1988] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(261), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(259), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [2041] = 10, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(119), 7, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(117), 27, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_RBRACE, - [2108] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(265), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(263), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [2161] = 12, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(119), 7, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(117), 25, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_RBRACE, - [2232] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(269), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(267), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [2285] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(273), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(271), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [2338] = 13, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(119), 7, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(117), 24, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_RBRACE, - [2411] = 17, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(119), 3, - anon_sym_COLON, - anon_sym_else, - anon_sym_LT_DASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - ACTIONS(117), 16, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_RBRACE, - [2492] = 14, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(119), 7, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(117), 23, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_RBRACE, - [2567] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(277), 10, - anon_sym_EQ, - anon_sym_COLON, - anon_sym_in, - anon_sym_else, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(275), 34, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_where, - anon_sym_then, - anon_sym_elseif, - anon_sym_endif, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - anon_sym_RBRACE, - [2620] = 19, + [0] = 25, + ACTIONS(9), 1, + anon_sym_constraint, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -4889,45 +2594,59 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(33), 1, + anon_sym_array, + ACTIONS(37), 1, anon_sym_opt, - ACTIONS(45), 1, + ACTIONS(41), 1, + anon_sym_set, + ACTIONS(47), 1, sym_integer_literal, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(281), 1, - anon_sym_RBRACK, - STATE(150), 1, + ACTIONS(118), 1, + anon_sym_RBRACE, + STATE(6), 1, + aux_sym_let_expression_repeat1, + STATE(167), 1, sym_primitive_type, - STATE(182), 1, - sym_base_type, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(33), 2, + ACTIONS(35), 2, anon_sym_var, anon_sym_par, - ACTIONS(41), 2, + ACTIONS(43), 2, sym_absent, sym_float_literal, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(37), 5, + STATE(186), 2, + sym_constraint, + sym_declaration, + STATE(207), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(72), 16, + STATE(75), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -4936,6 +2655,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -4944,7 +2664,9 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [2702] = 19, + [105] = 25, + ACTIONS(9), 1, + anon_sym_constraint, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -4952,22 +2674,2754 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(33), 1, + anon_sym_array, + ACTIONS(37), 1, anon_sym_opt, - ACTIONS(45), 1, + ACTIONS(41), 1, + anon_sym_set, + ACTIONS(47), 1, sym_integer_literal, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(283), 1, + ACTIONS(120), 1, + anon_sym_RBRACE, + STATE(4), 1, + aux_sym_let_expression_repeat1, + STATE(167), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(35), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(43), 2, + sym_absent, + sym_float_literal, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + STATE(163), 2, + sym_constraint, + sym_declaration, + STATE(207), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(39), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(75), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [210] = 25, + ACTIONS(122), 1, + sym_identifier, + ACTIONS(125), 1, + anon_sym_constraint, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(131), 1, + anon_sym_LBRACK, + ACTIONS(134), 1, + anon_sym_if, + ACTIONS(140), 1, + anon_sym_let, + ACTIONS(143), 1, + anon_sym_LBRACE, + ACTIONS(146), 1, + anon_sym_RBRACE, + ACTIONS(148), 1, + anon_sym_not, + ACTIONS(151), 1, + anon_sym_DQUOTE, + ACTIONS(154), 1, + anon_sym_array, + ACTIONS(160), 1, + anon_sym_opt, + ACTIONS(166), 1, + anon_sym_set, + ACTIONS(175), 1, + sym_integer_literal, + STATE(6), 1, + aux_sym_let_expression_repeat1, + STATE(167), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(137), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(157), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(169), 2, + sym_absent, + sym_float_literal, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(190), 2, + sym_constraint, + sym_declaration, + STATE(207), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(163), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(75), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [315] = 4, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(180), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(178), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, anon_sym_RBRACK, - STATE(150), 1, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [371] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(186), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(184), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [424] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(190), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(188), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [477] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(196), 2, + anon_sym_COLON, + anon_sym_else, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(192), 11, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_RBRACE, + [566] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(234), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(232), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [619] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(238), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(236), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [672] = 15, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(240), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_RBRACE, + [749] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(246), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(244), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [802] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(250), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(248), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [855] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(254), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(252), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [908] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(242), 2, + anon_sym_COLON, + anon_sym_else, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(240), 13, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_RBRACE, + [995] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(258), 2, + anon_sym_COLON, + anon_sym_else, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(256), 11, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_RBRACE, + [1084] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(262), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(260), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1137] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(264), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1190] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(270), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(268), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1243] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(274), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(272), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1296] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(278), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(276), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1349] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(282), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(280), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1402] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(284), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1455] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(290), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(288), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1508] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(294), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(292), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1561] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(298), 2, + anon_sym_COLON, + anon_sym_else, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(296), 11, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_RBRACE, + [1650] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(302), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(300), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1703] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(306), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(304), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1756] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(310), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(308), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1809] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(312), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1862] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(318), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(316), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1915] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(322), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(320), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [1968] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(326), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(324), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2021] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(330), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(328), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2074] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(334), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(332), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2127] = 5, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(338), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(336), 32, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_RBRACE, + [2184] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(342), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(340), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2237] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(346), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(344), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2290] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(350), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(348), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2343] = 4, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(242), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(240), 33, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2398] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(354), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(352), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2451] = 5, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(242), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(240), 32, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_RBRACE, + [2508] = 6, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(242), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(240), 31, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_RBRACE, + [2567] = 8, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 9, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(240), 28, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_RBRACE, + [2630] = 11, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(240), 26, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_DOT_DOT, + anon_sym_RBRACE, + [2699] = 18, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 3, + anon_sym_COLON, + anon_sym_else, + anon_sym_LT_DASH, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(240), 15, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_RBRACE, + [2782] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(358), 10, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(356), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + [2835] = 10, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(240), 27, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_RBRACE, + [2902] = 12, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(240), 25, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_RBRACE, + [2973] = 13, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(240), 24, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_RBRACE, + [3046] = 14, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(240), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_RBRACE, + [3121] = 17, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(242), 3, + anon_sym_COLON, + anon_sym_else, + anon_sym_LT_DASH, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(240), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_RBRACE, + [3202] = 20, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(37), 1, + anon_sym_opt, + ACTIONS(47), 1, + sym_integer_literal, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(360), 1, + anon_sym_RBRACK, + STATE(167), 1, sym_primitive_type, - STATE(182), 1, + STATE(195), 1, sym_base_type, ACTIONS(3), 2, sym_line_comment, @@ -4975,22 +5429,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(33), 2, + ACTIONS(35), 2, anon_sym_var, anon_sym_par, - ACTIONS(41), 2, + ACTIONS(43), 2, sym_absent, sym_float_literal, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(37), 5, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(72), 16, + STATE(75), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -4999,6 +5453,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -5007,7 +5462,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [2784] = 18, + [3288] = 20, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -5015,20 +5470,24 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_opt, - ACTIONS(45), 1, + ACTIONS(47), 1, sym_integer_literal, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - STATE(150), 1, + ACTIONS(362), 1, + anon_sym_RBRACK, + STATE(167), 1, sym_primitive_type, - STATE(182), 1, + STATE(195), 1, sym_base_type, ACTIONS(3), 2, sym_line_comment, @@ -5036,22 +5495,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(33), 2, + ACTIONS(35), 2, anon_sym_var, anon_sym_par, - ACTIONS(41), 2, + ACTIONS(43), 2, sym_absent, sym_float_literal, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(37), 5, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(72), 16, + STATE(75), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -5060,6 +5519,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -5068,7 +5528,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [2863] = 18, + [3374] = 19, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -5076,43 +5536,109 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_opt, - ACTIONS(45), 1, + ACTIONS(47), 1, sym_integer_literal, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - STATE(150), 1, + STATE(167), 1, sym_primitive_type, + STATE(205), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(35), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(43), 2, + sym_absent, + sym_float_literal, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(75), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [3457] = 19, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(37), 1, + anon_sym_opt, + ACTIONS(47), 1, + sym_integer_literal, + ACTIONS(116), 1, + sym_identifier, STATE(166), 1, sym_base_type, + STATE(167), 1, + sym_primitive_type, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(33), 2, + ACTIONS(35), 2, anon_sym_var, anon_sym_par, - ACTIONS(41), 2, + ACTIONS(43), 2, sym_absent, sym_float_literal, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(37), 5, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(72), 16, + STATE(75), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -5121,6 +5647,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -5129,7 +5656,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [2942] = 18, + [3540] = 19, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -5137,20 +5664,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_opt, - ACTIONS(45), 1, + ACTIONS(47), 1, sym_integer_literal, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - STATE(150), 1, + STATE(167), 1, sym_primitive_type, - STATE(197), 1, + STATE(214), 1, sym_base_type, ACTIONS(3), 2, sym_line_comment, @@ -5158,22 +5687,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(33), 2, + ACTIONS(35), 2, anon_sym_var, anon_sym_par, - ACTIONS(41), 2, + ACTIONS(43), 2, sym_absent, sym_float_literal, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(37), 5, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(72), 16, + STATE(75), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -5182,6 +5711,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -5190,7 +5720,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [3021] = 18, + [3623] = 19, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -5198,20 +5728,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_opt, - ACTIONS(45), 1, + ACTIONS(47), 1, sym_integer_literal, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - STATE(150), 1, + STATE(167), 1, sym_primitive_type, - STATE(191), 1, + STATE(216), 1, sym_base_type, ACTIONS(3), 2, sym_line_comment, @@ -5219,22 +5751,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(33), 2, + ACTIONS(35), 2, anon_sym_var, anon_sym_par, - ACTIONS(41), 2, + ACTIONS(43), 2, sym_absent, sym_float_literal, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(37), 5, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(72), 16, + STATE(75), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -5243,6 +5775,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -5251,7 +5784,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [3100] = 18, + [3706] = 19, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -5259,20 +5792,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_opt, - ACTIONS(45), 1, + ACTIONS(47), 1, sym_integer_literal, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - STATE(150), 1, + STATE(167), 1, sym_primitive_type, - STATE(192), 1, + STATE(206), 1, sym_base_type, ACTIONS(3), 2, sym_line_comment, @@ -5280,22 +5815,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(33), 2, + ACTIONS(35), 2, anon_sym_var, anon_sym_par, - ACTIONS(41), 2, + ACTIONS(43), 2, sym_absent, sym_float_literal, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(37), 5, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(72), 16, + STATE(75), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -5304,6 +5839,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -5312,7 +5848,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [3179] = 18, + [3789] = 19, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -5320,20 +5856,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_opt, - ACTIONS(45), 1, + ACTIONS(47), 1, sym_integer_literal, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - STATE(150), 1, + STATE(167), 1, sym_primitive_type, - STATE(189), 1, + STATE(195), 1, sym_base_type, ACTIONS(3), 2, sym_line_comment, @@ -5341,22 +5879,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(33), 2, + ACTIONS(35), 2, anon_sym_var, anon_sym_par, - ACTIONS(41), 2, + ACTIONS(43), 2, sym_absent, sym_float_literal, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(37), 5, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(72), 16, + STATE(75), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -5365,6 +5903,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -5373,7 +5912,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [3258] = 16, + [3872] = 17, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -5381,18 +5920,20 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(285), 1, + ACTIONS(364), 1, anon_sym_opt, - ACTIONS(289), 1, + ACTIONS(368), 1, sym_integer_literal, - STATE(147), 1, + STATE(174), 1, sym_primitive_type, ACTIONS(3), 2, sym_line_comment, @@ -5400,19 +5941,19 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(287), 2, + ACTIONS(366), 2, sym_absent, sym_float_literal, - ACTIONS(37), 5, + ACTIONS(39), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, - STATE(64), 16, + STATE(76), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -5421,6 +5962,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -5429,67 +5971,236 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [3330] = 21, - ACTIONS(121), 1, + [3948] = 16, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(372), 1, + sym_integer_literal, + STATE(169), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(370), 2, + sym_absent, + sym_float_literal, + ACTIONS(39), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(85), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [4021] = 16, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(376), 1, + sym_integer_literal, + STATE(171), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(374), 2, + sym_absent, + sym_float_literal, + ACTIONS(39), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(83), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [4094] = 16, + ACTIONS(378), 1, + sym_identifier, + ACTIONS(381), 1, + anon_sym_LPAREN, + ACTIONS(386), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_if, + ACTIONS(395), 1, + anon_sym_let, + ACTIONS(398), 1, + anon_sym_LBRACE, + ACTIONS(401), 1, + anon_sym_not, + ACTIONS(404), 1, + anon_sym_DQUOTE, + ACTIONS(413), 1, + sym_integer_literal, + STATE(66), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(392), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(407), 2, + sym_absent, + sym_float_literal, + ACTIONS(410), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(384), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + STATE(125), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [4165] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, anon_sym_LT_DASH, - ACTIONS(293), 1, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(418), 1, anon_sym_where, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, + ACTIONS(200), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, - ACTIONS(137), 4, + ACTIONS(194), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 4, + ACTIONS(416), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - ACTIONS(141), 6, + ACTIONS(208), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, - [3411] = 15, + [4246] = 17, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -5497,978 +6208,22 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(299), 1, - sym_integer_literal, - STATE(148), 1, - sym_primitive_type, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(297), 2, - sym_absent, - sym_float_literal, - ACTIONS(37), 5, - anon_sym_ann, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_string, - STATE(69), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [3480] = 15, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(420), 1, sym_identifier, - ACTIONS(303), 1, - sym_integer_literal, - STATE(155), 1, - sym_primitive_type, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(301), 2, - sym_absent, - sym_float_literal, - ACTIONS(37), 5, - anon_sym_ann, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_string, - STATE(66), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [3549] = 23, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(305), 1, - anon_sym_elseif, - ACTIONS(307), 1, - anon_sym_else, - ACTIONS(309), 1, - anon_sym_endif, - STATE(142), 1, - aux_sym_if_then_else_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [3633] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(311), 4, + ACTIONS(422), 1, anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [3711] = 22, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(313), 1, - anon_sym_PIPE, - ACTIONS(315), 1, - anon_sym_COMMA, - ACTIONS(317), 1, - anon_sym_RBRACK, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [3792] = 21, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(319), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(321), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [3871] = 21, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(325), 1, - anon_sym_else, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(323), 2, - anon_sym_elseif, - anon_sym_endif, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [3950] = 21, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(327), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(329), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4029] = 5, - ACTIONS(115), 1, - anon_sym_LPAREN, - ACTIONS(331), 1, - anon_sym_in, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(113), 7, - anon_sym_EQ, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(111), 25, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_LT_DASH_GT, - anon_sym_DASH_GT, - anon_sym_BSLASH_SLASH, - anon_sym_xor, - anon_sym_SLASH_BSLASH, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - anon_sym_union, - anon_sym_diff, - anon_sym_symdiff, - anon_sym_intersect, - anon_sym_DOT_DOT, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - anon_sym_CARET, - anon_sym_COLON_COLON, - [4076] = 15, - ACTIONS(334), 1, - sym_identifier, - ACTIONS(337), 1, - anon_sym_LPAREN, - ACTIONS(342), 1, - anon_sym_LBRACK, - ACTIONS(345), 1, - anon_sym_if, - ACTIONS(351), 1, - anon_sym_not, - ACTIONS(354), 1, - anon_sym_LBRACE, - ACTIONS(357), 1, - anon_sym_DQUOTE, - ACTIONS(366), 1, + ACTIONS(426), 1, sym_integer_literal, - STATE(68), 1, + STATE(81), 1, aux_sym_call_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(348), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(360), 2, - sym_absent, - sym_float_literal, - ACTIONS(363), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(340), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - STATE(90), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [4143] = 21, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(369), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(371), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4222] = 22, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(373), 1, - anon_sym_COMMA, - ACTIONS(375), 1, - anon_sym_RBRACK, - STATE(156), 1, - aux_sym_indexed_access_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4303] = 22, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(315), 1, - anon_sym_COMMA, - ACTIONS(377), 1, - anon_sym_PIPE, - ACTIONS(379), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4384] = 21, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(381), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(383), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4463] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(385), 2, - ts_builtin_sym_end, - anon_sym_SEMI, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4539] = 21, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(315), 1, - anon_sym_COMMA, - ACTIONS(387), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4617] = 21, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(315), 1, - anon_sym_COMMA, - ACTIONS(389), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4695] = 16, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(391), 1, - sym_identifier, - ACTIONS(393), 1, - anon_sym_RPAREN, - ACTIONS(397), 1, - sym_integer_literal, - STATE(97), 1, - aux_sym_call_repeat1, - STATE(172), 1, + STATE(170), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, @@ -6476,13 +6231,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(395), 2, + ACTIONS(424), 2, sym_absent, sym_float_literal, - STATE(75), 16, + STATE(95), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -6491,6 +6246,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -6499,352 +6255,1193 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [4763] = 20, - ACTIONS(121), 1, + [4318] = 20, + ACTIONS(198), 1, anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, + ACTIONS(204), 1, anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, + ACTIONS(200), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, - ACTIONS(399), 2, - ts_builtin_sym_end, - anon_sym_SEMI, - ACTIONS(129), 3, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, - ACTIONS(137), 4, + ACTIONS(194), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [4839] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(401), 2, + ACTIONS(428), 4, + anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACK, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, + anon_sym_RBRACE, + ACTIONS(208), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, - [4915] = 21, - ACTIONS(121), 1, + [4396] = 20, + ACTIONS(198), 1, anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, + ACTIONS(204), 1, anon_sym_LT_DASH, - ACTIONS(315), 1, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(430), 4, + ts_builtin_sym_end, + anon_sym_SEMI, anon_sym_COMMA, - ACTIONS(403), 1, + anon_sym_RBRACE, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4474] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(432), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4552] = 23, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(434), 1, + anon_sym_elseif, + ACTIONS(436), 1, + anon_sym_else, + ACTIONS(438), 1, + anon_sym_endif, + STATE(157), 1, + aux_sym_if_then_else_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4636] = 22, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(440), 1, + anon_sym_PIPE, + ACTIONS(442), 1, + anon_sym_COMMA, + ACTIONS(444), 1, anon_sym_RBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, + ACTIONS(200), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, - ACTIONS(137), 4, + ACTIONS(194), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, - ACTIONS(141), 6, + ACTIONS(208), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, - [4993] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(405), 2, - ts_builtin_sym_end, - anon_sym_SEMI, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5069] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(407), 2, - ts_builtin_sym_end, - anon_sym_SEMI, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5145] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(409), 2, - ts_builtin_sym_end, - anon_sym_SEMI, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5221] = 5, - ACTIONS(115), 1, + [4717] = 5, + ACTIONS(182), 1, anon_sym_LPAREN, - ACTIONS(411), 1, + ACTIONS(446), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(180), 7, + anon_sym_EQ, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(178), 25, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_LT_DASH_GT, + anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, + anon_sym_xor, + anon_sym_SLASH_BSLASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + anon_sym_union, + anon_sym_diff, + anon_sym_symdiff, + anon_sym_intersect, + anon_sym_DOT_DOT, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + anon_sym_CARET, + anon_sym_COLON_COLON, + [4764] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(449), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(451), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4843] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(453), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(455), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4922] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(459), 1, + anon_sym_else, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(457), 2, + anon_sym_elseif, + anon_sym_endif, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5001] = 16, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(461), 1, + anon_sym_RBRACK, + ACTIONS(465), 1, + sym_integer_literal, + STATE(79), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(463), 2, + sym_absent, + sym_float_literal, + STATE(73), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [5070] = 16, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(444), 1, + anon_sym_RBRACK, + ACTIONS(469), 1, + sym_integer_literal, + STATE(66), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(467), 2, + sym_absent, + sym_float_literal, + STATE(91), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [5139] = 22, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(442), 1, + anon_sym_COMMA, + ACTIONS(471), 1, + anon_sym_PIPE, + ACTIONS(473), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5220] = 16, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(475), 1, + anon_sym_RPAREN, + ACTIONS(479), 1, + sym_integer_literal, + STATE(66), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(477), 2, + sym_absent, + sym_float_literal, + STATE(93), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [5289] = 16, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(473), 1, + anon_sym_RBRACE, + ACTIONS(483), 1, + sym_integer_literal, + STATE(66), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(481), 2, + sym_absent, + sym_float_literal, + STATE(88), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [5358] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(485), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(487), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5437] = 22, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(489), 1, + anon_sym_COMMA, + ACTIONS(491), 1, + anon_sym_RBRACK, + STATE(176), 1, + aux_sym_indexed_access_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5518] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(493), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(495), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5597] = 16, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(497), 1, + anon_sym_RBRACE, + ACTIONS(501), 1, + sym_integer_literal, + STATE(82), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(499), 2, + sym_absent, + sym_float_literal, + STATE(80), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [5666] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(503), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5742] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(442), 1, + anon_sym_COMMA, + ACTIONS(505), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5820] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(507), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5896] = 5, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(509), 1, anon_sym_EQ, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(113), 8, + ACTIONS(180), 8, anon_sym_COLON, anon_sym_in, anon_sym_LT_DASH, @@ -6853,7 +7450,7 @@ static uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, - ACTIONS(111), 23, + ACTIONS(178), 23, anon_sym_LBRACK, anon_sym_LT_DASH_GT, anon_sym_DASH_GT, @@ -6877,1600 +7474,290 @@ static uint16_t ts_small_parse_table[] = { anon_sym_mod, anon_sym_CARET, anon_sym_COLON_COLON, - [5267] = 21, - ACTIONS(121), 1, + [5942] = 21, + ACTIONS(198), 1, anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, + ACTIONS(204), 1, anon_sym_LT_DASH, - ACTIONS(315), 1, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(442), 1, anon_sym_COMMA, - ACTIONS(414), 1, - anon_sym_RBRACE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5345] = 15, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(416), 1, - anon_sym_RBRACK, - ACTIONS(420), 1, - sym_integer_literal, - STATE(93), 1, - aux_sym_call_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(418), 2, - sym_absent, - sym_float_literal, - STATE(63), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [5410] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(422), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5485] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(424), 1, - anon_sym_endif, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5560] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(426), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5635] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(428), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5710] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(315), 1, - anon_sym_COMMA, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5785] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(430), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5860] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(432), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [5935] = 15, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(317), 1, - anon_sym_RBRACK, - ACTIONS(436), 1, - sym_integer_literal, - STATE(68), 1, - aux_sym_call_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(434), 2, - sym_absent, - sym_float_literal, - STATE(79), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6000] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(438), 1, - anon_sym_then, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [6075] = 15, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(440), 1, - anon_sym_RBRACE, - ACTIONS(444), 1, - sym_integer_literal, - STATE(99), 1, - aux_sym_call_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(442), 2, - sym_absent, - sym_float_literal, - STATE(71), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6140] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(446), 1, - anon_sym_endif, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [6215] = 15, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(389), 1, - anon_sym_RPAREN, - ACTIONS(450), 1, - sym_integer_literal, - STATE(68), 1, - aux_sym_call_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(448), 2, - sym_absent, - sym_float_literal, - STATE(74), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6280] = 20, - ACTIONS(121), 1, - anon_sym_LBRACK, - ACTIONS(123), 1, - anon_sym_intersect, - ACTIONS(127), 1, - anon_sym_PLUS_PLUS, - ACTIONS(131), 1, - anon_sym_SLASH, - ACTIONS(133), 1, - anon_sym_CARET, - ACTIONS(135), 1, - anon_sym_COLON_COLON, - ACTIONS(139), 1, - anon_sym_SLASH_BSLASH, - ACTIONS(143), 1, - anon_sym_union, - ACTIONS(145), 1, - anon_sym_diff, - ACTIONS(147), 1, - anon_sym_symdiff, - ACTIONS(149), 1, - anon_sym_DOT_DOT, - ACTIONS(245), 1, - anon_sym_LT_DASH, - ACTIONS(452), 1, - anon_sym_then, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(125), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(243), 2, - anon_sym_DASH_GT, - anon_sym_xor, - ACTIONS(295), 2, - anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(129), 3, - anon_sym_STAR, - anon_sym_div, - anon_sym_mod, - ACTIONS(137), 4, - anon_sym_EQ, - anon_sym_in, - anon_sym_LT, - anon_sym_GT, - ACTIONS(141), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_subset, - anon_sym_superset, - [6355] = 15, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(379), 1, - anon_sym_RBRACE, - ACTIONS(456), 1, - sym_integer_literal, - STATE(68), 1, - aux_sym_call_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(454), 2, - sym_absent, - sym_float_literal, - STATE(84), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6420] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(460), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(458), 2, - sym_absent, - sym_float_literal, - STATE(42), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6479] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(464), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(462), 2, - sym_absent, - sym_float_literal, - STATE(94), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6538] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(468), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(466), 2, - sym_absent, - sym_float_literal, - STATE(46), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6597] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(472), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(470), 2, - sym_absent, - sym_float_literal, - STATE(6), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6656] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(476), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(474), 2, - sym_absent, - sym_float_literal, - STATE(34), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6715] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(480), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(478), 2, - sym_absent, - sym_float_literal, - STATE(70), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6774] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(484), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(482), 2, - sym_absent, - sym_float_literal, - STATE(30), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6833] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(488), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(486), 2, - sym_absent, - sym_float_literal, - STATE(88), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6892] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(492), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(490), 2, - sym_absent, - sym_float_literal, - STATE(80), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [6951] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(496), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(494), 2, - sym_absent, - sym_float_literal, - STATE(65), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [7010] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(500), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(498), 2, - sym_absent, - sym_float_literal, - STATE(86), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [7069] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(504), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(502), 2, - sym_absent, - sym_float_literal, - STATE(82), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [7128] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(508), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(506), 2, - sym_absent, - sym_float_literal, - STATE(29), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [7187] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, ACTIONS(512), 1, - sym_integer_literal, + anon_sym_RBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(510), 2, - sym_absent, - sym_float_literal, - STATE(45), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [7246] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6020] = 20, + ACTIONS(198), 1, anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(516), 1, - sym_integer_literal, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, ACTIONS(514), 2, - sym_absent, - sym_float_literal, - STATE(96), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [7305] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6096] = 21, + ACTIONS(198), 1, anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(520), 1, - sym_integer_literal, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(442), 1, + anon_sym_COMMA, + ACTIONS(516), 1, + anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6174] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, ACTIONS(518), 2, - sym_absent, - sym_float_literal, - STATE(81), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [7364] = 13, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6250] = 21, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(442), 1, + anon_sym_COMMA, + ACTIONS(475), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6328] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8478,14 +7765,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(524), 1, + ACTIONS(522), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8493,13 +7782,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(522), 2, + ACTIONS(520), 2, sym_absent, sym_float_literal, - STATE(40), 16, + STATE(127), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8508,6 +7797,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8516,7 +7806,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7423] = 13, + [6391] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8524,14 +7814,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(528), 1, + ACTIONS(526), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8539,13 +7831,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(526), 2, + ACTIONS(524), 2, sym_absent, sym_float_literal, - STATE(73), 16, + STATE(28), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8554,6 +7846,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8562,7 +7855,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7482] = 13, + [6454] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8570,14 +7863,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(532), 1, + ACTIONS(530), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8585,13 +7880,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(530), 2, + ACTIONS(528), 2, sym_absent, sym_float_literal, - STATE(91), 16, + STATE(94), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8600,6 +7895,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8608,7 +7904,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7541] = 13, + [6517] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8616,14 +7912,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(536), 1, + ACTIONS(534), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8631,13 +7929,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(534), 2, + ACTIONS(532), 2, sym_absent, sym_float_literal, - STATE(92), 16, + STATE(18), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8646,6 +7944,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8654,7 +7953,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7600] = 13, + [6580] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8662,14 +7961,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(540), 1, + ACTIONS(538), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8677,13 +7978,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(538), 2, + ACTIONS(536), 2, sym_absent, sym_float_literal, - STATE(5), 16, + STATE(72), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8692,6 +7993,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8700,7 +8002,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7659] = 13, + [6643] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8708,14 +8010,175 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, + ACTIONS(542), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(540), 2, + sym_absent, + sym_float_literal, + STATE(48), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [6706] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, ACTIONS(544), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6781] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(546), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6856] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(550), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8723,13 +8186,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(542), 2, + ACTIONS(548), 2, sym_absent, sym_float_literal, - STATE(89), 16, + STATE(140), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8738,6 +8201,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8746,7 +8210,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7718] = 13, + [6919] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8754,14 +8218,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(548), 1, + ACTIONS(554), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8769,13 +8235,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(546), 2, + ACTIONS(552), 2, sym_absent, sym_float_literal, - STATE(58), 16, + STATE(87), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8784,6 +8250,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8792,7 +8259,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7777] = 13, + [6982] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8800,14 +8267,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(552), 1, + ACTIONS(558), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8815,13 +8284,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(550), 2, + ACTIONS(556), 2, sym_absent, sym_float_literal, - STATE(35), 16, + STATE(133), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8830,6 +8299,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8838,7 +8308,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7836] = 13, + [7045] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8846,14 +8316,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(556), 1, + ACTIONS(562), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8861,13 +8333,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(554), 2, + ACTIONS(560), 2, sym_absent, sym_float_literal, - STATE(62), 16, + STATE(38), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8876,6 +8348,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8884,7 +8357,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7895] = 13, + [7108] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -8892,14 +8365,16 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(560), 1, + ACTIONS(566), 1, sym_integer_literal, ACTIONS(3), 2, sym_line_comment, @@ -8907,13 +8382,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(558), 2, + ACTIONS(564), 2, sym_absent, sym_float_literal, - STATE(78), 16, + STATE(137), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -8922,6 +8397,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -8930,99 +8406,62 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7954] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + [7171] = 20, + ACTIONS(198), 1, anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, - ACTIONS(564), 1, - sym_integer_literal, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(562), 2, - sym_absent, - sym_float_literal, - STATE(32), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [8013] = 13, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(279), 1, - sym_identifier, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, ACTIONS(568), 1, - sym_integer_literal, + anon_sym_endif, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_, - ACTIONS(43), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(566), 2, - sym_absent, - sym_float_literal, - STATE(77), 16, - sym__expression, - sym_parenthesised_expression, - sym_array_comprehension, - sym_call, - sym_generator_call, - sym_if_then_else, - sym_indexed_access, - sym_infix_operator, - sym_prefix_operator, - sym_set_comprehension, - sym_string_interpolation, - sym__literal, - sym_array_literal, - sym_boolean_literal, - sym_set_literal, - sym_string_literal, - [8072] = 13, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [7246] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -9030,12 +8469,14 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, ACTIONS(572), 1, sym_integer_literal, @@ -9045,13 +8486,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, ACTIONS(570), 2, sym_absent, sym_float_literal, - STATE(61), 16, + STATE(71), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -9060,6 +8501,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -9068,7 +8510,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [8131] = 13, + [7309] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -9076,12 +8518,14 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, ACTIONS(576), 1, sym_integer_literal, @@ -9091,13 +8535,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, ACTIONS(574), 2, sym_absent, sym_float_literal, - STATE(98), 16, + STATE(89), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -9106,6 +8550,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -9114,7 +8559,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [8190] = 13, + [7372] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -9122,12 +8567,14 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, ACTIONS(580), 1, sym_integer_literal, @@ -9137,13 +8584,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, ACTIONS(578), 2, sym_absent, sym_float_literal, - STATE(87), 16, + STATE(77), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -9152,6 +8599,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -9160,7 +8608,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [8249] = 13, + [7435] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -9168,12 +8616,14 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, ACTIONS(584), 1, sym_integer_literal, @@ -9183,13 +8633,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, ACTIONS(582), 2, sym_absent, sym_float_literal, - STATE(31), 16, + STATE(102), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -9198,6 +8648,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -9206,7 +8657,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [8308] = 13, + [7498] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -9214,12 +8665,14 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, ACTIONS(588), 1, sym_integer_literal, @@ -9229,13 +8682,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, ACTIONS(586), 2, sym_absent, sym_float_literal, - STATE(47), 16, + STATE(54), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -9244,6 +8697,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -9252,7 +8706,7 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [8367] = 13, + [7561] = 14, ACTIONS(17), 1, anon_sym_LPAREN, ACTIONS(19), 1, @@ -9260,12 +8714,14 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, anon_sym_if, ACTIONS(25), 1, - anon_sym_not, + anon_sym_let, ACTIONS(27), 1, anon_sym_LBRACE, ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(279), 1, + ACTIONS(116), 1, sym_identifier, ACTIONS(592), 1, sym_integer_literal, @@ -9275,13 +8731,13 @@ static uint16_t ts_small_parse_table[] = { ACTIONS(23), 2, anon_sym_DASH, anon_sym_, - ACTIONS(43), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, ACTIONS(590), 2, sym_absent, sym_float_literal, - STATE(18), 16, + STATE(138), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -9290,6 +8746,7 @@ static uint16_t ts_small_parse_table[] = { sym_if_then_else, sym_indexed_access, sym_infix_operator, + sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, @@ -9298,26 +8755,1392 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [8426] = 3, + [7624] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(596), 1, + sym_integer_literal, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(47), 9, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(594), 2, + sym_absent, + sym_float_literal, + STATE(118), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [7687] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(600), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(598), 2, + sym_absent, + sym_float_literal, + STATE(42), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [7750] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(602), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [7825] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(606), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(604), 2, + sym_absent, + sym_float_literal, + STATE(103), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [7888] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(610), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(608), 2, + sym_absent, + sym_float_literal, + STATE(70), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [7951] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(614), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(612), 2, + sym_absent, + sym_float_literal, + STATE(69), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8014] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(618), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(616), 2, + sym_absent, + sym_float_literal, + STATE(53), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8077] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(622), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(620), 2, + sym_absent, + sym_float_literal, + STATE(10), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8140] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(626), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(624), 2, + sym_absent, + sym_float_literal, + STATE(44), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8203] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(442), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [8278] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(630), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(628), 2, + sym_absent, + sym_float_literal, + STATE(13), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8341] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(632), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [8416] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(636), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(634), 2, + sym_absent, + sym_float_literal, + STATE(52), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8479] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(640), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(638), 2, + sym_absent, + sym_float_literal, + STATE(92), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8542] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(644), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(642), 2, + sym_absent, + sym_float_literal, + STATE(45), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8605] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(648), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(646), 2, + sym_absent, + sym_float_literal, + STATE(46), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8668] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(652), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(650), 2, + sym_absent, + sym_float_literal, + STATE(109), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8731] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(654), 1, + anon_sym_then, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [8806] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(658), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(656), 2, + sym_absent, + sym_float_literal, + STATE(51), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8869] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(662), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(660), 2, + sym_absent, + sym_float_literal, + STATE(47), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8932] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(666), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(664), 2, + sym_absent, + sym_float_literal, + STATE(17), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [8995] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(668), 1, + anon_sym_endif, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [9070] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(670), 1, + anon_sym_then, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [9145] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(674), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(672), 2, + sym_absent, + sym_float_literal, + STATE(67), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [9208] = 20, + ACTIONS(198), 1, + anon_sym_LBRACK, + ACTIONS(204), 1, + anon_sym_LT_DASH, + ACTIONS(206), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(210), 1, + anon_sym_union, + ACTIONS(212), 1, + anon_sym_diff, + ACTIONS(214), 1, + anon_sym_symdiff, + ACTIONS(216), 1, + anon_sym_intersect, + ACTIONS(218), 1, + anon_sym_DOT_DOT, + ACTIONS(222), 1, + anon_sym_PLUS_PLUS, + ACTIONS(226), 1, + anon_sym_SLASH, + ACTIONS(228), 1, + anon_sym_CARET, + ACTIONS(230), 1, + anon_sym_COLON_COLON, + ACTIONS(676), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(200), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(202), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(220), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(194), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(208), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [9283] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(680), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(678), 2, + sym_absent, + sym_float_literal, + STATE(84), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [9346] = 14, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(29), 1, + anon_sym_not, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(684), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(45), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(682), 2, + sym_absent, + sym_float_literal, + STATE(50), 17, + sym__expression, + sym_parenthesised_expression, + sym_array_comprehension, + sym_call, + sym_generator_call, + sym_if_then_else, + sym_indexed_access, + sym_infix_operator, + sym_let_expression, + sym_prefix_operator, + sym_set_comprehension, + sym_string_interpolation, + sym__literal, + sym_array_literal, + sym_boolean_literal, + sym_set_literal, + sym_string_literal, + [9409] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(49), 9, ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_DASH, - anon_sym_, anon_sym_LBRACE, + anon_sym_, anon_sym_DQUOTE, sym_absent, sym_float_literal, - ACTIONS(594), 20, + ACTIONS(686), 21, anon_sym_constraint, anon_sym_solve, anon_sym_include, anon_sym_output, anon_sym_if, + anon_sym_let, anon_sym_not, anon_sym_array, anon_sym_var, @@ -9333,616 +10156,701 @@ static uint16_t ts_small_parse_table[] = { anon_sym_false, sym_integer_literal, sym_identifier, - [8464] = 3, + [9448] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(596), 6, + ACTIONS(146), 9, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_, + anon_sym_DQUOTE, + sym_absent, + sym_float_literal, + ACTIONS(688), 18, + anon_sym_constraint, anon_sym_if, + anon_sym_let, + anon_sym_not, + anon_sym_array, + anon_sym_var, + anon_sym_par, + anon_sym_opt, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + anon_sym_set, + anon_sym_true, + anon_sym_false, + sym_integer_literal, + sym_identifier, + [9484] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(690), 7, + anon_sym_if, + anon_sym_let, anon_sym_not, anon_sym_true, anon_sym_false, sym_integer_literal, sym_identifier, - ACTIONS(340), 11, + ACTIONS(384), 11, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DASH, - anon_sym_, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_, anon_sym_DQUOTE, sym_absent, sym_float_literal, - [8490] = 8, - ACTIONS(598), 1, + [9511] = 8, + ACTIONS(692), 1, anon_sym_DQUOTE, - ACTIONS(600), 1, + ACTIONS(694), 1, anon_sym_BSLASH_LPAREN, - ACTIONS(602), 1, + ACTIONS(696), 1, aux_sym_string_content_token1, - ACTIONS(604), 1, + ACTIONS(698), 1, sym_escape_sequence, - STATE(141), 1, - aux_sym_string_content_repeat1, - STATE(151), 1, - sym_string_content, - STATE(153), 1, - aux_sym_string_interpolation_repeat1, - ACTIONS(606), 2, - sym_line_comment, - sym_block_comment, - [8516] = 6, - ACTIONS(602), 1, - aux_sym_string_content_token1, - ACTIONS(604), 1, - sym_escape_sequence, - STATE(141), 1, + STATE(150), 1, aux_sym_string_content_repeat1, STATE(177), 1, - sym_string_content, - ACTIONS(606), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(608), 2, - anon_sym_DQUOTE, - anon_sym_BSLASH_LPAREN, - [8537] = 5, - ACTIONS(612), 1, - aux_sym_string_content_token1, - ACTIONS(615), 1, - sym_escape_sequence, - STATE(138), 1, - aux_sym_string_content_repeat1, - ACTIONS(606), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(610), 2, - anon_sym_DQUOTE, - anon_sym_BSLASH_LPAREN, - [8555] = 4, - ACTIONS(620), 1, - anon_sym_COMMA, - STATE(139), 1, - aux_sym_array_comprehension_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(618), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - [8571] = 5, - ACTIONS(598), 1, - anon_sym_DQUOTE, - STATE(145), 1, - aux_sym_string_content_repeat1, - STATE(186), 1, - sym_string_content, - ACTIONS(606), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(623), 2, - aux_sym_string_content_token1, - sym_escape_sequence, - [8589] = 5, - ACTIONS(627), 1, - aux_sym_string_content_token1, - ACTIONS(629), 1, - sym_escape_sequence, - STATE(138), 1, - aux_sym_string_content_repeat1, - ACTIONS(606), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(625), 2, - anon_sym_DQUOTE, - anon_sym_BSLASH_LPAREN, - [8607] = 5, - ACTIONS(305), 1, - anon_sym_elseif, - ACTIONS(631), 1, - anon_sym_else, - ACTIONS(633), 1, - anon_sym_endif, - STATE(144), 1, - aux_sym_if_then_else_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8624] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(618), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [8635] = 5, - ACTIONS(635), 1, - anon_sym_elseif, - ACTIONS(638), 1, - anon_sym_else, - ACTIONS(640), 1, - anon_sym_endif, - STATE(144), 1, - aux_sym_if_then_else_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8652] = 4, - ACTIONS(625), 1, - anon_sym_DQUOTE, - STATE(146), 1, - aux_sym_string_content_repeat1, - ACTIONS(606), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(642), 2, - aux_sym_string_content_token1, - sym_escape_sequence, - [8667] = 4, - ACTIONS(610), 1, - anon_sym_DQUOTE, - STATE(146), 1, - aux_sym_string_content_repeat1, - ACTIONS(606), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(644), 2, - aux_sym_string_content_token1, - sym_escape_sequence, - [8682] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(321), 3, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACK, - [8692] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(371), 3, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACK, - [8702] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(647), 3, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACK, - [8712] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(383), 3, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACK, - [8722] = 4, - ACTIONS(649), 1, - anon_sym_DQUOTE, - ACTIONS(651), 1, - anon_sym_BSLASH_LPAREN, - STATE(157), 1, aux_sym_string_interpolation_repeat1, - ACTIONS(3), 2, + STATE(180), 1, + sym_string_content, + ACTIONS(700), 2, sym_line_comment, sym_block_comment, - [8736] = 3, - ACTIONS(655), 1, + [9537] = 6, + ACTIONS(696), 1, + aux_sym_string_content_token1, + ACTIONS(698), 1, + sym_escape_sequence, + STATE(150), 1, + aux_sym_string_content_repeat1, + STATE(193), 1, + sym_string_content, + ACTIONS(700), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(702), 2, + anon_sym_DQUOTE, + anon_sym_BSLASH_LPAREN, + [9558] = 3, + ACTIONS(706), 1, anon_sym_EQ, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(653), 2, + ACTIONS(704), 4, ts_builtin_sym_end, anon_sym_SEMI, - [8748] = 4, - ACTIONS(651), 1, - anon_sym_BSLASH_LPAREN, - ACTIONS(657), 1, + anon_sym_COMMA, + anon_sym_RBRACE, + [9572] = 4, + ACTIONS(710), 1, + anon_sym_COMMA, + STATE(149), 1, + aux_sym_array_comprehension_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(708), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + [9588] = 5, + ACTIONS(715), 1, + aux_sym_string_content_token1, + ACTIONS(717), 1, + sym_escape_sequence, + STATE(152), 1, + aux_sym_string_content_repeat1, + ACTIONS(700), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(713), 2, anon_sym_DQUOTE, - STATE(158), 1, + anon_sym_BSLASH_LPAREN, + [9606] = 5, + ACTIONS(692), 1, + anon_sym_DQUOTE, + STATE(156), 1, + aux_sym_string_content_repeat1, + STATE(218), 1, + sym_string_content, + ACTIONS(700), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(719), 2, + aux_sym_string_content_token1, + sym_escape_sequence, + [9624] = 5, + ACTIONS(723), 1, + aux_sym_string_content_token1, + ACTIONS(726), 1, + sym_escape_sequence, + STATE(152), 1, + aux_sym_string_content_repeat1, + ACTIONS(700), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(721), 2, + anon_sym_DQUOTE, + anon_sym_BSLASH_LPAREN, + [9642] = 5, + ACTIONS(729), 1, + anon_sym_elseif, + ACTIONS(732), 1, + anon_sym_else, + ACTIONS(734), 1, + anon_sym_endif, + STATE(153), 1, + aux_sym_if_then_else_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9659] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(708), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [9670] = 4, + ACTIONS(721), 1, + anon_sym_DQUOTE, + STATE(155), 1, + aux_sym_string_content_repeat1, + ACTIONS(700), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(736), 2, + aux_sym_string_content_token1, + sym_escape_sequence, + [9685] = 4, + ACTIONS(713), 1, + anon_sym_DQUOTE, + STATE(155), 1, + aux_sym_string_content_repeat1, + ACTIONS(700), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(739), 2, + aux_sym_string_content_token1, + sym_escape_sequence, + [9700] = 5, + ACTIONS(434), 1, + anon_sym_elseif, + ACTIONS(741), 1, + anon_sym_else, + ACTIONS(743), 1, + anon_sym_endif, + STATE(153), 1, + aux_sym_if_then_else_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9717] = 4, + ACTIONS(745), 1, + sym_identifier, + ACTIONS(747), 1, + anon_sym_RPAREN, + STATE(154), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9731] = 4, + ACTIONS(745), 1, + sym_identifier, + ACTIONS(749), 1, + anon_sym_RBRACE, + STATE(154), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9745] = 4, + ACTIONS(745), 1, + sym_identifier, + ACTIONS(751), 1, + anon_sym_RBRACE, + STATE(154), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9759] = 3, + ACTIONS(753), 1, + anon_sym_satisfy, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(755), 2, + anon_sym_maximize, + anon_sym_minimize, + [9771] = 4, + ACTIONS(751), 1, + anon_sym_RBRACE, + ACTIONS(757), 1, + anon_sym_COMMA, + STATE(149), 1, + aux_sym_array_comprehension_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9785] = 3, + ACTIONS(118), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(759), 2, + anon_sym_SEMI, + anon_sym_COMMA, + [9797] = 4, + ACTIONS(761), 1, + anon_sym_DQUOTE, + ACTIONS(763), 1, + anon_sym_BSLASH_LPAREN, + STATE(165), 1, aux_sym_string_interpolation_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8762] = 4, - ACTIONS(659), 1, + [9811] = 4, + ACTIONS(765), 1, + anon_sym_DQUOTE, + ACTIONS(767), 1, + anon_sym_BSLASH_LPAREN, + STATE(165), 1, + aux_sym_string_interpolation_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9825] = 4, + ACTIONS(770), 1, anon_sym_COMMA, - ACTIONS(662), 1, + ACTIONS(772), 1, anon_sym_RBRACK, - STATE(154), 1, + STATE(183), 1, aux_sym_array_type_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8776] = 2, + [9839] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(329), 3, + ACTIONS(451), 3, anon_sym_COLON, anon_sym_COMMA, anon_sym_RBRACK, - [8786] = 4, - ACTIONS(373), 1, + [9849] = 4, + ACTIONS(774), 1, anon_sym_COMMA, - ACTIONS(664), 1, + ACTIONS(777), 1, anon_sym_RBRACK, - STATE(164), 1, - aux_sym_indexed_access_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8800] = 4, - ACTIONS(651), 1, - anon_sym_BSLASH_LPAREN, - ACTIONS(666), 1, - anon_sym_DQUOTE, - STATE(158), 1, - aux_sym_string_interpolation_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8814] = 4, - ACTIONS(668), 1, - anon_sym_DQUOTE, - ACTIONS(670), 1, - anon_sym_BSLASH_LPAREN, - STATE(158), 1, - aux_sym_string_interpolation_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8828] = 4, - ACTIONS(673), 1, - sym_identifier, - ACTIONS(675), 1, - anon_sym_RPAREN, - STATE(143), 1, - sym_generator, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8842] = 4, - ACTIONS(673), 1, - sym_identifier, - ACTIONS(677), 1, - anon_sym_RBRACK, - STATE(143), 1, - sym_generator, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8856] = 4, - ACTIONS(283), 1, - anon_sym_RBRACK, - ACTIONS(679), 1, - anon_sym_COMMA, - STATE(154), 1, + STATE(168), 1, aux_sym_array_type_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8870] = 4, - ACTIONS(677), 1, - anon_sym_RBRACK, - ACTIONS(681), 1, + [9863] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(495), 3, + anon_sym_COLON, anon_sym_COMMA, - STATE(139), 1, + anon_sym_RBRACK, + [9873] = 4, + ACTIONS(779), 1, + anon_sym_RPAREN, + ACTIONS(781), 1, + anon_sym_COMMA, + STATE(179), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8884] = 4, - ACTIONS(683), 1, + [9887] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(487), 3, + anon_sym_COLON, anon_sym_COMMA, - ACTIONS(685), 1, - anon_sym_RBRACE, - STATE(173), 1, + anon_sym_RBRACK, + [9897] = 4, + ACTIONS(783), 1, + anon_sym_COMMA, + ACTIONS(785), 1, + anon_sym_RBRACK, + STATE(149), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8898] = 4, - ACTIONS(401), 1, - anon_sym_RBRACK, - ACTIONS(687), 1, + [9911] = 4, + ACTIONS(745), 1, + sym_identifier, + ACTIONS(787), 1, + anon_sym_RPAREN, + STATE(154), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9925] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(455), 3, + anon_sym_COLON, anon_sym_COMMA, - STATE(164), 1, + anon_sym_RBRACK, + [9935] = 4, + ACTIONS(745), 1, + sym_identifier, + ACTIONS(785), 1, + anon_sym_RBRACK, + STATE(154), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9949] = 4, + ACTIONS(489), 1, + anon_sym_COMMA, + ACTIONS(789), 1, + anon_sym_RBRACK, + STATE(178), 1, aux_sym_indexed_access_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8912] = 4, - ACTIONS(690), 1, - anon_sym_COMMA, - ACTIONS(692), 1, + [9963] = 4, + ACTIONS(763), 1, + anon_sym_BSLASH_LPAREN, + ACTIONS(791), 1, + anon_sym_DQUOTE, + STATE(165), 1, + aux_sym_string_interpolation_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9977] = 4, + ACTIONS(514), 1, anon_sym_RBRACK, + ACTIONS(793), 1, + anon_sym_COMMA, + STATE(178), 1, + aux_sym_indexed_access_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [9991] = 4, + ACTIONS(747), 1, + anon_sym_RPAREN, + ACTIONS(796), 1, + anon_sym_COMMA, + STATE(149), 1, + aux_sym_array_comprehension_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10005] = 4, + ACTIONS(763), 1, + anon_sym_BSLASH_LPAREN, + ACTIONS(798), 1, + anon_sym_DQUOTE, + STATE(164), 1, + aux_sym_string_interpolation_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10019] = 4, + ACTIONS(745), 1, + sym_identifier, + ACTIONS(800), 1, + anon_sym_RBRACK, + STATE(154), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10033] = 4, + ACTIONS(802), 1, + anon_sym_COMMA, + ACTIONS(804), 1, + anon_sym_RBRACK, + STATE(172), 1, + aux_sym_array_comprehension_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10047] = 4, + ACTIONS(360), 1, + anon_sym_RBRACK, + ACTIONS(806), 1, + anon_sym_COMMA, + STATE(168), 1, + aux_sym_array_type_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10061] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(808), 3, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACK, + [10071] = 4, + ACTIONS(810), 1, + anon_sym_COMMA, + ACTIONS(812), 1, + anon_sym_RBRACE, STATE(162), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8926] = 4, - ACTIONS(694), 1, - anon_sym_COMMA, - ACTIONS(696), 1, - anon_sym_RBRACK, - STATE(161), 1, - aux_sym_array_type_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8940] = 4, - ACTIONS(673), 1, - sym_identifier, - ACTIONS(698), 1, - anon_sym_RBRACK, - STATE(143), 1, - sym_generator, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8954] = 4, - ACTIONS(673), 1, - sym_identifier, - ACTIONS(700), 1, - anon_sym_RPAREN, - STATE(143), 1, - sym_generator, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [8968] = 4, - ACTIONS(673), 1, - sym_identifier, - ACTIONS(702), 1, + [10085] = 3, + ACTIONS(814), 1, anon_sym_RBRACE, - STATE(143), 1, - sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8982] = 4, - ACTIONS(700), 1, - anon_sym_RPAREN, - ACTIONS(704), 1, + ACTIONS(759), 2, + anon_sym_SEMI, anon_sym_COMMA, - STATE(139), 1, - aux_sym_array_comprehension_repeat1, + [10097] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [8996] = 3, - ACTIONS(706), 1, - anon_sym_satisfy, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(708), 2, - anon_sym_maximize, - anon_sym_minimize, - [9008] = 4, - ACTIONS(710), 1, - anon_sym_RPAREN, - ACTIONS(712), 1, - anon_sym_COMMA, - STATE(170), 1, - aux_sym_array_comprehension_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9022] = 4, - ACTIONS(702), 1, - anon_sym_RBRACE, - ACTIONS(714), 1, - anon_sym_COMMA, - STATE(139), 1, - aux_sym_array_comprehension_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9036] = 4, - ACTIONS(673), 1, - sym_identifier, - ACTIONS(716), 1, - anon_sym_RBRACE, - STATE(143), 1, - sym_generator, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9050] = 3, - ACTIONS(718), 1, + ACTIONS(816), 2, ts_builtin_sym_end, - ACTIONS(720), 1, + anon_sym_SEMI, + [10106] = 3, + ACTIONS(818), 1, + ts_builtin_sym_end, + ACTIONS(820), 1, anon_sym_SEMI, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9061] = 3, - ACTIONS(722), 1, + [10117] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(822), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [10126] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(759), 2, + anon_sym_SEMI, + anon_sym_COMMA, + [10135] = 3, + ACTIONS(745), 1, + sym_identifier, + STATE(182), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10146] = 3, + ACTIONS(824), 1, anon_sym_DQUOTE, - STATE(180), 1, + STATE(187), 1, sym_string_literal, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9072] = 2, + [10157] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(724), 2, + ACTIONS(826), 2, anon_sym_DQUOTE, anon_sym_BSLASH_LPAREN, - [9081] = 3, - ACTIONS(109), 1, - ts_builtin_sym_end, - ACTIONS(720), 1, - anon_sym_SEMI, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9092] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(726), 2, - ts_builtin_sym_end, - anon_sym_SEMI, - [9101] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(728), 2, - ts_builtin_sym_end, - anon_sym_SEMI, - [9110] = 3, - ACTIONS(673), 1, + [10166] = 3, + ACTIONS(745), 1, sym_identifier, - STATE(163), 1, + STATE(185), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9121] = 2, + [10177] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(662), 2, + ACTIONS(777), 2, anon_sym_COMMA, anon_sym_RBRACK, - [9130] = 3, - ACTIONS(673), 1, + [10186] = 3, + ACTIONS(745), 1, sym_identifier, - STATE(143), 1, + STATE(154), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9141] = 3, - ACTIONS(673), 1, - sym_identifier, - STATE(165), 1, - sym_generator, + [10197] = 3, + ACTIONS(114), 1, + ts_builtin_sym_end, + ACTIONS(820), 1, + anon_sym_SEMI, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9152] = 2, - ACTIONS(730), 1, - anon_sym_LPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9160] = 2, - ACTIONS(649), 1, - anon_sym_DQUOTE, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9168] = 2, - ACTIONS(732), 1, - sym_identifier, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9176] = 2, - ACTIONS(734), 1, + [10208] = 2, + ACTIONS(828), 1, anon_sym_in, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9184] = 2, - ACTIONS(736), 1, - anon_sym_COLON, + [10216] = 2, + ACTIONS(830), 1, + anon_sym_in, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9192] = 2, - ACTIONS(720), 1, - anon_sym_SEMI, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9200] = 2, - ACTIONS(738), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9208] = 2, - ACTIONS(740), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9216] = 2, - ACTIONS(742), 1, - anon_sym_LPAREN, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9224] = 2, - ACTIONS(744), 1, - anon_sym_of, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9232] = 2, - ACTIONS(746), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9240] = 2, - ACTIONS(748), 1, - anon_sym_of, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9248] = 2, - ACTIONS(750), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9256] = 2, - ACTIONS(752), 1, + [10224] = 2, + ACTIONS(832), 1, ts_builtin_sym_end, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9264] = 2, - ACTIONS(754), 1, - anon_sym_of, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9272] = 2, - ACTIONS(756), 1, + [10232] = 2, + ACTIONS(834), 1, anon_sym_LPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9280] = 2, - ACTIONS(758), 1, + [10240] = 2, + ACTIONS(836), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10248] = 2, + ACTIONS(838), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10256] = 2, + ACTIONS(840), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10264] = 2, + ACTIONS(842), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10272] = 2, + ACTIONS(844), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10280] = 2, + ACTIONS(846), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10288] = 2, + ACTIONS(848), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10296] = 2, + ACTIONS(820), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10304] = 2, + ACTIONS(850), 1, + anon_sym_of, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10312] = 2, + ACTIONS(852), 1, + anon_sym_of, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10320] = 2, + ACTIONS(854), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10328] = 2, + ACTIONS(856), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10336] = 2, + ACTIONS(858), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10344] = 2, + ACTIONS(860), 1, + anon_sym_of, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10352] = 2, + ACTIONS(862), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10360] = 2, + ACTIONS(864), 1, anon_sym_LBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9288] = 2, - ACTIONS(760), 1, + [10368] = 2, + ACTIONS(798), 1, + anon_sym_DQUOTE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [10376] = 2, + ACTIONS(866), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, @@ -9951,204 +10859,221 @@ static uint16_t ts_small_parse_table[] = { static uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(4)] = 0, - [SMALL_STATE(5)] = 56, - [SMALL_STATE(6)] = 125, - [SMALL_STATE(7)] = 208, - [SMALL_STATE(8)] = 261, - [SMALL_STATE(9)] = 314, - [SMALL_STATE(10)] = 367, - [SMALL_STATE(11)] = 420, - [SMALL_STATE(12)] = 473, - [SMALL_STATE(13)] = 526, - [SMALL_STATE(14)] = 579, - [SMALL_STATE(15)] = 632, - [SMALL_STATE(16)] = 685, - [SMALL_STATE(17)] = 738, - [SMALL_STATE(18)] = 791, - [SMALL_STATE(19)] = 848, - [SMALL_STATE(20)] = 901, - [SMALL_STATE(21)] = 954, - [SMALL_STATE(22)] = 1007, - [SMALL_STATE(23)] = 1060, - [SMALL_STATE(24)] = 1113, - [SMALL_STATE(25)] = 1166, - [SMALL_STATE(26)] = 1219, - [SMALL_STATE(27)] = 1272, - [SMALL_STATE(28)] = 1325, - [SMALL_STATE(29)] = 1378, - [SMALL_STATE(30)] = 1433, - [SMALL_STATE(31)] = 1510, - [SMALL_STATE(32)] = 1567, - [SMALL_STATE(33)] = 1626, - [SMALL_STATE(34)] = 1679, - [SMALL_STATE(35)] = 1766, - [SMALL_STATE(36)] = 1829, - [SMALL_STATE(37)] = 1882, - [SMALL_STATE(38)] = 1935, - [SMALL_STATE(39)] = 1988, - [SMALL_STATE(40)] = 2041, - [SMALL_STATE(41)] = 2108, - [SMALL_STATE(42)] = 2161, - [SMALL_STATE(43)] = 2232, - [SMALL_STATE(44)] = 2285, - [SMALL_STATE(45)] = 2338, - [SMALL_STATE(46)] = 2411, - [SMALL_STATE(47)] = 2492, - [SMALL_STATE(48)] = 2567, - [SMALL_STATE(49)] = 2620, - [SMALL_STATE(50)] = 2702, - [SMALL_STATE(51)] = 2784, - [SMALL_STATE(52)] = 2863, - [SMALL_STATE(53)] = 2942, - [SMALL_STATE(54)] = 3021, - [SMALL_STATE(55)] = 3100, - [SMALL_STATE(56)] = 3179, - [SMALL_STATE(57)] = 3258, - [SMALL_STATE(58)] = 3330, - [SMALL_STATE(59)] = 3411, - [SMALL_STATE(60)] = 3480, - [SMALL_STATE(61)] = 3549, - [SMALL_STATE(62)] = 3633, - [SMALL_STATE(63)] = 3711, - [SMALL_STATE(64)] = 3792, - [SMALL_STATE(65)] = 3871, - [SMALL_STATE(66)] = 3950, - [SMALL_STATE(67)] = 4029, - [SMALL_STATE(68)] = 4076, - [SMALL_STATE(69)] = 4143, - [SMALL_STATE(70)] = 4222, - [SMALL_STATE(71)] = 4303, - [SMALL_STATE(72)] = 4384, - [SMALL_STATE(73)] = 4463, - [SMALL_STATE(74)] = 4539, - [SMALL_STATE(75)] = 4617, - [SMALL_STATE(76)] = 4695, - [SMALL_STATE(77)] = 4763, - [SMALL_STATE(78)] = 4839, - [SMALL_STATE(79)] = 4915, - [SMALL_STATE(80)] = 4993, - [SMALL_STATE(81)] = 5069, - [SMALL_STATE(82)] = 5145, - [SMALL_STATE(83)] = 5221, - [SMALL_STATE(84)] = 5267, - [SMALL_STATE(85)] = 5345, - [SMALL_STATE(86)] = 5410, - [SMALL_STATE(87)] = 5485, - [SMALL_STATE(88)] = 5560, - [SMALL_STATE(89)] = 5635, - [SMALL_STATE(90)] = 5710, - [SMALL_STATE(91)] = 5785, - [SMALL_STATE(92)] = 5860, - [SMALL_STATE(93)] = 5935, - [SMALL_STATE(94)] = 6000, - [SMALL_STATE(95)] = 6075, - [SMALL_STATE(96)] = 6140, - [SMALL_STATE(97)] = 6215, - [SMALL_STATE(98)] = 6280, - [SMALL_STATE(99)] = 6355, - [SMALL_STATE(100)] = 6420, - [SMALL_STATE(101)] = 6479, - [SMALL_STATE(102)] = 6538, - [SMALL_STATE(103)] = 6597, - [SMALL_STATE(104)] = 6656, - [SMALL_STATE(105)] = 6715, - [SMALL_STATE(106)] = 6774, - [SMALL_STATE(107)] = 6833, - [SMALL_STATE(108)] = 6892, - [SMALL_STATE(109)] = 6951, - [SMALL_STATE(110)] = 7010, - [SMALL_STATE(111)] = 7069, - [SMALL_STATE(112)] = 7128, - [SMALL_STATE(113)] = 7187, - [SMALL_STATE(114)] = 7246, - [SMALL_STATE(115)] = 7305, - [SMALL_STATE(116)] = 7364, - [SMALL_STATE(117)] = 7423, - [SMALL_STATE(118)] = 7482, - [SMALL_STATE(119)] = 7541, - [SMALL_STATE(120)] = 7600, - [SMALL_STATE(121)] = 7659, - [SMALL_STATE(122)] = 7718, - [SMALL_STATE(123)] = 7777, - [SMALL_STATE(124)] = 7836, - [SMALL_STATE(125)] = 7895, - [SMALL_STATE(126)] = 7954, - [SMALL_STATE(127)] = 8013, - [SMALL_STATE(128)] = 8072, - [SMALL_STATE(129)] = 8131, - [SMALL_STATE(130)] = 8190, - [SMALL_STATE(131)] = 8249, - [SMALL_STATE(132)] = 8308, - [SMALL_STATE(133)] = 8367, - [SMALL_STATE(134)] = 8426, - [SMALL_STATE(135)] = 8464, - [SMALL_STATE(136)] = 8490, - [SMALL_STATE(137)] = 8516, - [SMALL_STATE(138)] = 8537, - [SMALL_STATE(139)] = 8555, - [SMALL_STATE(140)] = 8571, - [SMALL_STATE(141)] = 8589, - [SMALL_STATE(142)] = 8607, - [SMALL_STATE(143)] = 8624, - [SMALL_STATE(144)] = 8635, - [SMALL_STATE(145)] = 8652, - [SMALL_STATE(146)] = 8667, - [SMALL_STATE(147)] = 8682, - [SMALL_STATE(148)] = 8692, - [SMALL_STATE(149)] = 8702, - [SMALL_STATE(150)] = 8712, - [SMALL_STATE(151)] = 8722, - [SMALL_STATE(152)] = 8736, - [SMALL_STATE(153)] = 8748, - [SMALL_STATE(154)] = 8762, - [SMALL_STATE(155)] = 8776, - [SMALL_STATE(156)] = 8786, - [SMALL_STATE(157)] = 8800, - [SMALL_STATE(158)] = 8814, - [SMALL_STATE(159)] = 8828, - [SMALL_STATE(160)] = 8842, - [SMALL_STATE(161)] = 8856, - [SMALL_STATE(162)] = 8870, - [SMALL_STATE(163)] = 8884, - [SMALL_STATE(164)] = 8898, - [SMALL_STATE(165)] = 8912, - [SMALL_STATE(166)] = 8926, - [SMALL_STATE(167)] = 8940, - [SMALL_STATE(168)] = 8954, - [SMALL_STATE(169)] = 8968, - [SMALL_STATE(170)] = 8982, - [SMALL_STATE(171)] = 8996, - [SMALL_STATE(172)] = 9008, - [SMALL_STATE(173)] = 9022, - [SMALL_STATE(174)] = 9036, - [SMALL_STATE(175)] = 9050, - [SMALL_STATE(176)] = 9061, - [SMALL_STATE(177)] = 9072, - [SMALL_STATE(178)] = 9081, - [SMALL_STATE(179)] = 9092, - [SMALL_STATE(180)] = 9101, - [SMALL_STATE(181)] = 9110, - [SMALL_STATE(182)] = 9121, - [SMALL_STATE(183)] = 9130, - [SMALL_STATE(184)] = 9141, - [SMALL_STATE(185)] = 9152, - [SMALL_STATE(186)] = 9160, - [SMALL_STATE(187)] = 9168, - [SMALL_STATE(188)] = 9176, - [SMALL_STATE(189)] = 9184, - [SMALL_STATE(190)] = 9192, - [SMALL_STATE(191)] = 9200, - [SMALL_STATE(192)] = 9208, - [SMALL_STATE(193)] = 9216, - [SMALL_STATE(194)] = 9224, - [SMALL_STATE(195)] = 9232, - [SMALL_STATE(196)] = 9240, - [SMALL_STATE(197)] = 9248, - [SMALL_STATE(198)] = 9256, - [SMALL_STATE(199)] = 9264, - [SMALL_STATE(200)] = 9272, - [SMALL_STATE(201)] = 9280, - [SMALL_STATE(202)] = 9288, + [SMALL_STATE(5)] = 105, + [SMALL_STATE(6)] = 210, + [SMALL_STATE(7)] = 315, + [SMALL_STATE(8)] = 371, + [SMALL_STATE(9)] = 424, + [SMALL_STATE(10)] = 477, + [SMALL_STATE(11)] = 566, + [SMALL_STATE(12)] = 619, + [SMALL_STATE(13)] = 672, + [SMALL_STATE(14)] = 749, + [SMALL_STATE(15)] = 802, + [SMALL_STATE(16)] = 855, + [SMALL_STATE(17)] = 908, + [SMALL_STATE(18)] = 995, + [SMALL_STATE(19)] = 1084, + [SMALL_STATE(20)] = 1137, + [SMALL_STATE(21)] = 1190, + [SMALL_STATE(22)] = 1243, + [SMALL_STATE(23)] = 1296, + [SMALL_STATE(24)] = 1349, + [SMALL_STATE(25)] = 1402, + [SMALL_STATE(26)] = 1455, + [SMALL_STATE(27)] = 1508, + [SMALL_STATE(28)] = 1561, + [SMALL_STATE(29)] = 1650, + [SMALL_STATE(30)] = 1703, + [SMALL_STATE(31)] = 1756, + [SMALL_STATE(32)] = 1809, + [SMALL_STATE(33)] = 1862, + [SMALL_STATE(34)] = 1915, + [SMALL_STATE(35)] = 1968, + [SMALL_STATE(36)] = 2021, + [SMALL_STATE(37)] = 2074, + [SMALL_STATE(38)] = 2127, + [SMALL_STATE(39)] = 2184, + [SMALL_STATE(40)] = 2237, + [SMALL_STATE(41)] = 2290, + [SMALL_STATE(42)] = 2343, + [SMALL_STATE(43)] = 2398, + [SMALL_STATE(44)] = 2451, + [SMALL_STATE(45)] = 2508, + [SMALL_STATE(46)] = 2567, + [SMALL_STATE(47)] = 2630, + [SMALL_STATE(48)] = 2699, + [SMALL_STATE(49)] = 2782, + [SMALL_STATE(50)] = 2835, + [SMALL_STATE(51)] = 2902, + [SMALL_STATE(52)] = 2973, + [SMALL_STATE(53)] = 3046, + [SMALL_STATE(54)] = 3121, + [SMALL_STATE(55)] = 3202, + [SMALL_STATE(56)] = 3288, + [SMALL_STATE(57)] = 3374, + [SMALL_STATE(58)] = 3457, + [SMALL_STATE(59)] = 3540, + [SMALL_STATE(60)] = 3623, + [SMALL_STATE(61)] = 3706, + [SMALL_STATE(62)] = 3789, + [SMALL_STATE(63)] = 3872, + [SMALL_STATE(64)] = 3948, + [SMALL_STATE(65)] = 4021, + [SMALL_STATE(66)] = 4094, + [SMALL_STATE(67)] = 4165, + [SMALL_STATE(68)] = 4246, + [SMALL_STATE(69)] = 4318, + [SMALL_STATE(70)] = 4396, + [SMALL_STATE(71)] = 4474, + [SMALL_STATE(72)] = 4552, + [SMALL_STATE(73)] = 4636, + [SMALL_STATE(74)] = 4717, + [SMALL_STATE(75)] = 4764, + [SMALL_STATE(76)] = 4843, + [SMALL_STATE(77)] = 4922, + [SMALL_STATE(78)] = 5001, + [SMALL_STATE(79)] = 5070, + [SMALL_STATE(80)] = 5139, + [SMALL_STATE(81)] = 5220, + [SMALL_STATE(82)] = 5289, + [SMALL_STATE(83)] = 5358, + [SMALL_STATE(84)] = 5437, + [SMALL_STATE(85)] = 5518, + [SMALL_STATE(86)] = 5597, + [SMALL_STATE(87)] = 5666, + [SMALL_STATE(88)] = 5742, + [SMALL_STATE(89)] = 5820, + [SMALL_STATE(90)] = 5896, + [SMALL_STATE(91)] = 5942, + [SMALL_STATE(92)] = 6020, + [SMALL_STATE(93)] = 6096, + [SMALL_STATE(94)] = 6174, + [SMALL_STATE(95)] = 6250, + [SMALL_STATE(96)] = 6328, + [SMALL_STATE(97)] = 6391, + [SMALL_STATE(98)] = 6454, + [SMALL_STATE(99)] = 6517, + [SMALL_STATE(100)] = 6580, + [SMALL_STATE(101)] = 6643, + [SMALL_STATE(102)] = 6706, + [SMALL_STATE(103)] = 6781, + [SMALL_STATE(104)] = 6856, + [SMALL_STATE(105)] = 6919, + [SMALL_STATE(106)] = 6982, + [SMALL_STATE(107)] = 7045, + [SMALL_STATE(108)] = 7108, + [SMALL_STATE(109)] = 7171, + [SMALL_STATE(110)] = 7246, + [SMALL_STATE(111)] = 7309, + [SMALL_STATE(112)] = 7372, + [SMALL_STATE(113)] = 7435, + [SMALL_STATE(114)] = 7498, + [SMALL_STATE(115)] = 7561, + [SMALL_STATE(116)] = 7624, + [SMALL_STATE(117)] = 7687, + [SMALL_STATE(118)] = 7750, + [SMALL_STATE(119)] = 7825, + [SMALL_STATE(120)] = 7888, + [SMALL_STATE(121)] = 7951, + [SMALL_STATE(122)] = 8014, + [SMALL_STATE(123)] = 8077, + [SMALL_STATE(124)] = 8140, + [SMALL_STATE(125)] = 8203, + [SMALL_STATE(126)] = 8278, + [SMALL_STATE(127)] = 8341, + [SMALL_STATE(128)] = 8416, + [SMALL_STATE(129)] = 8479, + [SMALL_STATE(130)] = 8542, + [SMALL_STATE(131)] = 8605, + [SMALL_STATE(132)] = 8668, + [SMALL_STATE(133)] = 8731, + [SMALL_STATE(134)] = 8806, + [SMALL_STATE(135)] = 8869, + [SMALL_STATE(136)] = 8932, + [SMALL_STATE(137)] = 8995, + [SMALL_STATE(138)] = 9070, + [SMALL_STATE(139)] = 9145, + [SMALL_STATE(140)] = 9208, + [SMALL_STATE(141)] = 9283, + [SMALL_STATE(142)] = 9346, + [SMALL_STATE(143)] = 9409, + [SMALL_STATE(144)] = 9448, + [SMALL_STATE(145)] = 9484, + [SMALL_STATE(146)] = 9511, + [SMALL_STATE(147)] = 9537, + [SMALL_STATE(148)] = 9558, + [SMALL_STATE(149)] = 9572, + [SMALL_STATE(150)] = 9588, + [SMALL_STATE(151)] = 9606, + [SMALL_STATE(152)] = 9624, + [SMALL_STATE(153)] = 9642, + [SMALL_STATE(154)] = 9659, + [SMALL_STATE(155)] = 9670, + [SMALL_STATE(156)] = 9685, + [SMALL_STATE(157)] = 9700, + [SMALL_STATE(158)] = 9717, + [SMALL_STATE(159)] = 9731, + [SMALL_STATE(160)] = 9745, + [SMALL_STATE(161)] = 9759, + [SMALL_STATE(162)] = 9771, + [SMALL_STATE(163)] = 9785, + [SMALL_STATE(164)] = 9797, + [SMALL_STATE(165)] = 9811, + [SMALL_STATE(166)] = 9825, + [SMALL_STATE(167)] = 9839, + [SMALL_STATE(168)] = 9849, + [SMALL_STATE(169)] = 9863, + [SMALL_STATE(170)] = 9873, + [SMALL_STATE(171)] = 9887, + [SMALL_STATE(172)] = 9897, + [SMALL_STATE(173)] = 9911, + [SMALL_STATE(174)] = 9925, + [SMALL_STATE(175)] = 9935, + [SMALL_STATE(176)] = 9949, + [SMALL_STATE(177)] = 9963, + [SMALL_STATE(178)] = 9977, + [SMALL_STATE(179)] = 9991, + [SMALL_STATE(180)] = 10005, + [SMALL_STATE(181)] = 10019, + [SMALL_STATE(182)] = 10033, + [SMALL_STATE(183)] = 10047, + [SMALL_STATE(184)] = 10061, + [SMALL_STATE(185)] = 10071, + [SMALL_STATE(186)] = 10085, + [SMALL_STATE(187)] = 10097, + [SMALL_STATE(188)] = 10106, + [SMALL_STATE(189)] = 10117, + [SMALL_STATE(190)] = 10126, + [SMALL_STATE(191)] = 10135, + [SMALL_STATE(192)] = 10146, + [SMALL_STATE(193)] = 10157, + [SMALL_STATE(194)] = 10166, + [SMALL_STATE(195)] = 10177, + [SMALL_STATE(196)] = 10186, + [SMALL_STATE(197)] = 10197, + [SMALL_STATE(198)] = 10208, + [SMALL_STATE(199)] = 10216, + [SMALL_STATE(200)] = 10224, + [SMALL_STATE(201)] = 10232, + [SMALL_STATE(202)] = 10240, + [SMALL_STATE(203)] = 10248, + [SMALL_STATE(204)] = 10256, + [SMALL_STATE(205)] = 10264, + [SMALL_STATE(206)] = 10272, + [SMALL_STATE(207)] = 10280, + [SMALL_STATE(208)] = 10288, + [SMALL_STATE(209)] = 10296, + [SMALL_STATE(210)] = 10304, + [SMALL_STATE(211)] = 10312, + [SMALL_STATE(212)] = 10320, + [SMALL_STATE(213)] = 10328, + [SMALL_STATE(214)] = 10336, + [SMALL_STATE(215)] = 10344, + [SMALL_STATE(216)] = 10352, + [SMALL_STATE(217)] = 10360, + [SMALL_STATE(218)] = 10368, + [SMALL_STATE(219)] = 10376, }; static TSParseActionEntry ts_parse_actions[] = { @@ -10156,363 +11081,406 @@ static TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [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(83), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(83), - [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(111), - [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(171), - [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(176), - [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(115), - [64] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(119), - [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(85), - [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(101), - [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(133), - [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(133), - [79] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(95), - [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(136), - [85] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(201), - [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(57), - [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(60), - [94] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(149), - [97] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(199), - [100] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(72), - [103] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(19), - [106] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(72), - [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), - [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_operator, 3, .production_id = 10), - [119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_operator, 3, .production_id = 10), - [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), - [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), - [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexed_access, 5, .production_id = 15), - [153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexed_access, 5, .production_id = 15), - [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesised_expression, 3), - [157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesised_expression, 3), - [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 7), - [161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 7), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 5), - [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 5), - [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 5), - [169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 5), - [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 5), - [173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 5), - [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexed_access, 4, .production_id = 13), - [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexed_access, 4, .production_id = 13), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 9, .production_id = 19), - [181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 9, .production_id = 19), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3), - [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 3), - [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 3), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 4, .production_id = 12), - [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 4, .production_id = 12), - [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_operator, 2, .production_id = 2), - [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_operator, 2, .production_id = 2), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), - [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, .production_id = 6), - [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, .production_id = 6), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 8), - [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 8), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 3), - [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 3), - [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 3, .production_id = 9), - [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 3, .production_id = 9), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 4), - [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 4), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4), - [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 6), - [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 6), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 7, .production_id = 17), - [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 7, .production_id = 17), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4), - [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2), - [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 7), - [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 7), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 8, .production_id = 18), - [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 8, .production_id = 18), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 5, .production_id = 14), - [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 5, .production_id = 14), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 6), - [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 6), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 2), - [269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 2), - [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 7), - [273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 7), - [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 6), - [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 6), - [279] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 3), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 5), - [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, .production_id = 3), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, .production_id = 3), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 4), - [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_then_else_repeat1, 4), - [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, .production_id = 4), - [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, .production_id = 4), - [331] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(122), - [334] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(4), - [337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(119), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), - [342] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(85), - [345] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(101), - [348] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(133), - [351] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(133), - [354] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(95), - [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(136), - [360] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(90), - [363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(19), - [366] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(90), - [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 3, .production_id = 7), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 3, .production_id = 7), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1), - [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1), - [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goal, 3, .production_id = 5), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, .production_id = 16), - [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_indexed_access_repeat1, 2), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 8), - [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output, 2), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint, 2), - [411] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(108), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [460] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [468] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [496] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), - [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [536] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), - [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [552] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), - [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [594] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), - [596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), - [598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), - [606] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_interpolation_repeat1, 3), - [610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), - [612] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(138), - [615] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(138), - [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_comprehension_repeat1, 2), - [620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_comprehension_repeat1, 2), SHIFT_REPEAT(183), - [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), - [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [635] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 2), SHIFT_REPEAT(129), - [638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_then_else_repeat1, 2), - [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 2), - [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [644] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(146), - [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), - [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, .production_id = 11), - [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [659] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_type_repeat1, 2), SHIFT_REPEAT(51), - [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_type_repeat1, 2), - [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 2), - [670] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 2), SHIFT_REPEAT(110), - [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [687] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_indexed_access_repeat1, 2), SHIFT_REPEAT(125), - [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 4), - [726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goal, 2, .production_id = 1), - [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include, 2), - [730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 7), - [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 6), - [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_type, 3), - [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 8), - [752] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(211), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [51] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(90), + [54] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(110), + [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(161), + [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(192), + [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(98), + [66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(104), + [69] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(78), + [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(106), + [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(107), + [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(202), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(86), + [84] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(107), + [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(146), + [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(217), + [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(63), + [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(65), + [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(184), + [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(211), + [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(75), + [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(20), + [111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(75), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(7), + [125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(110), + [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(104), + [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(78), + [134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(106), + [137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(107), + [140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(202), + [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(86), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), + [148] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(107), + [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(146), + [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(217), + [157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(63), + [160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(65), + [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(184), + [166] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(211), + [169] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(75), + [172] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(20), + [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(75), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 4), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 4), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 9, .production_id = 22), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 9, .production_id = 22), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 7, .production_id = 19), + [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 7, .production_id = 19), + [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), + [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 7), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 7), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 7), + [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 7), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_operator, 3, .production_id = 10), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_operator, 3, .production_id = 10), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 3), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 3), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 6), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 6), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesised_expression, 3), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesised_expression, 3), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 18), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 18), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 6), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 6), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 6), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 6), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexed_access, 5, .production_id = 16), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexed_access, 5, .production_id = 16), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 5, .production_id = 15), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 5, .production_id = 15), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 8, .production_id = 21), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 8, .production_id = 21), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 8), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 8), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 3), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 3), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 5), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 5), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 14), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 14), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 5), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 5), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 5), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 5), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexed_access, 4, .production_id = 13), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexed_access, 4, .production_id = 13), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 4, .production_id = 12), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 4, .production_id = 12), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 3, .production_id = 9), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 3, .production_id = 9), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 7), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 7), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_operator, 2, .production_id = 2), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_operator, 2, .production_id = 2), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, .production_id = 6), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, .production_id = 6), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 2), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 2), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 7, .production_id = 20), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 7, .production_id = 20), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(7), + [381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(104), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), + [386] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(78), + [389] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(106), + [392] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(107), + [395] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(202), + [398] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(86), + [401] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(107), + [404] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(146), + [407] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(125), + [410] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(20), + [413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(125), + [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 3), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), + [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 5), + [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, .production_id = 17), + [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint, 2), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [446] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(139), + [449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1), + [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1), + [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, .production_id = 3), + [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, .production_id = 3), + [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 4), + [459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_then_else_repeat1, 4), + [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, .production_id = 4), + [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, .production_id = 4), + [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 3, .production_id = 7), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 3, .production_id = 7), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goal, 3, .production_id = 5), + [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 8), + [509] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(111), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_indexed_access_repeat1, 2), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output, 2), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), + [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [538] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [542] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), + [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), + [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), + [688] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), + [690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), + [692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), + [694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), + [700] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [702] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_interpolation_repeat1, 3), + [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, .production_id = 11), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_comprehension_repeat1, 2), + [710] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_comprehension_repeat1, 2), SHIFT_REPEAT(196), + [713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), + [723] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(152), + [726] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(152), + [729] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 2), SHIFT_REPEAT(115), + [732] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_then_else_repeat1, 2), + [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 2), + [736] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(155), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 2), + [767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 2), SHIFT_REPEAT(119), + [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [774] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_type_repeat1, 2), SHIFT_REPEAT(62), + [777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_type_repeat1, 2), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [793] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_indexed_access_repeat1, 2), SHIFT_REPEAT(129), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), + [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [816] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include, 2), + [818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goal, 2, .production_id = 1), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 4), + [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [832] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_type, 3), + [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 7), + [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 8), + [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 6), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), }; #ifdef __cplusplus