diff --git a/corpus/items.txt b/corpus/items.txt index 4f84268..5fe82a0 100644 --- a/corpus/items.txt +++ b/corpus/items.txt @@ -1,3 +1,20 @@ +========== +Annotation +========== + +annotation simple; +annotation redirect = simple; +annotation funclike(int, int); +annotation funcdef(int: x, int: y) = other(x, y); + +--- + +(source_file + (annotation (identifier)) + (annotation (identifier) (identifier)) + (annotation (identifier) (base_type (primitive_type)) (base_type (primitive_type))) + (annotation (identifier) (base_type (primitive_type)) (identifier) (base_type (primitive_type)) (identifier) (call (identifier) (identifier) (identifier)))) + ========== Assignment ========== @@ -34,6 +51,23 @@ array[X, 1..23] of var int: simple_decl = some_call(X); (declaration (base_type (primitive_type)) (identifier)) (declaration (array_type (base_type (identifier)) (base_type (infix_operator (integer_literal) (integer_literal))) (base_type (primitive_type))) (identifier) (call (identifier) (identifier)))) +======== +Function +======== + +function int: this(); +function var int: that() = this(); +function X: with_args(int, float); +function X: with_named_args(X: x, bool: b) = something(b, x); + +--- + +(source_file + (function_item (base_type (primitive_type)) (identifier)) + (function_item (base_type (primitive_type)) (identifier) (call (identifier))) + (function_item (base_type (identifier)) (identifier) (base_type (primitive_type)) (base_type (primitive_type))) + (function_item (base_type (identifier)) (identifier) (base_type (identifier)) (identifier) (base_type (primitive_type)) (identifier) (call (identifier) (identifier) (identifier)))) + ==== Goal ==== @@ -70,3 +104,18 @@ output ["something"]; (source_file (output (array_literal (string_literal)))) + +========= +Predicate +========= + +test pred(); +predicate redirecht() = pred(); +predicate with_args(1..10: x, var bool: b) = pred(); + +--- + +(source_file + (predicate (identifier)) + (predicate (identifier) (call (identifier))) + (predicate (identifier) (base_type (infix_operator (integer_literal) (integer_literal))) (identifier) (base_type (primitive_type)) (identifier) (call (identifier)))) diff --git a/grammar.js b/grammar.js index bf11ca6..4739578 100644 --- a/grammar.js +++ b/grammar.js @@ -39,15 +39,26 @@ module.exports = grammar({ _item: ($) => choice( + $.annotation, $.assignment, - $.declaration, $.constraint, + $.declaration, + $.function_item, $.goal, $.include, - $.output + $.output, + $.predicate // TODO: Other statements types ), + annotation: ($) => + seq( + "annotation", + field("name", $.identifier), + optional(field("parameters", $._parameters)), + optional(seq("=", field("expr", $._expression))) + ), + assignment: ($) => seq(field("name", $.identifier), "=", field("expr", $._expression)), @@ -61,6 +72,17 @@ module.exports = grammar({ optional(seq("=", field("expr", $._expression))) ), + function_item: ($) => + seq( + "function", + field("type", $._type), + ":", + field("name", $.identifier), + field("parameters", $._parameters), + optional(field("annotations", $._annotations)), + optional(seq("=", field("expr", $._expression))) + ), + goal: ($) => seq( "solve", @@ -78,6 +100,19 @@ module.exports = grammar({ output: ($) => seq("output", $._expression), + predicate: ($) => + seq( + field("type", choice("predicate", "test")), + field("name", $.identifier), + field("parameters", $._parameters), + optional(field("annotations", $._annotations)), + optional(seq("=", field("expr", $._expression))) + ), + + _annotations: ($) => repeat1(seq("::", $._expression)), + + _parameters: ($) => + seq("(", sepBy(",", seq($._type, optional(seq(":", $.identifier)))), ")"), _expression: ($) => choice( $.identifier, diff --git a/src/grammar.json b/src/grammar.json index 6ae9caf..240b6b5 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -43,17 +43,25 @@ "_item": { "type": "CHOICE", "members": [ + { + "type": "SYMBOL", + "name": "annotation" + }, { "type": "SYMBOL", "name": "assignment" }, + { + "type": "SYMBOL", + "name": "constraint" + }, { "type": "SYMBOL", "name": "declaration" }, { "type": "SYMBOL", - "name": "constraint" + "name": "function_item" }, { "type": "SYMBOL", @@ -66,6 +74,68 @@ { "type": "SYMBOL", "name": "output" + }, + { + "type": "SYMBOL", + "name": "predicate" + } + ] + }, + "annotation": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "annotation" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "_parameters" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] } ] }, @@ -157,6 +227,84 @@ } ] }, + "function_item": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "function" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "_parameters" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "annotations", + "content": { + "type": "SYMBOL", + "name": "_annotations" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, "goal": { "type": "SEQ", "members": [ @@ -231,6 +379,199 @@ } ] }, + "predicate": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "predicate" + }, + { + "type": "STRING", + "value": "test" + } + ] + } + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "_parameters" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "annotations", + "content": { + "type": "SYMBOL", + "name": "_annotations" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "_annotations": { + "type": "REPEAT1", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "::" + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + }, + "_parameters": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "_expression": { "type": "CHOICE", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 109e790..86e0243 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -85,6 +85,10 @@ "type": "_item", "named": true, "subtypes": [ + { + "type": "annotation", + "named": true + }, { "type": "assignment", "named": true @@ -97,6 +101,10 @@ "type": "declaration", "named": true }, + { + "type": "function_item", + "named": true + }, { "type": "goal", "named": true @@ -108,6 +116,10 @@ { "type": "output", "named": true + }, + { + "type": "predicate", + "named": true } ] }, @@ -129,6 +141,62 @@ } ] }, + { + "type": "annotation", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": true, + "required": false, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "_type", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + } + }, { "type": "array_comprehension", "named": true, @@ -349,6 +417,86 @@ } } }, + { + "type": "function_item", + "named": true, + "fields": { + "annotations": { + "multiple": true, + "required": false, + "types": [ + { + "type": "::", + "named": false + }, + { + "type": "_expression", + "named": true + } + ] + }, + "expr": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "_type", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_type", + "named": true + } + ] + } + } + }, { "type": "generator", "named": true, @@ -712,6 +860,90 @@ ] } }, + { + "type": "predicate", + "named": true, + "fields": { + "annotations": { + "multiple": true, + "required": false, + "types": [ + { + "type": "::", + "named": false + }, + { + "type": "_expression", + "named": true + } + ] + }, + "expr": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "_type", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "predicate", + "named": false + }, + { + "type": "test", + "named": false + } + ] + } + } + }, { "type": "prefix_operator", "named": true, @@ -978,6 +1210,10 @@ "type": "ann", "named": false }, + { + "type": "annotation", + "named": false + }, { "type": "array", "named": false @@ -1026,6 +1262,10 @@ "type": "float_literal", "named": true }, + { + "type": "function", + "named": false + }, { "type": "identifier", "named": true @@ -1090,6 +1330,10 @@ "type": "par", "named": false }, + { + "type": "predicate", + "named": false + }, { "type": "satisfy", "named": false @@ -1118,6 +1362,10 @@ "type": "symdiff", "named": false }, + { + "type": "test", + "named": false + }, { "type": "then", "named": false diff --git a/src/parser.c b/src/parser.c index 0e88ba8..7439419 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,157 +6,172 @@ #endif #define LANGUAGE_VERSION 11 -#define STATE_COUNT 220 +#define STATE_COUNT 267 #define LARGE_STATE_COUNT 4 -#define SYMBOL_COUNT 121 +#define SYMBOL_COUNT 131 #define ALIAS_COUNT 1 -#define TOKEN_COUNT 80 +#define TOKEN_COUNT 84 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 16 +#define FIELD_COUNT 18 #define MAX_ALIAS_SEQUENCE_LENGTH 9 enum { sym_identifier = 1, anon_sym_SEMI = 2, - anon_sym_EQ = 3, - anon_sym_constraint = 4, - anon_sym_COLON = 5, - anon_sym_solve = 6, - anon_sym_satisfy = 7, - anon_sym_maximize = 8, - anon_sym_minimize = 9, - anon_sym_include = 10, - anon_sym_output = 11, - anon_sym_LPAREN = 12, - anon_sym_RPAREN = 13, - anon_sym_LBRACK = 14, - anon_sym_PIPE = 15, - anon_sym_COMMA = 16, - anon_sym_RBRACK = 17, - anon_sym_in = 18, - anon_sym_where = 19, - anon_sym_if = 20, - anon_sym_then = 21, - anon_sym_elseif = 22, - anon_sym_else = 23, - anon_sym_endif = 24, - anon_sym_LT_DASH_GT = 25, - anon_sym_DASH_GT = 26, - anon_sym_LT_DASH = 27, - anon_sym_BSLASH_SLASH = 28, - anon_sym_xor = 29, - anon_sym_SLASH_BSLASH = 30, - anon_sym_EQ_EQ = 31, - anon_sym_BANG_EQ = 32, - anon_sym_LT = 33, - anon_sym_LT_EQ = 34, - anon_sym_GT = 35, - anon_sym_GT_EQ = 36, - anon_sym_subset = 37, - anon_sym_superset = 38, - anon_sym_union = 39, - anon_sym_diff = 40, - anon_sym_symdiff = 41, - anon_sym_intersect = 42, - anon_sym_DOT_DOT = 43, - anon_sym_PLUS = 44, - anon_sym_DASH = 45, - anon_sym_PLUS_PLUS = 46, - anon_sym_STAR = 47, - anon_sym_SLASH = 48, - anon_sym_div = 49, - anon_sym_mod = 50, - anon_sym_CARET = 51, - anon_sym_COLON_COLON = 52, - 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, + anon_sym_annotation = 3, + anon_sym_EQ = 4, + anon_sym_constraint = 5, + anon_sym_COLON = 6, + anon_sym_function = 7, + anon_sym_solve = 8, + anon_sym_satisfy = 9, + anon_sym_maximize = 10, + anon_sym_minimize = 11, + anon_sym_include = 12, + anon_sym_output = 13, + anon_sym_predicate = 14, + anon_sym_test = 15, + anon_sym_COLON_COLON = 16, + anon_sym_LPAREN = 17, + anon_sym_COMMA = 18, + anon_sym_RPAREN = 19, + anon_sym_LBRACK = 20, + anon_sym_PIPE = 21, + anon_sym_RBRACK = 22, + anon_sym_in = 23, + anon_sym_where = 24, + anon_sym_if = 25, + anon_sym_then = 26, + anon_sym_elseif = 27, + anon_sym_else = 28, + anon_sym_endif = 29, + anon_sym_LT_DASH_GT = 30, + anon_sym_DASH_GT = 31, + anon_sym_LT_DASH = 32, + anon_sym_BSLASH_SLASH = 33, + anon_sym_xor = 34, + anon_sym_SLASH_BSLASH = 35, + anon_sym_EQ_EQ = 36, + anon_sym_BANG_EQ = 37, + anon_sym_LT = 38, + anon_sym_LT_EQ = 39, + anon_sym_GT = 40, + anon_sym_GT_EQ = 41, + anon_sym_subset = 42, + anon_sym_superset = 43, + anon_sym_union = 44, + anon_sym_diff = 45, + anon_sym_symdiff = 46, + anon_sym_intersect = 47, + anon_sym_DOT_DOT = 48, + anon_sym_PLUS = 49, + anon_sym_DASH = 50, + anon_sym_PLUS_PLUS = 51, + anon_sym_STAR = 52, + anon_sym_SLASH = 53, + anon_sym_div = 54, + anon_sym_mod = 55, + anon_sym_CARET = 56, + anon_sym_let = 57, + anon_sym_LBRACE = 58, + anon_sym_RBRACE = 59, + anon_sym_not = 60, + anon_sym_ = 61, + anon_sym_DQUOTE = 62, + anon_sym_BSLASH_LPAREN = 63, + anon_sym_array = 64, + anon_sym_of = 65, + anon_sym_var = 66, + anon_sym_par = 67, + anon_sym_opt = 68, + anon_sym_ann = 69, + anon_sym_bool = 70, + anon_sym_float = 71, + anon_sym_int = 72, + anon_sym_string = 73, + anon_sym_set = 74, + sym_absent = 75, + anon_sym_true = 76, + anon_sym_false = 77, + sym_float_literal = 78, + sym_integer_literal = 79, + aux_sym_string_content_token1 = 80, + sym_escape_sequence = 81, + sym_line_comment = 82, + sym_block_comment = 83, + sym_source_file = 84, + sym__item = 85, + sym_annotation = 86, + sym_assignment = 87, + sym_constraint = 88, + sym_declaration = 89, + sym_function_item = 90, + sym_goal = 91, + sym_include = 92, + sym_output = 93, + sym_predicate = 94, + aux_sym__annotations = 95, + sym__parameters = 96, + sym__expression = 97, + sym_parenthesised_expression = 98, + sym_array_comprehension = 99, + sym_call = 100, + sym_generator_call = 101, + sym_generator = 102, + sym_if_then_else = 103, + sym_indexed_access = 104, + sym_infix_operator = 105, + sym_let_expression = 106, + sym_prefix_operator = 107, + sym_set_comprehension = 108, + sym_string_interpolation = 109, + sym__type = 110, + sym_array_type = 111, + sym_base_type = 112, + sym_primitive_type = 113, + sym_set_type = 114, + sym__literal = 115, + sym_array_literal = 116, + sym_boolean_literal = 117, + sym_set_literal = 118, + sym_string_literal = 119, + sym_string_content = 120, + aux_sym_source_file_repeat1 = 121, + aux_sym__parameters_repeat1 = 122, + aux_sym_array_comprehension_repeat1 = 123, + aux_sym_call_repeat1 = 124, + aux_sym_if_then_else_repeat1 = 125, + aux_sym_indexed_access_repeat1 = 126, + aux_sym_let_expression_repeat1 = 127, + aux_sym_string_interpolation_repeat1 = 128, + aux_sym_array_type_repeat1 = 129, + aux_sym_string_content_repeat1 = 130, + anon_alias_sym_content = 131, }; static const char *ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_identifier] = "identifier", [anon_sym_SEMI] = ";", + [anon_sym_annotation] = "annotation", [anon_sym_EQ] = "=", [anon_sym_constraint] = "constraint", [anon_sym_COLON] = ":", + [anon_sym_function] = "function", [anon_sym_solve] = "solve", [anon_sym_satisfy] = "satisfy", [anon_sym_maximize] = "maximize", [anon_sym_minimize] = "minimize", [anon_sym_include] = "include", [anon_sym_output] = "output", + [anon_sym_predicate] = "predicate", + [anon_sym_test] = "test", + [anon_sym_COLON_COLON] = "::", [anon_sym_LPAREN] = "(", + [anon_sym_COMMA] = ",", [anon_sym_RPAREN] = ")", [anon_sym_LBRACK] = "[", [anon_sym_PIPE] = "|", - [anon_sym_COMMA] = ",", [anon_sym_RBRACK] = "]", [anon_sym_in] = "in", [anon_sym_where] = "where", @@ -192,7 +207,6 @@ static const char *ts_symbol_names[] = { [anon_sym_div] = "div", [anon_sym_mod] = "mod", [anon_sym_CARET] = "^", - [anon_sym_COLON_COLON] = "::", [anon_sym_let] = "let", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", @@ -222,12 +236,17 @@ static const char *ts_symbol_names[] = { [sym_block_comment] = "block_comment", [sym_source_file] = "source_file", [sym__item] = "_item", + [sym_annotation] = "annotation", [sym_assignment] = "assignment", [sym_constraint] = "constraint", [sym_declaration] = "declaration", + [sym_function_item] = "function_item", [sym_goal] = "goal", [sym_include] = "include", [sym_output] = "output", + [sym_predicate] = "predicate", + [aux_sym__annotations] = "_annotations", + [sym__parameters] = "_parameters", [sym__expression] = "_expression", [sym_parenthesised_expression] = "parenthesised_expression", [sym_array_comprehension] = "array_comprehension", @@ -253,6 +272,7 @@ static const char *ts_symbol_names[] = { [sym_string_literal] = "string_literal", [sym_string_content] = "string_content", [aux_sym_source_file_repeat1] = "source_file_repeat1", + [aux_sym__parameters_repeat1] = "_parameters_repeat1", [aux_sym_array_comprehension_repeat1] = "array_comprehension_repeat1", [aux_sym_call_repeat1] = "call_repeat1", [aux_sym_if_then_else_repeat1] = "if_then_else_repeat1", @@ -268,20 +288,25 @@ static TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_identifier] = sym_identifier, [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym_annotation] = anon_sym_annotation, [anon_sym_EQ] = anon_sym_EQ, [anon_sym_constraint] = anon_sym_constraint, [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_function] = anon_sym_function, [anon_sym_solve] = anon_sym_solve, [anon_sym_satisfy] = anon_sym_satisfy, [anon_sym_maximize] = anon_sym_maximize, [anon_sym_minimize] = anon_sym_minimize, [anon_sym_include] = anon_sym_include, [anon_sym_output] = anon_sym_output, + [anon_sym_predicate] = anon_sym_predicate, + [anon_sym_test] = anon_sym_test, + [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_PIPE] = anon_sym_PIPE, - [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_in] = anon_sym_in, [anon_sym_where] = anon_sym_where, @@ -317,7 +342,6 @@ static TSSymbol ts_symbol_map[] = { [anon_sym_div] = anon_sym_div, [anon_sym_mod] = anon_sym_mod, [anon_sym_CARET] = anon_sym_CARET, - [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, [anon_sym_let] = anon_sym_let, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, @@ -347,12 +371,17 @@ static TSSymbol ts_symbol_map[] = { [sym_block_comment] = sym_block_comment, [sym_source_file] = sym_source_file, [sym__item] = sym__item, + [sym_annotation] = sym_annotation, [sym_assignment] = sym_assignment, [sym_constraint] = sym_constraint, [sym_declaration] = sym_declaration, + [sym_function_item] = sym_function_item, [sym_goal] = sym_goal, [sym_include] = sym_include, [sym_output] = sym_output, + [sym_predicate] = sym_predicate, + [aux_sym__annotations] = aux_sym__annotations, + [sym__parameters] = sym__parameters, [sym__expression] = sym__expression, [sym_parenthesised_expression] = sym_parenthesised_expression, [sym_array_comprehension] = sym_array_comprehension, @@ -378,6 +407,7 @@ static TSSymbol ts_symbol_map[] = { [sym_string_literal] = sym_string_literal, [sym_string_content] = sym_string_content, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, + [aux_sym__parameters_repeat1] = aux_sym__parameters_repeat1, [aux_sym_array_comprehension_repeat1] = aux_sym_array_comprehension_repeat1, [aux_sym_call_repeat1] = aux_sym_call_repeat1, [aux_sym_if_then_else_repeat1] = aux_sym_if_then_else_repeat1, @@ -402,6 +432,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_annotation] = { + .visible = true, + .named = false, + }, [anon_sym_EQ] = { .visible = true, .named = false, @@ -414,6 +448,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_function] = { + .visible = true, + .named = false, + }, [anon_sym_solve] = { .visible = true, .named = false, @@ -438,10 +476,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_predicate] = { + .visible = true, + .named = false, + }, + [anon_sym_test] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_COLON] = { + .visible = true, + .named = false, + }, [anon_sym_LPAREN] = { .visible = true, .named = false, }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, [anon_sym_RPAREN] = { .visible = true, .named = false, @@ -454,10 +508,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_COMMA] = { - .visible = true, - .named = false, - }, [anon_sym_RBRACK] = { .visible = true, .named = false, @@ -598,10 +648,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_COLON_COLON] = { - .visible = true, - .named = false, - }, [anon_sym_let] = { .visible = true, .named = false, @@ -718,6 +764,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym_annotation] = { + .visible = true, + .named = true, + }, [sym_assignment] = { .visible = true, .named = true, @@ -730,6 +780,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_function_item] = { + .visible = true, + .named = true, + }, [sym_goal] = { .visible = true, .named = true, @@ -742,6 +796,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_predicate] = { + .visible = true, + .named = true, + }, + [aux_sym__annotations] = { + .visible = false, + .named = false, + }, + [sym__parameters] = { + .visible = false, + .named = true, + }, [sym__expression] = { .visible = false, .named = true, @@ -842,6 +908,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym__parameters_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_array_comprehension_repeat1] = { .visible = false, .named = false, @@ -881,26 +951,29 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }; enum { - field_arguments = 1, - field_collection = 2, - field_expr = 3, - field_generators = 4, - 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, + field_annotations = 1, + field_arguments = 2, + field_collection = 3, + field_expr = 4, + field_generators = 5, + field_in = 6, + field_indices = 7, + field_left = 8, + field_let = 9, + field_name = 10, + field_operator = 11, + field_opt = 12, + field_parameters = 13, + field_right = 14, + field_strategy = 15, + field_template = 16, + field_type = 17, + field_var_par = 18, }; static const char *ts_field_names[] = { [0] = NULL, + [field_annotations] = "annotations", [field_arguments] = "arguments", [field_collection] = "collection", [field_expr] = "expr", @@ -912,6 +985,7 @@ static const char *ts_field_names[] = { [field_name] = "name", [field_operator] = "operator", [field_opt] = "opt", + [field_parameters] = "parameters", [field_right] = "right", [field_strategy] = "strategy", [field_template] = "template", @@ -919,94 +993,158 @@ static const char *ts_field_names[] = { [field_var_par] = "var_par", }; -static const TSFieldMapSlice ts_field_map_slices[23] = { +static const TSFieldMapSlice ts_field_map_slices[35] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 1}, [3] = {.index = 2, .length = 1}, [4] = {.index = 3, .length = 1}, - [5] = {.index = 4, .length = 2}, - [7] = {.index = 6, .length = 2}, - [8] = {.index = 8, .length = 2}, - [9] = {.index = 10, .length = 1}, - [10] = {.index = 11, .length = 3}, + [5] = {.index = 4, .length = 1}, + [6] = {.index = 5, .length = 2}, + [7] = {.index = 7, .length = 2}, + [8] = {.index = 9, .length = 3}, + [10] = {.index = 12, .length = 2}, [11] = {.index = 14, .length = 2}, - [12] = {.index = 16, .length = 2}, - [13] = {.index = 18, .length = 2}, - [14] = {.index = 20, .length = 1}, - [15] = {.index = 21, .length = 3}, - [16] = {.index = 24, .length = 3}, - [17] = {.index = 27, .length = 3}, + [12] = {.index = 16, .length = 1}, + [13] = {.index = 17, .length = 3}, + [14] = {.index = 20, .length = 2}, + [15] = {.index = 22, .length = 2}, + [16] = {.index = 24, .length = 4}, + [17] = {.index = 28, .length = 2}, [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}, + [22] = {.index = 42, .length = 1}, + [23] = {.index = 43, .length = 3}, + [24] = {.index = 46, .length = 3}, + [25] = {.index = 49, .length = 3}, + [26] = {.index = 52, .length = 4}, + [27] = {.index = 56, .length = 5}, + [28] = {.index = 61, .length = 2}, + [29] = {.index = 63, .length = 4}, + [30] = {.index = 67, .length = 3}, + [31] = {.index = 70, .length = 3}, + [32] = {.index = 73, .length = 5}, + [33] = {.index = 78, .length = 4}, + [34] = {.index = 82, .length = 5}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = - {field_strategy, 1}, + {field_name, 1}, [1] = - {field_operator, 0}, + {field_strategy, 1}, [2] = - {field_var_par, 0}, + {field_operator, 0}, [3] = - {field_opt, 0}, + {field_var_par, 0}, [4] = + {field_opt, 0}, + [5] = + {field_name, 1}, + {field_parameters, 2}, + [7] = {field_strategy, 1}, {field_strategy, 2}, - [6] = + [9] = + {field_name, 1}, + {field_parameters, 2}, + {field_type, 0}, + [12] = {field_opt, 1}, {field_var_par, 0}, - [8] = + [14] = {field_expr, 2}, {field_name, 0}, - [10] = + [16] = {field_name, 0}, - [11] = + [17] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [14] = + [20] = {field_name, 2}, {field_type, 0}, - [16] = + [22] = + {field_expr, 3}, + {field_name, 1}, + [24] = + {field_annotations, 3}, + {field_name, 1}, + {field_parameters, 2}, + {field_type, 0}, + [28] = {field_arguments, 2}, {field_name, 0}, - [18] = + [30] = {field_collection, 0}, {field_indices, 2}, - [20] = + [32] = + {field_expr, 4}, + {field_name, 1}, + {field_parameters, 2}, + [35] = + {field_name, 3}, + {field_parameters, 4}, + {field_type, 1}, + [38] = + {field_expr, 4}, + {field_name, 1}, + {field_parameters, 2}, + {field_type, 0}, + [42] = {field_in, 4}, - [21] = + [43] = {field_arguments, 2}, {field_arguments, 3}, {field_name, 0}, - [24] = + [46] = {field_collection, 0}, {field_indices, 2}, {field_indices, 3}, - [27] = + [49] = {field_expr, 4}, {field_name, 2}, {field_type, 0}, - [30] = + [52] = + {field_annotations, 5}, + {field_name, 3}, + {field_parameters, 4}, + {field_type, 1}, + [56] = + {field_annotations, 3}, + {field_expr, 5}, + {field_name, 1}, + {field_parameters, 2}, + {field_type, 0}, + [61] = {field_in, 5}, {field_let, 2}, - [32] = + [63] = + {field_expr, 6}, + {field_name, 3}, + {field_parameters, 4}, + {field_type, 1}, + [67] = {field_in, 6}, {field_let, 2}, {field_let, 3}, - [35] = + [70] = {field_generators, 2}, {field_name, 0}, {field_template, 5}, - [38] = + [73] = + {field_annotations, 5}, + {field_expr, 7}, + {field_name, 3}, + {field_parameters, 4}, + {field_type, 1}, + [78] = {field_generators, 2}, {field_generators, 3}, {field_name, 0}, {field_template, 6}, - [42] = + [82] = {field_generators, 2}, {field_generators, 3}, {field_generators, 4}, @@ -1014,9 +1152,9 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_template, 7}, }; -static TSSymbol ts_alias_sequences[23][MAX_ALIAS_SEQUENCE_LENGTH] = { +static TSSymbol ts_alias_sequences[35][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, - [6] = { + [9] = { [1] = anon_alias_sym_content, }, }; @@ -1030,26 +1168,26 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '!') ADVANCE(13); if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(89); - if (lookahead == '(') ADVANCE(39); - if (lookahead == ')') ADVANCE(40); - if (lookahead == '*') ADVANCE(62); - if (lookahead == '+') ADVANCE(58); - if (lookahead == ',') ADVANCE(43); - if (lookahead == '-') ADVANCE(60); + if (lookahead == '(') ADVANCE(40); + if (lookahead == ')') ADVANCE(42); + if (lookahead == '*') ADVANCE(63); + if (lookahead == '+') ADVANCE(59); + if (lookahead == ',') ADVANCE(41); + if (lookahead == '-') ADVANCE(61); if (lookahead == '.') ADVANCE(11); - if (lookahead == '/') ADVANCE(63); + if (lookahead == '/') ADVANCE(64); if (lookahead == '0') ADVANCE(74); if (lookahead == ':') ADVANCE(38); if (lookahead == ';') ADVANCE(36); - if (lookahead == '<') ADVANCE(53); + if (lookahead == '<') ADVANCE(54); if (lookahead == '=') ADVANCE(37); - if (lookahead == '>') ADVANCE(55); - if (lookahead == '[') ADVANCE(41); + if (lookahead == '>') ADVANCE(56); + if (lookahead == '[') ADVANCE(43); if (lookahead == '\\') ADVANCE(7); - if (lookahead == ']') ADVANCE(44); - if (lookahead == '^') ADVANCE(64); + if (lookahead == ']') ADVANCE(45); + if (lookahead == '^') ADVANCE(65); if (lookahead == '{') ADVANCE(66); - if (lookahead == '|') ADVANCE(42); + if (lookahead == '|') ADVANCE(44); if (lookahead == '}') ADVANCE(67); if (lookahead == 172) ADVANCE(68); if (lookahead == '\t' || @@ -1106,11 +1244,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 6: if (lookahead == '(') ADVANCE(70); - if (lookahead == '/') ADVANCE(48); + if (lookahead == '/') ADVANCE(49); END_STATE(); case 7: if (lookahead == '(') ADVANCE(70); - if (lookahead == '/') ADVANCE(48); + if (lookahead == '/') ADVANCE(49); if (lookahead == 'U') ADVANCE(29); if (lookahead == 'u') ADVANCE(25); if (lookahead == 'x') ADVANCE(23); @@ -1134,13 +1272,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0) ADVANCE(30); END_STATE(); case 11: - if (lookahead == '.') ADVANCE(57); + if (lookahead == '.') ADVANCE(58); END_STATE(); case 12: - if (lookahead == '/') ADVANCE(48); + if (lookahead == '/') ADVANCE(49); END_STATE(); case 13: - if (lookahead == '=') ADVANCE(51); + if (lookahead == '=') ADVANCE(52); END_STATE(); case 14: if (lookahead == '>') ADVANCE(71); @@ -1232,26 +1370,26 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '!') ADVANCE(13); if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(89); - if (lookahead == '(') ADVANCE(39); - if (lookahead == ')') ADVANCE(40); - if (lookahead == '*') ADVANCE(62); - if (lookahead == '+') ADVANCE(58); - if (lookahead == ',') ADVANCE(43); - if (lookahead == '-') ADVANCE(60); + if (lookahead == '(') ADVANCE(40); + if (lookahead == ')') ADVANCE(42); + if (lookahead == '*') ADVANCE(63); + if (lookahead == '+') ADVANCE(59); + if (lookahead == ',') ADVANCE(41); + if (lookahead == '-') ADVANCE(61); if (lookahead == '.') ADVANCE(11); - if (lookahead == '/') ADVANCE(63); + if (lookahead == '/') ADVANCE(64); if (lookahead == '0') ADVANCE(74); if (lookahead == ':') ADVANCE(38); if (lookahead == ';') ADVANCE(36); - if (lookahead == '<') ADVANCE(53); + if (lookahead == '<') ADVANCE(54); if (lookahead == '=') ADVANCE(37); - if (lookahead == '>') ADVANCE(55); - if (lookahead == '[') ADVANCE(41); + if (lookahead == '>') ADVANCE(56); + if (lookahead == '[') ADVANCE(43); if (lookahead == '\\') ADVANCE(6); - if (lookahead == ']') ADVANCE(44); - if (lookahead == '^') ADVANCE(64); + if (lookahead == ']') ADVANCE(45); + if (lookahead == '^') ADVANCE(65); if (lookahead == '{') ADVANCE(66); - if (lookahead == '|') ADVANCE(42); + if (lookahead == '|') ADVANCE(44); if (lookahead == '}') ADVANCE(67); if (lookahead == 172) ADVANCE(68); if (lookahead == '\t' || @@ -1266,24 +1404,24 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (eof) ADVANCE(35); if (lookahead == '!') ADVANCE(13); if (lookahead == '%') ADVANCE(89); - if (lookahead == '(') ADVANCE(39); - if (lookahead == ')') ADVANCE(40); - if (lookahead == '*') ADVANCE(62); - if (lookahead == '+') ADVANCE(58); - if (lookahead == ',') ADVANCE(43); - if (lookahead == '-') ADVANCE(60); + if (lookahead == '(') ADVANCE(40); + if (lookahead == ')') ADVANCE(42); + if (lookahead == '*') ADVANCE(63); + if (lookahead == '+') ADVANCE(59); + if (lookahead == ',') ADVANCE(41); + if (lookahead == '-') ADVANCE(61); if (lookahead == '.') ADVANCE(11); - if (lookahead == '/') ADVANCE(63); + if (lookahead == '/') ADVANCE(64); if (lookahead == ':') ADVANCE(38); if (lookahead == ';') ADVANCE(36); - if (lookahead == '<') ADVANCE(52); + if (lookahead == '<') ADVANCE(53); if (lookahead == '=') ADVANCE(37); - if (lookahead == '>') ADVANCE(55); - if (lookahead == '[') ADVANCE(41); + if (lookahead == '>') ADVANCE(56); + if (lookahead == '[') ADVANCE(43); if (lookahead == '\\') ADVANCE(12); - if (lookahead == ']') ADVANCE(44); - if (lookahead == '^') ADVANCE(64); - if (lookahead == '|') ADVANCE(42); + if (lookahead == ']') ADVANCE(45); + if (lookahead == '^') ADVANCE(65); + if (lookahead == '|') ADVANCE(44); if (lookahead == '}') ADVANCE(67); if (lookahead == '\t' || lookahead == '\n' || @@ -1296,14 +1434,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (eof) ADVANCE(35); if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(89); - if (lookahead == '(') ADVANCE(39); - if (lookahead == ')') ADVANCE(40); - if (lookahead == '-') ADVANCE(59); + if (lookahead == '(') ADVANCE(40); + if (lookahead == ')') ADVANCE(42); + if (lookahead == '-') ADVANCE(60); if (lookahead == '/') ADVANCE(9); if (lookahead == '0') ADVANCE(74); if (lookahead == '<') ADVANCE(14); - if (lookahead == '[') ADVANCE(41); - if (lookahead == ']') ADVANCE(44); + if (lookahead == '[') ADVANCE(43); + if (lookahead == ']') ADVANCE(45); if (lookahead == '{') ADVANCE(66); if (lookahead == '}') ADVANCE(67); if (lookahead == 172) ADVANCE(68); @@ -1323,103 +1461,103 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 37: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(50); + if (lookahead == '=') ADVANCE(51); END_STATE(); case 38: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == ':') ADVANCE(65); + if (lookahead == ':') ADVANCE(39); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); case 40: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 41: - ACCEPT_TOKEN(anon_sym_LBRACK); - END_STATE(); - case 42: - ACCEPT_TOKEN(anon_sym_PIPE); - END_STATE(); - case 43: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); + case 42: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 43: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 45: - ACCEPT_TOKEN(anon_sym_LT_DASH_GT); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 46: - ACCEPT_TOKEN(anon_sym_DASH_GT); + ACCEPT_TOKEN(anon_sym_LT_DASH_GT); END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_LT_DASH); - if (lookahead == '>') ADVANCE(45); + ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); case 48: - ACCEPT_TOKEN(anon_sym_BSLASH_SLASH); + ACCEPT_TOKEN(anon_sym_LT_DASH); + if (lookahead == '>') ADVANCE(46); END_STATE(); case 49: - ACCEPT_TOKEN(anon_sym_SLASH_BSLASH); + ACCEPT_TOKEN(anon_sym_BSLASH_SLASH); END_STATE(); case 50: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_SLASH_BSLASH); END_STATE(); case 51: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 52: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '=') ADVANCE(54); + ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 53: ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '=') ADVANCE(54); - if (lookahead == '>') ADVANCE(71); + if (lookahead == '-') ADVANCE(48); + if (lookahead == '=') ADVANCE(55); END_STATE(); case 54: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '-') ADVANCE(48); + if (lookahead == '=') ADVANCE(55); + if (lookahead == '>') ADVANCE(71); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(56); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 56: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(57); END_STATE(); case 57: - ACCEPT_TOKEN(anon_sym_DOT_DOT); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '+') ADVANCE(61); + ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(62); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '>') ADVANCE(46); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '>') ADVANCE(47); END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(30); - if (lookahead == '\\') ADVANCE(49); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_CARET); + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(30); + if (lookahead == '\\') ADVANCE(50); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_COLON_COLON); + ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 66: ACCEPT_TOKEN(anon_sym_LBRACE); @@ -1619,463 +1757,542 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { case 6: if (lookahead == 'a') ADVANCE(26); if (lookahead == 'l') ADVANCE(27); + if (lookahead == 'u') ADVANCE(28); END_STATE(); case 7: - if (lookahead == 'f') ADVANCE(28); - if (lookahead == 'n') ADVANCE(29); + if (lookahead == 'f') ADVANCE(29); + if (lookahead == 'n') ADVANCE(30); END_STATE(); case 8: - if (lookahead == 'e') ADVANCE(30); + if (lookahead == 'e') ADVANCE(31); END_STATE(); case 9: - if (lookahead == 'a') ADVANCE(31); - if (lookahead == 'i') ADVANCE(32); - if (lookahead == 'o') ADVANCE(33); - END_STATE(); - case 10: + if (lookahead == 'a') ADVANCE(32); + if (lookahead == 'i') ADVANCE(33); if (lookahead == 'o') ADVANCE(34); END_STATE(); + case 10: + if (lookahead == 'o') ADVANCE(35); + END_STATE(); case 11: - if (lookahead == 'f') ADVANCE(35); - if (lookahead == 'p') ADVANCE(36); - if (lookahead == 'u') ADVANCE(37); + if (lookahead == 'f') ADVANCE(36); + if (lookahead == 'p') ADVANCE(37); + if (lookahead == 'u') ADVANCE(38); END_STATE(); case 12: - if (lookahead == 'a') ADVANCE(38); + if (lookahead == 'a') ADVANCE(39); + if (lookahead == 'r') ADVANCE(40); END_STATE(); case 13: - 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); + if (lookahead == 'a') ADVANCE(41); + if (lookahead == 'e') ADVANCE(42); + if (lookahead == 'o') ADVANCE(43); + if (lookahead == 't') ADVANCE(44); + if (lookahead == 'u') ADVANCE(45); + if (lookahead == 'y') ADVANCE(46); END_STATE(); case 14: - if (lookahead == 'h') ADVANCE(45); - if (lookahead == 'r') ADVANCE(46); + if (lookahead == 'e') ADVANCE(47); + if (lookahead == 'h') ADVANCE(48); + if (lookahead == 'r') ADVANCE(49); END_STATE(); case 15: - if (lookahead == 'n') ADVANCE(47); + if (lookahead == 'n') ADVANCE(50); END_STATE(); case 16: - if (lookahead == 'a') ADVANCE(48); + if (lookahead == 'a') ADVANCE(51); END_STATE(); case 17: - if (lookahead == 'h') ADVANCE(49); + if (lookahead == 'h') ADVANCE(52); END_STATE(); case 18: - if (lookahead == 'o') ADVANCE(50); - END_STATE(); - case 19: - if (lookahead == 'n') ADVANCE(51); - END_STATE(); - case 20: - if (lookahead == 'r') ADVANCE(52); - END_STATE(); - case 21: if (lookahead == 'o') ADVANCE(53); END_STATE(); - case 22: + case 19: if (lookahead == 'n') ADVANCE(54); END_STATE(); + case 20: + if (lookahead == 'r') ADVANCE(55); + END_STATE(); + case 21: + if (lookahead == 'o') ADVANCE(56); + END_STATE(); + case 22: + if (lookahead == 'n') ADVANCE(57); + END_STATE(); case 23: - if (lookahead == 'f') ADVANCE(55); - if (lookahead == 'v') ADVANCE(56); + if (lookahead == 'f') ADVANCE(58); + if (lookahead == 'v') ADVANCE(59); END_STATE(); case 24: - if (lookahead == 's') ADVANCE(57); + if (lookahead == 's') ADVANCE(60); END_STATE(); case 25: - if (lookahead == 'd') ADVANCE(58); + if (lookahead == 'd') ADVANCE(61); END_STATE(); case 26: - if (lookahead == 'l') ADVANCE(59); + if (lookahead == 'l') ADVANCE(62); END_STATE(); case 27: - if (lookahead == 'o') ADVANCE(60); + if (lookahead == 'o') ADVANCE(63); END_STATE(); case 28: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'n') ADVANCE(64); END_STATE(); case 29: - ACCEPT_TOKEN(anon_sym_in); - if (lookahead == 'c') ADVANCE(61); - if (lookahead == 't') ADVANCE(62); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 30: - if (lookahead == 't') ADVANCE(63); + ACCEPT_TOKEN(anon_sym_in); + if (lookahead == 'c') ADVANCE(65); + if (lookahead == 't') ADVANCE(66); END_STATE(); case 31: - if (lookahead == 'x') ADVANCE(64); - END_STATE(); - case 32: - if (lookahead == 'n') ADVANCE(65); - END_STATE(); - case 33: - if (lookahead == 'd') ADVANCE(66); - END_STATE(); - case 34: if (lookahead == 't') ADVANCE(67); END_STATE(); + case 32: + if (lookahead == 'x') ADVANCE(68); + END_STATE(); + case 33: + if (lookahead == 'n') ADVANCE(69); + END_STATE(); + case 34: + if (lookahead == 'd') ADVANCE(70); + END_STATE(); case 35: - ACCEPT_TOKEN(anon_sym_of); - END_STATE(); - case 36: - if (lookahead == 't') ADVANCE(68); - END_STATE(); - case 37: - if (lookahead == 't') ADVANCE(69); - END_STATE(); - case 38: - if (lookahead == 'r') ADVANCE(70); - END_STATE(); - case 39: if (lookahead == 't') ADVANCE(71); END_STATE(); - case 40: + case 36: + ACCEPT_TOKEN(anon_sym_of); + END_STATE(); + case 37: if (lookahead == 't') ADVANCE(72); END_STATE(); - case 41: - if (lookahead == 'l') ADVANCE(73); + case 38: + if (lookahead == 't') ADVANCE(73); END_STATE(); - case 42: + case 39: if (lookahead == 'r') ADVANCE(74); END_STATE(); + case 40: + if (lookahead == 'e') ADVANCE(75); + END_STATE(); + case 41: + if (lookahead == 't') ADVANCE(76); + END_STATE(); + case 42: + if (lookahead == 't') ADVANCE(77); + END_STATE(); case 43: - if (lookahead == 'b') ADVANCE(75); - if (lookahead == 'p') ADVANCE(76); + if (lookahead == 'l') ADVANCE(78); END_STATE(); case 44: - if (lookahead == 'm') ADVANCE(77); + if (lookahead == 'r') ADVANCE(79); END_STATE(); case 45: - if (lookahead == 'e') ADVANCE(78); + if (lookahead == 'b') ADVANCE(80); + if (lookahead == 'p') ADVANCE(81); END_STATE(); case 46: - if (lookahead == 'u') ADVANCE(79); + if (lookahead == 'm') ADVANCE(82); END_STATE(); case 47: - if (lookahead == 'i') ADVANCE(80); + if (lookahead == 's') ADVANCE(83); END_STATE(); case 48: - if (lookahead == 'r') ADVANCE(81); + if (lookahead == 'e') ADVANCE(84); END_STATE(); case 49: - if (lookahead == 'e') ADVANCE(82); + if (lookahead == 'u') ADVANCE(85); END_STATE(); case 50: - if (lookahead == 'r') ADVANCE(83); + if (lookahead == 'i') ADVANCE(86); END_STATE(); case 51: - ACCEPT_TOKEN(anon_sym_ann); + if (lookahead == 'r') ADVANCE(87); END_STATE(); case 52: - if (lookahead == 'a') ADVANCE(84); - END_STATE(); - case 53: - if (lookahead == 'l') ADVANCE(85); - END_STATE(); - case 54: - if (lookahead == 's') ADVANCE(86); - END_STATE(); - case 55: - if (lookahead == 'f') ADVANCE(87); - END_STATE(); - case 56: - ACCEPT_TOKEN(anon_sym_div); - END_STATE(); - case 57: if (lookahead == 'e') ADVANCE(88); END_STATE(); - case 58: - if (lookahead == 'i') ADVANCE(89); + case 53: + if (lookahead == 'r') ADVANCE(89); END_STATE(); - case 59: - if (lookahead == 's') ADVANCE(90); + case 54: + ACCEPT_TOKEN(anon_sym_ann); + if (lookahead == 'o') ADVANCE(90); END_STATE(); - case 60: + case 55: if (lookahead == 'a') ADVANCE(91); END_STATE(); - case 61: + case 56: if (lookahead == 'l') ADVANCE(92); END_STATE(); + case 57: + if (lookahead == 's') ADVANCE(93); + END_STATE(); + case 58: + if (lookahead == 'f') ADVANCE(94); + END_STATE(); + case 59: + ACCEPT_TOKEN(anon_sym_div); + END_STATE(); + case 60: + if (lookahead == 'e') ADVANCE(95); + END_STATE(); + case 61: + if (lookahead == 'i') ADVANCE(96); + END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_int); - if (lookahead == 'e') ADVANCE(93); + if (lookahead == 's') ADVANCE(97); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_let); + if (lookahead == 'a') ADVANCE(98); END_STATE(); case 64: - if (lookahead == 'i') ADVANCE(94); + if (lookahead == 'c') ADVANCE(99); END_STATE(); case 65: - if (lookahead == 'i') ADVANCE(95); + if (lookahead == 'l') ADVANCE(100); 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: - if (lookahead == 'p') ADVANCE(96); - END_STATE(); - case 70: - ACCEPT_TOKEN(anon_sym_par); - END_STATE(); - case 71: - if (lookahead == 'i') ADVANCE(97); - END_STATE(); - case 72: - ACCEPT_TOKEN(anon_sym_set); - END_STATE(); - case 73: - if (lookahead == 'v') ADVANCE(98); - END_STATE(); - case 74: - if (lookahead == 'i') ADVANCE(99); - END_STATE(); - case 75: - if (lookahead == 's') ADVANCE(100); - END_STATE(); - case 76: + ACCEPT_TOKEN(anon_sym_int); if (lookahead == 'e') ADVANCE(101); END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_let); + END_STATE(); + case 68: + if (lookahead == 'i') ADVANCE(102); + END_STATE(); + case 69: + if (lookahead == 'i') ADVANCE(103); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_mod); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_not); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_opt); + END_STATE(); + case 73: + if (lookahead == 'p') ADVANCE(104); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_par); + END_STATE(); + case 75: + if (lookahead == 'd') ADVANCE(105); + END_STATE(); + case 76: + if (lookahead == 'i') ADVANCE(106); + END_STATE(); case 77: - if (lookahead == 'd') ADVANCE(102); + ACCEPT_TOKEN(anon_sym_set); END_STATE(); case 78: - if (lookahead == 'n') ADVANCE(103); + if (lookahead == 'v') ADVANCE(107); END_STATE(); case 79: - if (lookahead == 'e') ADVANCE(104); + if (lookahead == 'i') ADVANCE(108); END_STATE(); case 80: - if (lookahead == 'o') ADVANCE(105); + if (lookahead == 's') ADVANCE(109); END_STATE(); case 81: - ACCEPT_TOKEN(anon_sym_var); + if (lookahead == 'e') ADVANCE(110); END_STATE(); case 82: - if (lookahead == 'r') ADVANCE(106); + if (lookahead == 'd') ADVANCE(111); END_STATE(); case 83: - ACCEPT_TOKEN(anon_sym_xor); - END_STATE(); - case 84: - if (lookahead == 'y') ADVANCE(107); - END_STATE(); - case 85: - ACCEPT_TOKEN(anon_sym_bool); - END_STATE(); - case 86: - if (lookahead == 't') ADVANCE(108); - END_STATE(); - case 87: - ACCEPT_TOKEN(anon_sym_diff); - END_STATE(); - case 88: - ACCEPT_TOKEN(anon_sym_else); - if (lookahead == 'i') ADVANCE(109); - END_STATE(); - case 89: - if (lookahead == 'f') ADVANCE(110); - END_STATE(); - case 90: - if (lookahead == 'e') ADVANCE(111); - END_STATE(); - case 91: if (lookahead == 't') ADVANCE(112); END_STATE(); + case 84: + if (lookahead == 'n') ADVANCE(113); + END_STATE(); + case 85: + if (lookahead == 'e') ADVANCE(114); + END_STATE(); + case 86: + if (lookahead == 'o') ADVANCE(115); + END_STATE(); + case 87: + ACCEPT_TOKEN(anon_sym_var); + END_STATE(); + case 88: + if (lookahead == 'r') ADVANCE(116); + END_STATE(); + case 89: + ACCEPT_TOKEN(anon_sym_xor); + END_STATE(); + case 90: + if (lookahead == 't') ADVANCE(117); + END_STATE(); + case 91: + if (lookahead == 'y') ADVANCE(118); + END_STATE(); case 92: - if (lookahead == 'u') ADVANCE(113); + ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 93: - if (lookahead == 'r') ADVANCE(114); + if (lookahead == 't') ADVANCE(119); END_STATE(); case 94: - if (lookahead == 'm') ADVANCE(115); + ACCEPT_TOKEN(anon_sym_diff); END_STATE(); case 95: - if (lookahead == 'm') ADVANCE(116); + ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 'i') ADVANCE(120); END_STATE(); case 96: - if (lookahead == 'u') ADVANCE(117); + if (lookahead == 'f') ADVANCE(121); END_STATE(); case 97: - if (lookahead == 's') ADVANCE(118); + if (lookahead == 'e') ADVANCE(122); END_STATE(); case 98: - if (lookahead == 'e') ADVANCE(119); + if (lookahead == 't') ADVANCE(123); END_STATE(); case 99: - if (lookahead == 'n') ADVANCE(120); + if (lookahead == 't') ADVANCE(124); END_STATE(); case 100: - if (lookahead == 'e') ADVANCE(121); + if (lookahead == 'u') ADVANCE(125); END_STATE(); case 101: - if (lookahead == 'r') ADVANCE(122); - END_STATE(); - case 102: - if (lookahead == 'i') ADVANCE(123); - END_STATE(); - case 103: - ACCEPT_TOKEN(anon_sym_then); - END_STATE(); - case 104: - ACCEPT_TOKEN(anon_sym_true); - END_STATE(); - case 105: - if (lookahead == 'n') ADVANCE(124); - END_STATE(); - case 106: - if (lookahead == 'e') ADVANCE(125); - END_STATE(); - case 107: - ACCEPT_TOKEN(anon_sym_array); - END_STATE(); - case 108: if (lookahead == 'r') ADVANCE(126); END_STATE(); - case 109: - if (lookahead == 'f') ADVANCE(127); + case 102: + if (lookahead == 'm') ADVANCE(127); END_STATE(); - case 110: - ACCEPT_TOKEN(anon_sym_endif); + case 103: + if (lookahead == 'm') ADVANCE(128); END_STATE(); - case 111: - ACCEPT_TOKEN(anon_sym_false); + case 104: + if (lookahead == 'u') ADVANCE(129); END_STATE(); - case 112: - ACCEPT_TOKEN(anon_sym_float); - END_STATE(); - case 113: - if (lookahead == 'd') ADVANCE(128); - END_STATE(); - case 114: - if (lookahead == 's') ADVANCE(129); - END_STATE(); - case 115: + case 105: if (lookahead == 'i') ADVANCE(130); END_STATE(); + case 106: + if (lookahead == 's') ADVANCE(131); + END_STATE(); + case 107: + if (lookahead == 'e') ADVANCE(132); + END_STATE(); + case 108: + if (lookahead == 'n') ADVANCE(133); + END_STATE(); + case 109: + if (lookahead == 'e') ADVANCE(134); + END_STATE(); + case 110: + if (lookahead == 'r') ADVANCE(135); + END_STATE(); + case 111: + if (lookahead == 'i') ADVANCE(136); + END_STATE(); + case 112: + ACCEPT_TOKEN(anon_sym_test); + END_STATE(); + case 113: + ACCEPT_TOKEN(anon_sym_then); + END_STATE(); + case 114: + ACCEPT_TOKEN(anon_sym_true); + END_STATE(); + case 115: + if (lookahead == 'n') ADVANCE(137); + END_STATE(); case 116: - if (lookahead == 'i') ADVANCE(131); + if (lookahead == 'e') ADVANCE(138); END_STATE(); case 117: - if (lookahead == 't') ADVANCE(132); + if (lookahead == 'a') ADVANCE(139); END_STATE(); case 118: - if (lookahead == 'f') ADVANCE(133); + ACCEPT_TOKEN(anon_sym_array); END_STATE(); case 119: - ACCEPT_TOKEN(anon_sym_solve); + if (lookahead == 'r') ADVANCE(140); END_STATE(); case 120: - if (lookahead == 'g') ADVANCE(134); + if (lookahead == 'f') ADVANCE(141); END_STATE(); case 121: - if (lookahead == 't') ADVANCE(135); + ACCEPT_TOKEN(anon_sym_endif); END_STATE(); case 122: - if (lookahead == 's') ADVANCE(136); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 123: - if (lookahead == 'f') ADVANCE(137); + ACCEPT_TOKEN(anon_sym_float); END_STATE(); case 124: - ACCEPT_TOKEN(anon_sym_union); + if (lookahead == 'i') ADVANCE(142); END_STATE(); case 125: - ACCEPT_TOKEN(anon_sym_where); + if (lookahead == 'd') ADVANCE(143); END_STATE(); case 126: - if (lookahead == 'a') ADVANCE(138); + if (lookahead == 's') ADVANCE(144); END_STATE(); case 127: - ACCEPT_TOKEN(anon_sym_elseif); + if (lookahead == 'i') ADVANCE(145); END_STATE(); case 128: - if (lookahead == 'e') ADVANCE(139); - END_STATE(); - case 129: - if (lookahead == 'e') ADVANCE(140); - END_STATE(); - case 130: - if (lookahead == 'z') ADVANCE(141); - END_STATE(); - case 131: - if (lookahead == 'z') ADVANCE(142); - END_STATE(); - case 132: - ACCEPT_TOKEN(anon_sym_output); - END_STATE(); - case 133: - if (lookahead == 'y') ADVANCE(143); - END_STATE(); - case 134: - ACCEPT_TOKEN(anon_sym_string); - END_STATE(); - case 135: - ACCEPT_TOKEN(anon_sym_subset); - END_STATE(); - case 136: - if (lookahead == 'e') ADVANCE(144); - END_STATE(); - case 137: - if (lookahead == 'f') ADVANCE(145); - END_STATE(); - case 138: if (lookahead == 'i') ADVANCE(146); END_STATE(); + case 129: + if (lookahead == 't') ADVANCE(147); + END_STATE(); + case 130: + if (lookahead == 'c') ADVANCE(148); + END_STATE(); + case 131: + if (lookahead == 'f') ADVANCE(149); + END_STATE(); + case 132: + ACCEPT_TOKEN(anon_sym_solve); + END_STATE(); + case 133: + if (lookahead == 'g') ADVANCE(150); + END_STATE(); + case 134: + if (lookahead == 't') ADVANCE(151); + END_STATE(); + case 135: + if (lookahead == 's') ADVANCE(152); + END_STATE(); + case 136: + if (lookahead == 'f') ADVANCE(153); + END_STATE(); + case 137: + ACCEPT_TOKEN(anon_sym_union); + END_STATE(); + case 138: + ACCEPT_TOKEN(anon_sym_where); + END_STATE(); case 139: - ACCEPT_TOKEN(anon_sym_include); + if (lookahead == 't') ADVANCE(154); END_STATE(); case 140: - if (lookahead == 'c') ADVANCE(147); + if (lookahead == 'a') ADVANCE(155); END_STATE(); case 141: - if (lookahead == 'e') ADVANCE(148); + ACCEPT_TOKEN(anon_sym_elseif); END_STATE(); case 142: - if (lookahead == 'e') ADVANCE(149); + if (lookahead == 'o') ADVANCE(156); END_STATE(); case 143: - ACCEPT_TOKEN(anon_sym_satisfy); + if (lookahead == 'e') ADVANCE(157); END_STATE(); case 144: - if (lookahead == 't') ADVANCE(150); + if (lookahead == 'e') ADVANCE(158); END_STATE(); case 145: - ACCEPT_TOKEN(anon_sym_symdiff); + if (lookahead == 'z') ADVANCE(159); END_STATE(); case 146: - if (lookahead == 'n') ADVANCE(151); + if (lookahead == 'z') ADVANCE(160); END_STATE(); case 147: - if (lookahead == 't') ADVANCE(152); + ACCEPT_TOKEN(anon_sym_output); END_STATE(); case 148: - ACCEPT_TOKEN(anon_sym_maximize); + if (lookahead == 'a') ADVANCE(161); END_STATE(); case 149: - ACCEPT_TOKEN(anon_sym_minimize); + if (lookahead == 'y') ADVANCE(162); END_STATE(); case 150: - ACCEPT_TOKEN(anon_sym_superset); + ACCEPT_TOKEN(anon_sym_string); END_STATE(); case 151: - if (lookahead == 't') ADVANCE(153); + ACCEPT_TOKEN(anon_sym_subset); END_STATE(); case 152: - ACCEPT_TOKEN(anon_sym_intersect); + if (lookahead == 'e') ADVANCE(163); END_STATE(); case 153: + if (lookahead == 'f') ADVANCE(164); + END_STATE(); + case 154: + if (lookahead == 'i') ADVANCE(165); + END_STATE(); + case 155: + if (lookahead == 'i') ADVANCE(166); + END_STATE(); + case 156: + if (lookahead == 'n') ADVANCE(167); + END_STATE(); + case 157: + ACCEPT_TOKEN(anon_sym_include); + END_STATE(); + case 158: + if (lookahead == 'c') ADVANCE(168); + END_STATE(); + case 159: + if (lookahead == 'e') ADVANCE(169); + END_STATE(); + case 160: + if (lookahead == 'e') ADVANCE(170); + END_STATE(); + case 161: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 162: + ACCEPT_TOKEN(anon_sym_satisfy); + END_STATE(); + case 163: + if (lookahead == 't') ADVANCE(172); + END_STATE(); + case 164: + ACCEPT_TOKEN(anon_sym_symdiff); + END_STATE(); + case 165: + if (lookahead == 'o') ADVANCE(173); + END_STATE(); + case 166: + if (lookahead == 'n') ADVANCE(174); + END_STATE(); + case 167: + ACCEPT_TOKEN(anon_sym_function); + END_STATE(); + case 168: + if (lookahead == 't') ADVANCE(175); + END_STATE(); + case 169: + ACCEPT_TOKEN(anon_sym_maximize); + END_STATE(); + case 170: + ACCEPT_TOKEN(anon_sym_minimize); + END_STATE(); + case 171: + if (lookahead == 'e') ADVANCE(176); + END_STATE(); + case 172: + ACCEPT_TOKEN(anon_sym_superset); + END_STATE(); + case 173: + if (lookahead == 'n') ADVANCE(177); + END_STATE(); + case 174: + if (lookahead == 't') ADVANCE(178); + END_STATE(); + case 175: + ACCEPT_TOKEN(anon_sym_intersect); + END_STATE(); + case 176: + ACCEPT_TOKEN(anon_sym_predicate); + END_STATE(); + case 177: + ACCEPT_TOKEN(anon_sym_annotation); + END_STATE(); + case 178: ACCEPT_TOKEN(anon_sym_constraint); END_STATE(); default: @@ -2091,10 +2308,10 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [4] = {.lex_state = 34}, [5] = {.lex_state = 34}, [6] = {.lex_state = 34}, - [7] = {.lex_state = 33}, - [8] = {.lex_state = 33}, - [9] = {.lex_state = 33}, - [10] = {.lex_state = 33}, + [7] = {.lex_state = 34}, + [8] = {.lex_state = 34}, + [9] = {.lex_state = 34}, + [10] = {.lex_state = 34}, [11] = {.lex_state = 33}, [12] = {.lex_state = 33}, [13] = {.lex_state = 33}, @@ -2139,10 +2356,10 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [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 = 34}, + [55] = {.lex_state = 33}, + [56] = {.lex_state = 33}, + [57] = {.lex_state = 33}, + [58] = {.lex_state = 33}, [59] = {.lex_state = 34}, [60] = {.lex_state = 34}, [61] = {.lex_state = 34}, @@ -2151,123 +2368,123 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [64] = {.lex_state = 34}, [65] = {.lex_state = 34}, [66] = {.lex_state = 34}, - [67] = {.lex_state = 33}, + [67] = {.lex_state = 34}, [68] = {.lex_state = 34}, - [69] = {.lex_state = 33}, + [69] = {.lex_state = 34}, [70] = {.lex_state = 33}, - [71] = {.lex_state = 33}, + [71] = {.lex_state = 34}, [72] = {.lex_state = 33}, [73] = {.lex_state = 33}, [74] = {.lex_state = 33}, - [75] = {.lex_state = 33}, + [75] = {.lex_state = 34}, [76] = {.lex_state = 33}, [77] = {.lex_state = 33}, - [78] = {.lex_state = 34}, - [79] = {.lex_state = 34}, + [78] = {.lex_state = 33}, + [79] = {.lex_state = 33}, [80] = {.lex_state = 33}, - [81] = {.lex_state = 34}, + [81] = {.lex_state = 33}, [82] = {.lex_state = 34}, - [83] = {.lex_state = 33}, + [83] = {.lex_state = 34}, [84] = {.lex_state = 33}, - [85] = {.lex_state = 33}, + [85] = {.lex_state = 34}, [86] = {.lex_state = 34}, [87] = {.lex_state = 33}, - [88] = {.lex_state = 33}, - [89] = {.lex_state = 33}, + [88] = {.lex_state = 34}, + [89] = {.lex_state = 34}, [90] = {.lex_state = 33}, [91] = {.lex_state = 33}, [92] = {.lex_state = 33}, [93] = {.lex_state = 33}, [94] = {.lex_state = 33}, [95] = {.lex_state = 33}, - [96] = {.lex_state = 34}, - [97] = {.lex_state = 34}, - [98] = {.lex_state = 34}, - [99] = {.lex_state = 34}, - [100] = {.lex_state = 34}, - [101] = {.lex_state = 34}, + [96] = {.lex_state = 33}, + [97] = {.lex_state = 33}, + [98] = {.lex_state = 33}, + [99] = {.lex_state = 33}, + [100] = {.lex_state = 33}, + [101] = {.lex_state = 33}, [102] = {.lex_state = 33}, [103] = {.lex_state = 33}, - [104] = {.lex_state = 34}, - [105] = {.lex_state = 34}, - [106] = {.lex_state = 34}, - [107] = {.lex_state = 34}, + [104] = {.lex_state = 33}, + [105] = {.lex_state = 33}, + [106] = {.lex_state = 33}, + [107] = {.lex_state = 33}, [108] = {.lex_state = 34}, [109] = {.lex_state = 33}, [110] = {.lex_state = 34}, [111] = {.lex_state = 34}, - [112] = {.lex_state = 34}, + [112] = {.lex_state = 33}, [113] = {.lex_state = 34}, [114] = {.lex_state = 34}, [115] = {.lex_state = 34}, [116] = {.lex_state = 34}, [117] = {.lex_state = 34}, - [118] = {.lex_state = 33}, - [119] = {.lex_state = 34}, + [118] = {.lex_state = 34}, + [119] = {.lex_state = 33}, [120] = {.lex_state = 34}, [121] = {.lex_state = 34}, - [122] = {.lex_state = 34}, + [122] = {.lex_state = 33}, [123] = {.lex_state = 34}, - [124] = {.lex_state = 34}, - [125] = {.lex_state = 33}, + [124] = {.lex_state = 33}, + [125] = {.lex_state = 34}, [126] = {.lex_state = 34}, - [127] = {.lex_state = 33}, + [127] = {.lex_state = 34}, [128] = {.lex_state = 34}, - [129] = {.lex_state = 34}, + [129] = {.lex_state = 33}, [130] = {.lex_state = 34}, [131] = {.lex_state = 34}, [132] = {.lex_state = 34}, - [133] = {.lex_state = 33}, + [133] = {.lex_state = 34}, [134] = {.lex_state = 34}, [135] = {.lex_state = 34}, [136] = {.lex_state = 34}, - [137] = {.lex_state = 33}, - [138] = {.lex_state = 33}, + [137] = {.lex_state = 34}, + [138] = {.lex_state = 34}, [139] = {.lex_state = 34}, - [140] = {.lex_state = 33}, + [140] = {.lex_state = 34}, [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 = 1}, - [151] = {.lex_state = 2}, - [152] = {.lex_state = 1}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 0}, - [155] = {.lex_state = 2}, - [156] = {.lex_state = 2}, - [157] = {.lex_state = 0}, - [158] = {.lex_state = 0}, - [159] = {.lex_state = 0}, - [160] = {.lex_state = 0}, - [161] = {.lex_state = 0}, - [162] = {.lex_state = 0}, - [163] = {.lex_state = 0}, - [164] = {.lex_state = 0}, - [165] = {.lex_state = 0}, - [166] = {.lex_state = 0}, - [167] = {.lex_state = 0}, + [144] = {.lex_state = 33}, + [145] = {.lex_state = 33}, + [146] = {.lex_state = 34}, + [147] = {.lex_state = 34}, + [148] = {.lex_state = 34}, + [149] = {.lex_state = 34}, + [150] = {.lex_state = 34}, + [151] = {.lex_state = 34}, + [152] = {.lex_state = 34}, + [153] = {.lex_state = 34}, + [154] = {.lex_state = 34}, + [155] = {.lex_state = 34}, + [156] = {.lex_state = 34}, + [157] = {.lex_state = 33}, + [158] = {.lex_state = 33}, + [159] = {.lex_state = 34}, + [160] = {.lex_state = 34}, + [161] = {.lex_state = 34}, + [162] = {.lex_state = 34}, + [163] = {.lex_state = 34}, + [164] = {.lex_state = 34}, + [165] = {.lex_state = 34}, + [166] = {.lex_state = 1}, + [167] = {.lex_state = 1}, [168] = {.lex_state = 0}, - [169] = {.lex_state = 0}, + [169] = {.lex_state = 2}, [170] = {.lex_state = 0}, [171] = {.lex_state = 0}, [172] = {.lex_state = 0}, [173] = {.lex_state = 0}, [174] = {.lex_state = 0}, - [175] = {.lex_state = 0}, + [175] = {.lex_state = 1}, [176] = {.lex_state = 0}, - [177] = {.lex_state = 0}, + [177] = {.lex_state = 1}, [178] = {.lex_state = 0}, [179] = {.lex_state = 0}, [180] = {.lex_state = 0}, - [181] = {.lex_state = 0}, + [181] = {.lex_state = 2}, [182] = {.lex_state = 0}, - [183] = {.lex_state = 0}, + [183] = {.lex_state = 2}, [184] = {.lex_state = 0}, [185] = {.lex_state = 0}, [186] = {.lex_state = 0}, @@ -2304,6 +2521,53 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [217] = {.lex_state = 0}, [218] = {.lex_state = 0}, [219] = {.lex_state = 0}, + [220] = {.lex_state = 0}, + [221] = {.lex_state = 0}, + [222] = {.lex_state = 0}, + [223] = {.lex_state = 0}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 0}, + [226] = {.lex_state = 0}, + [227] = {.lex_state = 0}, + [228] = {.lex_state = 0}, + [229] = {.lex_state = 0}, + [230] = {.lex_state = 0}, + [231] = {.lex_state = 0}, + [232] = {.lex_state = 0}, + [233] = {.lex_state = 0}, + [234] = {.lex_state = 0}, + [235] = {.lex_state = 0}, + [236] = {.lex_state = 0}, + [237] = {.lex_state = 0}, + [238] = {.lex_state = 0}, + [239] = {.lex_state = 0}, + [240] = {.lex_state = 0}, + [241] = {.lex_state = 0}, + [242] = {.lex_state = 0}, + [243] = {.lex_state = 0}, + [244] = {.lex_state = 0}, + [245] = {.lex_state = 0}, + [246] = {.lex_state = 0}, + [247] = {.lex_state = 0}, + [248] = {.lex_state = 0}, + [249] = {.lex_state = 0}, + [250] = {.lex_state = 0}, + [251] = {.lex_state = 0}, + [252] = {.lex_state = 0}, + [253] = {.lex_state = 0}, + [254] = {.lex_state = 0}, + [255] = {.lex_state = 0}, + [256] = {.lex_state = 0}, + [257] = {.lex_state = 0}, + [258] = {.lex_state = 0}, + [259] = {.lex_state = 0}, + [260] = {.lex_state = 0}, + [261] = {.lex_state = 0}, + [262] = {.lex_state = 0}, + [263] = {.lex_state = 0}, + [264] = {.lex_state = 0}, + [265] = {.lex_state = 0}, + [266] = {.lex_state = 0}, }; static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2311,20 +2575,25 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_annotation] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [anon_sym_constraint] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), + [anon_sym_function] = ACTIONS(1), [anon_sym_solve] = ACTIONS(1), [anon_sym_satisfy] = ACTIONS(1), [anon_sym_maximize] = ACTIONS(1), [anon_sym_minimize] = ACTIONS(1), [anon_sym_include] = ACTIONS(1), [anon_sym_output] = ACTIONS(1), + [anon_sym_predicate] = ACTIONS(1), + [anon_sym_test] = ACTIONS(1), + [anon_sym_COLON_COLON] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_PIPE] = ACTIONS(1), - [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_where] = ACTIONS(1), @@ -2360,7 +2629,6 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_div] = ACTIONS(1), [anon_sym_mod] = ACTIONS(1), [anon_sym_CARET] = ACTIONS(1), - [anon_sym_COLON_COLON] = ACTIONS(1), [anon_sym_let] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), @@ -2389,195 +2657,216 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_block_comment] = ACTIONS(3), }, [1] = { - [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), + [sym_source_file] = STATE(255), + [sym__item] = STATE(230), + [sym_annotation] = STATE(230), + [sym_assignment] = STATE(230), + [sym_constraint] = STATE(230), + [sym_declaration] = STATE(230), + [sym_function_item] = STATE(230), + [sym_goal] = STATE(230), + [sym_include] = STATE(230), + [sym_output] = STATE(230), + [sym_predicate] = STATE(230), + [sym__expression] = STATE(76), + [sym_parenthesised_expression] = STATE(76), + [sym_array_comprehension] = STATE(76), + [sym_call] = STATE(76), + [sym_generator_call] = STATE(76), + [sym_if_then_else] = STATE(76), + [sym_indexed_access] = STATE(76), + [sym_infix_operator] = STATE(76), + [sym_let_expression] = STATE(76), + [sym_prefix_operator] = STATE(76), + [sym_set_comprehension] = STATE(76), + [sym_string_interpolation] = STATE(76), + [sym__type] = STATE(265), + [sym_array_type] = STATE(265), + [sym_base_type] = STATE(265), + [sym_primitive_type] = STATE(191), + [sym_set_type] = STATE(265), + [sym__literal] = STATE(76), + [sym_array_literal] = STATE(76), + [sym_boolean_literal] = STATE(76), + [sym_set_literal] = STATE(76), + [sym_string_literal] = STATE(76), [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), - [anon_sym_constraint] = ACTIONS(9), - [anon_sym_solve] = ACTIONS(11), - [anon_sym_include] = ACTIONS(13), - [anon_sym_output] = ACTIONS(15), - [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_DASH] = ACTIONS(23), - [anon_sym_let] = ACTIONS(25), - [anon_sym_LBRACE] = ACTIONS(27), - [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), + [anon_sym_annotation] = ACTIONS(9), + [anon_sym_constraint] = ACTIONS(11), + [anon_sym_function] = ACTIONS(13), + [anon_sym_solve] = ACTIONS(15), + [anon_sym_include] = ACTIONS(17), + [anon_sym_output] = ACTIONS(19), + [anon_sym_predicate] = ACTIONS(21), + [anon_sym_test] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_LBRACK] = ACTIONS(25), + [anon_sym_if] = ACTIONS(27), + [anon_sym_DASH] = ACTIONS(29), + [anon_sym_let] = ACTIONS(31), + [anon_sym_LBRACE] = ACTIONS(33), + [anon_sym_not] = ACTIONS(35), + [anon_sym_] = ACTIONS(29), + [anon_sym_DQUOTE] = ACTIONS(37), + [anon_sym_array] = ACTIONS(39), + [anon_sym_var] = ACTIONS(41), + [anon_sym_par] = ACTIONS(41), + [anon_sym_opt] = ACTIONS(43), + [anon_sym_ann] = ACTIONS(45), + [anon_sym_bool] = ACTIONS(45), + [anon_sym_float] = ACTIONS(45), + [anon_sym_int] = ACTIONS(45), + [anon_sym_string] = ACTIONS(45), + [anon_sym_set] = ACTIONS(47), + [sym_absent] = ACTIONS(49), + [anon_sym_true] = ACTIONS(51), + [anon_sym_false] = ACTIONS(51), + [sym_float_literal] = ACTIONS(49), + [sym_integer_literal] = ACTIONS(53), [sym_line_comment] = ACTIONS(3), [sym_block_comment] = ACTIONS(3), }, [2] = { - [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), + [sym__item] = STATE(252), + [sym_annotation] = STATE(252), + [sym_assignment] = STATE(252), + [sym_constraint] = STATE(252), + [sym_declaration] = STATE(252), + [sym_function_item] = STATE(252), + [sym_goal] = STATE(252), + [sym_include] = STATE(252), + [sym_output] = STATE(252), + [sym_predicate] = STATE(252), + [sym__expression] = STATE(76), + [sym_parenthesised_expression] = STATE(76), + [sym_array_comprehension] = STATE(76), + [sym_call] = STATE(76), + [sym_generator_call] = STATE(76), + [sym_if_then_else] = STATE(76), + [sym_indexed_access] = STATE(76), + [sym_infix_operator] = STATE(76), + [sym_let_expression] = STATE(76), + [sym_prefix_operator] = STATE(76), + [sym_set_comprehension] = STATE(76), + [sym_string_interpolation] = STATE(76), + [sym__type] = STATE(265), + [sym_array_type] = STATE(265), + [sym_base_type] = STATE(265), + [sym_primitive_type] = STATE(191), + [sym_set_type] = STATE(265), + [sym__literal] = STATE(76), + [sym_array_literal] = STATE(76), + [sym_boolean_literal] = STATE(76), + [sym_set_literal] = STATE(76), + [sym_string_literal] = STATE(76), [aux_sym_source_file_repeat1] = STATE(2), - [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), + [ts_builtin_sym_end] = ACTIONS(55), + [sym_identifier] = ACTIONS(57), + [anon_sym_annotation] = ACTIONS(60), + [anon_sym_constraint] = ACTIONS(63), + [anon_sym_function] = ACTIONS(66), + [anon_sym_solve] = ACTIONS(69), + [anon_sym_include] = ACTIONS(72), + [anon_sym_output] = ACTIONS(75), + [anon_sym_predicate] = ACTIONS(78), + [anon_sym_test] = ACTIONS(78), + [anon_sym_LPAREN] = ACTIONS(81), + [anon_sym_LBRACK] = ACTIONS(84), + [anon_sym_if] = ACTIONS(87), + [anon_sym_DASH] = ACTIONS(90), + [anon_sym_let] = ACTIONS(93), + [anon_sym_LBRACE] = ACTIONS(96), + [anon_sym_not] = ACTIONS(99), + [anon_sym_] = ACTIONS(90), + [anon_sym_DQUOTE] = ACTIONS(102), + [anon_sym_array] = ACTIONS(105), + [anon_sym_var] = ACTIONS(108), + [anon_sym_par] = ACTIONS(108), + [anon_sym_opt] = ACTIONS(111), + [anon_sym_ann] = ACTIONS(114), + [anon_sym_bool] = ACTIONS(114), + [anon_sym_float] = ACTIONS(114), + [anon_sym_int] = ACTIONS(114), + [anon_sym_string] = ACTIONS(114), + [anon_sym_set] = ACTIONS(117), + [sym_absent] = ACTIONS(120), + [anon_sym_true] = ACTIONS(123), + [anon_sym_false] = ACTIONS(123), + [sym_float_literal] = ACTIONS(120), + [sym_integer_literal] = ACTIONS(126), [sym_line_comment] = ACTIONS(3), [sym_block_comment] = ACTIONS(3), }, [3] = { - [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), + [sym__item] = STATE(238), + [sym_annotation] = STATE(238), + [sym_assignment] = STATE(238), + [sym_constraint] = STATE(238), + [sym_declaration] = STATE(238), + [sym_function_item] = STATE(238), + [sym_goal] = STATE(238), + [sym_include] = STATE(238), + [sym_output] = STATE(238), + [sym_predicate] = STATE(238), + [sym__expression] = STATE(76), + [sym_parenthesised_expression] = STATE(76), + [sym_array_comprehension] = STATE(76), + [sym_call] = STATE(76), + [sym_generator_call] = STATE(76), + [sym_if_then_else] = STATE(76), + [sym_indexed_access] = STATE(76), + [sym_infix_operator] = STATE(76), + [sym_let_expression] = STATE(76), + [sym_prefix_operator] = STATE(76), + [sym_set_comprehension] = STATE(76), + [sym_string_interpolation] = STATE(76), + [sym__type] = STATE(265), + [sym_array_type] = STATE(265), + [sym_base_type] = STATE(265), + [sym_primitive_type] = STATE(191), + [sym_set_type] = STATE(265), + [sym__literal] = STATE(76), + [sym_array_literal] = STATE(76), + [sym_boolean_literal] = STATE(76), + [sym_set_literal] = STATE(76), + [sym_string_literal] = STATE(76), [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(114), + [ts_builtin_sym_end] = ACTIONS(129), [sym_identifier] = ACTIONS(7), - [anon_sym_constraint] = ACTIONS(9), - [anon_sym_solve] = ACTIONS(11), - [anon_sym_include] = ACTIONS(13), - [anon_sym_output] = ACTIONS(15), - [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_DASH] = ACTIONS(23), - [anon_sym_let] = ACTIONS(25), - [anon_sym_LBRACE] = ACTIONS(27), - [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), + [anon_sym_annotation] = ACTIONS(9), + [anon_sym_constraint] = ACTIONS(11), + [anon_sym_function] = ACTIONS(13), + [anon_sym_solve] = ACTIONS(15), + [anon_sym_include] = ACTIONS(17), + [anon_sym_output] = ACTIONS(19), + [anon_sym_predicate] = ACTIONS(21), + [anon_sym_test] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_LBRACK] = ACTIONS(25), + [anon_sym_if] = ACTIONS(27), + [anon_sym_DASH] = ACTIONS(29), + [anon_sym_let] = ACTIONS(31), + [anon_sym_LBRACE] = ACTIONS(33), + [anon_sym_not] = ACTIONS(35), + [anon_sym_] = ACTIONS(29), + [anon_sym_DQUOTE] = ACTIONS(37), + [anon_sym_array] = ACTIONS(39), + [anon_sym_var] = ACTIONS(41), + [anon_sym_par] = ACTIONS(41), + [anon_sym_opt] = ACTIONS(43), + [anon_sym_ann] = ACTIONS(45), + [anon_sym_bool] = ACTIONS(45), + [anon_sym_float] = ACTIONS(45), + [anon_sym_int] = ACTIONS(45), + [anon_sym_string] = ACTIONS(45), + [anon_sym_set] = ACTIONS(47), + [sym_absent] = ACTIONS(49), + [anon_sym_true] = ACTIONS(51), + [anon_sym_false] = ACTIONS(51), + [sym_float_literal] = ACTIONS(49), + [sym_integer_literal] = ACTIONS(53), [sym_line_comment] = ACTIONS(3), [sym_block_comment] = ACTIONS(3), }, @@ -2585,3369 +2874,62 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { static uint16_t ts_small_parse_table[] = { [0] = 25, - ACTIONS(9), 1, + ACTIONS(11), 1, anon_sym_constraint, - ACTIONS(17), 1, + ACTIONS(23), 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(33), 1, - anon_sym_array, - ACTIONS(37), 1, - anon_sym_opt, - ACTIONS(41), 1, - anon_sym_set, - ACTIONS(47), 1, - sym_integer_literal, - ACTIONS(116), 1, - sym_identifier, - ACTIONS(118), 1, - anon_sym_RBRACE, - STATE(6), 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(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(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, - [105] = 25, - ACTIONS(9), 1, - anon_sym_constraint, - 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, + anon_sym_if, ACTIONS(31), 1, - anon_sym_DQUOTE, + anon_sym_let, ACTIONS(33), 1, - anon_sym_array, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(39), 1, + anon_sym_array, + ACTIONS(43), 1, anon_sym_opt, - ACTIONS(41), 1, - anon_sym_set, ACTIONS(47), 1, + anon_sym_set, + ACTIONS(53), 1, sym_integer_literal, - ACTIONS(116), 1, - sym_identifier, - 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, + sym_identifier, + ACTIONS(133), 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, + STATE(5), 1, aux_sym_let_expression_repeat1, - STATE(167), 1, + STATE(191), 1, sym_primitive_type, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(137), 2, + ACTIONS(29), 2, anon_sym_DASH, anon_sym_, - ACTIONS(157), 2, + ACTIONS(41), 2, anon_sym_var, anon_sym_par, - ACTIONS(169), 2, + ACTIONS(49), 2, sym_absent, sym_float_literal, - ACTIONS(172), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(190), 2, + STATE(216), 2, sym_constraint, sym_declaration, - STATE(207), 4, + STATE(265), 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, - 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(195), 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, - [3288] = 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(362), 1, - anon_sym_RBRACK, - STATE(167), 1, - sym_primitive_type, - STATE(195), 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, - [3374] = 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(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(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, - [3540] = 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(167), 1, - sym_primitive_type, - STATE(214), 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, - [3623] = 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(167), 1, - sym_primitive_type, - STATE(216), 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, - [3706] = 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(167), 1, - sym_primitive_type, - STATE(206), 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, - [3789] = 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(167), 1, - sym_primitive_type, - STATE(195), 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, - [3872] = 17, - 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(364), 1, - anon_sym_opt, - ACTIONS(368), 1, - sym_integer_literal, - STATE(174), 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(366), 2, - sym_absent, - sym_float_literal, - ACTIONS(39), 5, + ACTIONS(45), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, @@ -5971,158 +2953,69 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [3948] = 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, + [105] = 25, + ACTIONS(135), 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, + ACTIONS(138), 1, + anon_sym_constraint, + ACTIONS(141), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(144), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(147), 1, anon_sym_if, - ACTIONS(25), 1, + ACTIONS(153), 1, anon_sym_let, - ACTIONS(27), 1, + ACTIONS(156), 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, + ACTIONS(159), 1, anon_sym_RBRACE, - STATE(125), 17, + ACTIONS(161), 1, + anon_sym_not, + ACTIONS(164), 1, + anon_sym_DQUOTE, + ACTIONS(167), 1, + anon_sym_array, + ACTIONS(173), 1, + anon_sym_opt, + ACTIONS(179), 1, + anon_sym_set, + ACTIONS(188), 1, + sym_integer_literal, + STATE(5), 1, + aux_sym_let_expression_repeat1, + STATE(191), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(150), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(170), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(182), 2, + sym_absent, + sym_float_literal, + ACTIONS(185), 2, + anon_sym_true, + anon_sym_false, + STATE(239), 2, + sym_constraint, + sym_declaration, + STATE(265), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(176), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -6140,104 +3033,3003 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [4165] = 21, - ACTIONS(198), 1, + [210] = 25, + ACTIONS(11), 1, + anon_sym_constraint, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 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(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(39), 1, + anon_sym_array, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(47), 1, + anon_sym_set, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(191), 1, + anon_sym_RBRACE, + STATE(4), 1, + aux_sym_let_expression_repeat1, + STATE(191), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + STATE(204), 2, + sym_constraint, + sym_declaration, + STATE(265), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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] = 23, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(39), 1, + anon_sym_array, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(47), 1, + anon_sym_set, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(193), 1, + anon_sym_RPAREN, + STATE(8), 1, + aux_sym__parameters_repeat1, + STATE(191), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + STATE(220), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [413] = 23, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(39), 1, + anon_sym_array, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(47), 1, + anon_sym_set, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(195), 1, + anon_sym_RPAREN, + STATE(9), 1, + aux_sym__parameters_repeat1, + STATE(191), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + STATE(224), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [511] = 23, + ACTIONS(197), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(203), 1, + anon_sym_RPAREN, + ACTIONS(205), 1, + anon_sym_LBRACK, + ACTIONS(208), 1, + anon_sym_if, 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, + anon_sym_let, + ACTIONS(217), 1, + anon_sym_LBRACE, + ACTIONS(220), 1, + anon_sym_not, + ACTIONS(223), 1, + anon_sym_DQUOTE, ACTIONS(226), 1, + anon_sym_array, + ACTIONS(232), 1, + anon_sym_opt, + ACTIONS(238), 1, + anon_sym_set, + ACTIONS(247), 1, + sym_integer_literal, + STATE(9), 1, + aux_sym__parameters_repeat1, + STATE(191), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(211), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(229), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(241), 2, + sym_absent, + sym_float_literal, + ACTIONS(244), 2, + anon_sym_true, + anon_sym_false, + STATE(225), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(235), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [609] = 21, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(39), 1, + anon_sym_array, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(47), 1, + anon_sym_set, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + STATE(191), 1, + sym_primitive_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + STATE(254), 4, + sym__type, + sym_array_type, + sym_base_type, + sym_set_type, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [701] = 4, + ACTIONS(254), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(252), 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(228), 1, - anon_sym_CARET, - ACTIONS(230), 1, + ACTIONS(250), 34, + ts_builtin_sym_end, + anon_sym_SEMI, anon_sym_COLON_COLON, - ACTIONS(418), 1, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + anon_sym_RBRACK, anon_sym_where, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(200), 2, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, anon_sym_LT_DASH_GT, - anon_sym_BSLASH_SLASH, - ACTIONS(202), 2, anon_sym_DASH_GT, + anon_sym_BSLASH_SLASH, 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(416), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - ACTIONS(208), 6, + 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, - [4246] = 17, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + 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, + [757] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 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(420), 1, - sym_identifier, - ACTIONS(422), 1, - anon_sym_RPAREN, - ACTIONS(426), 1, - sym_integer_literal, - STATE(81), 1, - aux_sym_call_repeat1, - STATE(170), 1, - sym_generator, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(260), 2, + anon_sym_COLON, + anon_sym_else, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 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_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_RBRACE, + [846] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(298), 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(296), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [899] = 10, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(300), 27, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [966] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1019] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(310), 2, + anon_sym_COLON, + anon_sym_else, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(308), 11, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_RBRACE, + [1108] = 12, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(300), 25, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [1179] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1232] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1285] = 13, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(300), 24, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [1358] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1411] = 14, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(300), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [1486] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1539] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1592] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1645] = 18, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 3, + anon_sym_COLON, + anon_sym_else, + anon_sym_LT_DASH, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(300), 15, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [1728] = 3, + 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), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1781] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1834] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(302), 2, + anon_sym_COLON, + anon_sym_else, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(300), 13, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [1921] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [1974] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2027] = 4, + ACTIONS(264), 1, + anon_sym_LBRACK, + 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), 33, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [2082] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2135] = 15, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(300), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [2212] = 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_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2265] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(362), 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(360), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2318] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(366), 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(364), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2371] = 6, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(294), 1, + anon_sym_CARET, + 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), 31, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [2430] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(370), 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(368), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2483] = 8, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 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(300), 28, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [2546] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(374), 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(372), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2599] = 11, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 7, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_in, + anon_sym_else, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(300), 26, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [2668] = 5, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + 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), 32, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [2725] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(378), 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(376), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2778] = 5, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(382), 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(380), 32, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [2835] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(386), 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(384), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2888] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(390), 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(388), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2941] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(394), 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(392), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [2994] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(398), 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(396), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [3047] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(402), 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(400), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [3100] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(406), 2, + anon_sym_COLON, + anon_sym_else, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(404), 11, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_where, + anon_sym_then, + anon_sym_elseif, + anon_sym_endif, + anon_sym_RBRACE, + [3189] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(410), 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(408), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [3242] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(414), 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(412), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [3295] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(418), 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(416), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [3348] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(422), 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(420), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [3401] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(426), 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(424), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [3454] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(430), 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(428), 34, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_PIPE, + 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, + [3507] = 17, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(302), 3, + anon_sym_COLON, + anon_sym_else, + anon_sym_LT_DASH, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + ACTIONS(300), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + 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, + [3588] = 20, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(432), 1, + anon_sym_RBRACK, + STATE(191), 1, + sym_primitive_type, + STATE(227), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, anon_sym_DASH, anon_sym_, - ACTIONS(45), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(424), 2, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, sym_absent, sym_float_literal, - STATE(95), 17, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -6255,1735 +6047,497 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [4318] = 20, - ACTIONS(198), 1, + [3674] = 20, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 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(428), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - 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, - [4396] = 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(430), 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, - [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(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, ACTIONS(434), 1, - anon_sym_elseif, + anon_sym_RBRACK, + STATE(191), 1, + sym_primitive_type, + STATE(227), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [3760] = 19, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + STATE(191), 1, + sym_primitive_type, + STATE(223), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [3843] = 19, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + STATE(191), 1, + sym_primitive_type, + STATE(203), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [3926] = 19, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + STATE(191), 1, + sym_primitive_type, + STATE(227), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [4009] = 19, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + STATE(191), 1, + sym_primitive_type, + STATE(212), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [4092] = 19, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + STATE(191), 1, + sym_primitive_type, + STATE(194), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [4175] = 19, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_opt, + ACTIONS(53), 1, + sym_integer_literal, + ACTIONS(131), 1, + sym_identifier, + STATE(191), 1, + sym_primitive_type, + STATE(208), 1, + sym_base_type, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(41), 2, + anon_sym_var, + anon_sym_par, + ACTIONS(49), 2, + sym_absent, + sym_float_literal, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(76), 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, + [4258] = 17, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, 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, + anon_sym_opt, 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(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, - [4717] = 5, - ACTIONS(182), 1, - anon_sym_LPAREN, - 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, + STATE(184), 1, + sym_primitive_type, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(29), 2, anon_sym_DASH, anon_sym_, - ACTIONS(45), 2, + ACTIONS(51), 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(180), 8, - anon_sym_COLON, - anon_sym_in, - anon_sym_LT_DASH, - anon_sym_LT, - anon_sym_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_SLASH, - ACTIONS(178), 23, - anon_sym_LBRACK, - 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, - [5942] = 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(512), 1, - anon_sym_RBRACK, - 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, - [6020] = 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(514), 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, - [6096] = 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(516), 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, - [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, - ACTIONS(518), 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, - [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, - 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(522), 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(520), 2, - sym_absent, - sym_float_literal, - STATE(127), 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, - [6391] = 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(526), 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(524), 2, - sym_absent, - sym_float_literal, - STATE(28), 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, - [6454] = 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(530), 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(528), 2, - sym_absent, - sym_float_literal, - STATE(94), 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, - [6517] = 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(534), 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(532), 2, - sym_absent, - sym_float_literal, - STATE(18), 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, - [6580] = 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(538), 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(536), 2, + ACTIONS(438), 2, sym_absent, sym_float_literal, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, STATE(72), 17, sym__expression, sym_parenthesised_expression, @@ -8002,594 +6556,45 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [6643] = 14, - ACTIONS(17), 1, + [4334] = 16, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, ACTIONS(25), 1, - anon_sym_let, + anon_sym_LBRACK, ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_not, + anon_sym_if, ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, anon_sym_DQUOTE, - ACTIONS(116), 1, + ACTIONS(131), 1, sym_identifier, - ACTIONS(542), 1, + ACTIONS(444), 1, sym_integer_literal, + STATE(182), 1, + sym_primitive_type, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(29), 2, anon_sym_DASH, anon_sym_, - ACTIONS(45), 2, + ACTIONS(51), 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, - sym_block_comment, - ACTIONS(23), 2, - anon_sym_DASH, - anon_sym_, - ACTIONS(45), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(548), 2, - sym_absent, - sym_float_literal, - STATE(140), 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, - [6919] = 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(554), 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(552), 2, - sym_absent, - sym_float_literal, - STATE(87), 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, - [6982] = 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(558), 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(556), 2, - sym_absent, - sym_float_literal, - STATE(133), 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, - [7045] = 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(562), 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(560), 2, - sym_absent, - sym_float_literal, - STATE(38), 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, - [7108] = 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(566), 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(564), 2, - sym_absent, - sym_float_literal, - STATE(137), 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, - [7171] = 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(568), 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, - [7246] = 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(572), 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(570), 2, - sym_absent, - sym_float_literal, - STATE(71), 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, - [7309] = 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(576), 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(574), 2, - sym_absent, - sym_float_literal, - STATE(89), 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, - [7372] = 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(580), 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(578), 2, + ACTIONS(442), 2, sym_absent, sym_float_literal, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, STATE(77), 17, sym__expression, sym_parenthesised_expression, @@ -8608,35 +6613,391 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7435] = 14, - ACTIONS(17), 1, + [4407] = 16, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, ACTIONS(25), 1, - anon_sym_let, + anon_sym_LBRACK, ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_not, + anon_sym_if, ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, anon_sym_DQUOTE, - ACTIONS(116), 1, + ACTIONS(131), 1, sym_identifier, - ACTIONS(584), 1, + ACTIONS(448), 1, sym_integer_literal, + STATE(186), 1, + sym_primitive_type, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(29), 2, anon_sym_DASH, anon_sym_, - ACTIONS(45), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(582), 2, + ACTIONS(446), 2, + sym_absent, + sym_float_literal, + ACTIONS(45), 5, + anon_sym_ann, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_string, + STATE(79), 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, + [4480] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(452), 1, + anon_sym_where, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(450), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4561] = 16, + ACTIONS(454), 1, + sym_identifier, + ACTIONS(457), 1, + anon_sym_LPAREN, + ACTIONS(462), 1, + anon_sym_LBRACK, + ACTIONS(465), 1, + anon_sym_if, + ACTIONS(471), 1, + anon_sym_let, + ACTIONS(474), 1, + anon_sym_LBRACE, + ACTIONS(477), 1, + anon_sym_not, + ACTIONS(480), 1, + anon_sym_DQUOTE, + ACTIONS(489), 1, + sym_integer_literal, + STATE(71), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(468), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(483), 2, + sym_absent, + sym_float_literal, + ACTIONS(486), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(460), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + STATE(145), 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, + [4632] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(492), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(494), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4712] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(496), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4790] = 23, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(498), 1, + anon_sym_elseif, + ACTIONS(500), 1, + anon_sym_else, + ACTIONS(502), 1, + anon_sym_endif, + STATE(179), 1, + aux_sym_if_then_else_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [4874] = 17, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(504), 1, + sym_identifier, + ACTIONS(506), 1, + anon_sym_RPAREN, + ACTIONS(510), 1, + sym_integer_literal, + STATE(89), 1, + aux_sym_call_repeat1, + STATE(217), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(508), 2, sym_absent, sym_float_literal, STATE(102), 17, @@ -8657,1400 +7018,543 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [7498] = 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(588), 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(586), 2, - sym_absent, - sym_float_literal, - STATE(54), 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, - [7561] = 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(592), 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(590), 2, - sym_absent, - sym_float_literal, - STATE(138), 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, - [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(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, + [4946] = 21, + ACTIONS(262), 1, anon_sym_COLON_COLON, - ACTIONS(602), 1, - anon_sym_RPAREN, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(512), 1, + anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(200), 2, + ACTIONS(266), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, - ACTIONS(202), 2, + ACTIONS(268), 2, anon_sym_DASH_GT, anon_sym_xor, - ACTIONS(220), 2, + ACTIONS(286), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(224), 3, + ACTIONS(290), 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, + ACTIONS(514), 3, 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_RBRACK, + ACTIONS(258), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, - ACTIONS(208), 6, + ACTIONS(274), 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, + [5026] = 21, + ACTIONS(262), 1, anon_sym_COLON_COLON, - ACTIONS(654), 1, - anon_sym_then, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(516), 1, + anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(200), 2, + ACTIONS(266), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, - ACTIONS(202), 2, + ACTIONS(268), 2, anon_sym_DASH_GT, anon_sym_xor, - ACTIONS(220), 2, + ACTIONS(286), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(224), 3, + ACTIONS(290), 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, + ACTIONS(518), 3, + anon_sym_COMMA, 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_RBRACK, + ACTIONS(258), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, - ACTIONS(208), 6, + ACTIONS(274), 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, + [5106] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 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(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(520), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5184] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(522), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(524), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5264] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(526), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5342] = 22, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(528), 1, + anon_sym_COMMA, + ACTIONS(530), 1, + anon_sym_RBRACK, + STATE(200), 1, + aux_sym_indexed_access_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5423] = 16, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(532), 1, + anon_sym_RBRACK, + ACTIONS(536), 1, + sym_integer_literal, + STATE(88), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, anon_sym_DASH, anon_sym_, - ACTIONS(45), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(678), 2, + ACTIONS(534), 2, + sym_absent, + sym_float_literal, + STATE(90), 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, + [5492] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(55), 9, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_, + anon_sym_DQUOTE, + sym_absent, + sym_float_literal, + ACTIONS(538), 25, + anon_sym_annotation, + anon_sym_constraint, + anon_sym_function, + anon_sym_solve, + anon_sym_include, + anon_sym_output, + anon_sym_predicate, + anon_sym_test, + 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, + [5535] = 22, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(540), 1, + anon_sym_COMMA, + ACTIONS(542), 1, + anon_sym_PIPE, + ACTIONS(544), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [5616] = 16, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(546), 1, + anon_sym_RBRACE, + ACTIONS(550), 1, + sym_integer_literal, + STATE(86), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(548), 2, sym_absent, sym_float_literal, STATE(84), 17, @@ -10071,38 +7575,42 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [9346] = 14, - ACTIONS(17), 1, + [5685] = 16, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_if, ACTIONS(25), 1, - anon_sym_let, + anon_sym_LBRACK, ACTIONS(27), 1, - anon_sym_LBRACE, - ACTIONS(29), 1, - anon_sym_not, + anon_sym_if, ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, anon_sym_DQUOTE, - ACTIONS(116), 1, + ACTIONS(131), 1, sym_identifier, - ACTIONS(684), 1, + ACTIONS(544), 1, + anon_sym_RBRACE, + ACTIONS(554), 1, sym_integer_literal, + STATE(71), 1, + aux_sym_call_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(23), 2, + ACTIONS(29), 2, anon_sym_DASH, anon_sym_, - ACTIONS(45), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(682), 2, + ACTIONS(552), 2, sym_absent, sym_float_literal, - STATE(50), 17, + STATE(107), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, @@ -10120,737 +7628,4873 @@ static uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_set_literal, sym_string_literal, - [9409] = 3, + [5754] = 5, + ACTIONS(254), 1, + anon_sym_LPAREN, + ACTIONS(556), 1, + anon_sym_in, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(49), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, + ACTIONS(252), 7, + anon_sym_EQ, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_LBRACE, - anon_sym_, - anon_sym_DQUOTE, - sym_absent, - sym_float_literal, - 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, - 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, - [9448] = 3, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - 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(384), 11, - anon_sym_LPAREN, + anon_sym_SLASH, + ACTIONS(250), 25, + anon_sym_COLON_COLON, + anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DASH, + 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, + [5801] = 16, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(559), 1, + anon_sym_RBRACK, + ACTIONS(563), 1, + sym_integer_literal, + STATE(71), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(561), 2, sym_absent, sym_float_literal, - [9511] = 8, - ACTIONS(692), 1, + 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, + [5870] = 16, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, anon_sym_DQUOTE, - ACTIONS(694), 1, - anon_sym_BSLASH_LPAREN, - ACTIONS(696), 1, - aux_sym_string_content_token1, - ACTIONS(698), 1, - sym_escape_sequence, - STATE(150), 1, - aux_sym_string_content_repeat1, - STATE(177), 1, - aux_sym_string_interpolation_repeat1, - STATE(180), 1, - sym_string_content, - ACTIONS(700), 2, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(565), 1, + anon_sym_RPAREN, + ACTIONS(569), 1, + sym_integer_literal, + STATE(71), 1, + aux_sym_call_repeat1, + ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [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, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(567), 2, + sym_absent, + sym_float_literal, + STATE(104), 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, + [5939] = 22, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(540), 1, + anon_sym_COMMA, + ACTIONS(559), 1, + anon_sym_RBRACK, + ACTIONS(571), 1, + anon_sym_PIPE, + ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(702), 2, - anon_sym_DQUOTE, - anon_sym_BSLASH_LPAREN, - [9558] = 3, - ACTIONS(706), 1, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6020] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(575), 1, + anon_sym_else, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(573), 2, + anon_sym_elseif, + anon_sym_endif, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6099] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(540), 1, + anon_sym_COMMA, + ACTIONS(577), 1, + anon_sym_RBRACK, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6177] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(579), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6253] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(581), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6329] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(583), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6405] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(585), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6481] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(587), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6557] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(589), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6633] = 5, + ACTIONS(254), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, anon_sym_EQ, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(704), 4, + ACTIONS(252), 8, + anon_sym_COLON, + anon_sym_in, + anon_sym_LT_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(250), 23, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + 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, + [6679] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(594), 2, ts_builtin_sym_end, anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6755] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(596), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6831] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(540), 1, anon_sym_COMMA, + ACTIONS(565), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6909] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(598), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [6985] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(540), 1, + anon_sym_COMMA, + ACTIONS(600), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [7063] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(602), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [7139] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(604), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [7215] = 21, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(540), 1, + anon_sym_COMMA, + ACTIONS(606), 1, anon_sym_RBRACE, - [9572] = 4, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [7293] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(610), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(608), 2, + sym_absent, + sym_float_literal, + STATE(81), 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, + [7356] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(612), 1, + anon_sym_endif, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [7431] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(616), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(614), 2, + sym_absent, + sym_float_literal, + STATE(78), 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, + [7494] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(620), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(618), 2, + sym_absent, + sym_float_literal, + STATE(97), 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, + [7557] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(622), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [7632] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(626), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(624), 2, + sym_absent, + sym_float_literal, + STATE(101), 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, + [7695] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(630), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(628), 2, + sym_absent, + sym_float_literal, + STATE(112), 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, + [7758] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(634), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(632), 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, + [7821] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(638), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(636), 2, + sym_absent, + sym_float_literal, + STATE(100), 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, + [7884] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(642), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(640), 2, + sym_absent, + sym_float_literal, + STATE(158), 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, + [7947] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(646), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(644), 2, + sym_absent, + sym_float_literal, + STATE(74), 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, + [8010] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(648), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [8085] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(652), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(650), 2, + sym_absent, + sym_float_literal, + STATE(157), 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, + [8148] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(656), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(654), 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, + [8211] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(658), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [8286] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(662), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(660), 2, + sym_absent, + sym_float_literal, + STATE(34), 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, + [8349] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(664), 1, + anon_sym_endif, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [8424] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(668), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(666), 2, + sym_absent, + sym_float_literal, + STATE(32), 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, + [8487] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(672), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(670), 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, + [8550] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(676), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(674), 2, + sym_absent, + sym_float_literal, + STATE(98), 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, + [8613] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(680), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(678), 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, + [8676] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(682), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [8751] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(686), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(684), 2, + sym_absent, + sym_float_literal, + STATE(40), 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, + [8814] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(690), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(688), 2, + sym_absent, + sym_float_literal, + STATE(144), 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, + [8877] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(694), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(692), 2, + sym_absent, + sym_float_literal, + STATE(119), 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, + [8940] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(698), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(696), 2, + sym_absent, + sym_float_literal, + STATE(43), 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, + [9003] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(702), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(700), 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, + [9066] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(706), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(704), 2, + sym_absent, + sym_float_literal, + STATE(16), 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, + [9129] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, ACTIONS(710), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(708), 2, + sym_absent, + sym_float_literal, + STATE(38), 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, + [9192] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(714), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(712), 2, + sym_absent, + sym_float_literal, + STATE(94), 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, + [9255] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(718), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(716), 2, + sym_absent, + sym_float_literal, + STATE(12), 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, + [9318] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(722), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(720), 2, + sym_absent, + sym_float_literal, + STATE(105), 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, + [9381] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(726), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(724), 2, + sym_absent, + sym_float_literal, + STATE(95), 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, + [9444] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(730), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(728), 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, + [9507] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(734), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(732), 2, + sym_absent, + sym_float_literal, + STATE(124), 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, + [9570] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(738), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(736), 2, + sym_absent, + sym_float_literal, + STATE(122), 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, + [9633] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(740), 1, + anon_sym_then, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [9708] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(540), 1, anon_sym_COMMA, - STATE(149), 1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [9783] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(744), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(742), 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, + [9846] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(748), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(746), 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, + [9909] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(752), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(750), 2, + sym_absent, + sym_float_literal, + STATE(29), 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, + [9972] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(756), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(754), 2, + sym_absent, + sym_float_literal, + STATE(96), 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, + [10035] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(760), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(758), 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, + [10098] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(764), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(762), 2, + sym_absent, + sym_float_literal, + STATE(14), 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, + [10161] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(768), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(766), 2, + sym_absent, + sym_float_literal, + STATE(106), 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, + [10224] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(772), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(770), 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, + [10287] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(776), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(774), 2, + sym_absent, + sym_float_literal, + STATE(26), 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, + [10350] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(780), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(778), 2, + sym_absent, + sym_float_literal, + STATE(20), 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, + [10413] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(784), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(782), 2, + sym_absent, + sym_float_literal, + STATE(22), 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, + [10476] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(786), 1, + anon_sym_then, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [10551] = 20, + ACTIONS(262), 1, + anon_sym_COLON_COLON, + ACTIONS(264), 1, + anon_sym_LBRACK, + ACTIONS(270), 1, + anon_sym_LT_DASH, + ACTIONS(272), 1, + anon_sym_SLASH_BSLASH, + ACTIONS(276), 1, + anon_sym_union, + ACTIONS(278), 1, + anon_sym_diff, + ACTIONS(280), 1, + anon_sym_symdiff, + ACTIONS(282), 1, + anon_sym_intersect, + ACTIONS(284), 1, + anon_sym_DOT_DOT, + ACTIONS(288), 1, + anon_sym_PLUS_PLUS, + ACTIONS(292), 1, + anon_sym_SLASH, + ACTIONS(294), 1, + anon_sym_CARET, + ACTIONS(788), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 2, + anon_sym_LT_DASH_GT, + anon_sym_BSLASH_SLASH, + ACTIONS(268), 2, + anon_sym_DASH_GT, + anon_sym_xor, + ACTIONS(286), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_div, + anon_sym_mod, + ACTIONS(258), 4, + anon_sym_EQ, + anon_sym_in, + anon_sym_LT, + anon_sym_GT, + ACTIONS(274), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_subset, + anon_sym_superset, + [10626] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(792), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(790), 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, + [10689] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(796), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(794), 2, + sym_absent, + sym_float_literal, + STATE(58), 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, + [10752] = 14, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_if, + ACTIONS(31), 1, + anon_sym_let, + ACTIONS(33), 1, + anon_sym_LBRACE, + ACTIONS(35), 1, + anon_sym_not, + ACTIONS(37), 1, + anon_sym_DQUOTE, + ACTIONS(131), 1, + sym_identifier, + ACTIONS(800), 1, + sym_integer_literal, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(29), 2, + anon_sym_DASH, + anon_sym_, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(798), 2, + sym_absent, + sym_float_literal, + STATE(129), 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, + [10815] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(159), 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(802), 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, + [10851] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(203), 9, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_, + anon_sym_DQUOTE, + sym_absent, + sym_float_literal, + ACTIONS(804), 17, + 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, + [10886] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(808), 9, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_, + anon_sym_DQUOTE, + sym_absent, + sym_float_literal, + ACTIONS(806), 17, + 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, + [10921] = 3, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(810), 7, + anon_sym_if, + anon_sym_let, + anon_sym_not, + anon_sym_true, + anon_sym_false, + sym_integer_literal, + sym_identifier, + ACTIONS(460), 11, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_, + anon_sym_DQUOTE, + sym_absent, + sym_float_literal, + [10948] = 8, + ACTIONS(812), 1, + anon_sym_DQUOTE, + ACTIONS(814), 1, + anon_sym_BSLASH_LPAREN, + ACTIONS(816), 1, + aux_sym_string_content_token1, + ACTIONS(818), 1, + sym_escape_sequence, + STATE(177), 1, + aux_sym_string_content_repeat1, + STATE(195), 1, + sym_string_content, + STATE(213), 1, + aux_sym_string_interpolation_repeat1, + ACTIONS(820), 2, + sym_line_comment, + sym_block_comment, + [10974] = 6, + ACTIONS(816), 1, + aux_sym_string_content_token1, + ACTIONS(818), 1, + sym_escape_sequence, + STATE(177), 1, + aux_sym_string_content_repeat1, + STATE(233), 1, + sym_string_content, + ACTIONS(820), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(822), 2, + anon_sym_DQUOTE, + anon_sym_BSLASH_LPAREN, + [10995] = 4, + ACTIONS(824), 1, + anon_sym_COMMA, + STATE(168), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(708), 3, + ACTIONS(827), 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, + [11011] = 5, + ACTIONS(812), 1, anon_sym_DQUOTE, - anon_sym_BSLASH_LPAREN, - [9606] = 5, - ACTIONS(692), 1, - anon_sym_DQUOTE, - STATE(156), 1, + STATE(183), 1, aux_sym_string_content_repeat1, - STATE(218), 1, + STATE(259), 1, sym_string_content, - ACTIONS(700), 2, + ACTIONS(820), 2, sym_line_comment, sym_block_comment, - ACTIONS(719), 2, + ACTIONS(829), 2, aux_sym_string_content_token1, sym_escape_sequence, - [9624] = 5, - ACTIONS(723), 1, + [11029] = 5, + ACTIONS(833), 1, + anon_sym_EQ, + ACTIONS(835), 1, + anon_sym_COLON_COLON, + STATE(171), 1, + aux_sym__annotations, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(831), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [11047] = 4, + ACTIONS(837), 1, + anon_sym_COLON_COLON, + STATE(171), 1, + aux_sym__annotations, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(583), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + [11063] = 5, + ACTIONS(835), 1, + anon_sym_COLON_COLON, + ACTIONS(842), 1, + anon_sym_EQ, + STATE(171), 1, + aux_sym__annotations, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(840), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [11081] = 5, + ACTIONS(846), 1, + anon_sym_EQ, + ACTIONS(848), 1, + anon_sym_LPAREN, + STATE(198), 1, + sym__parameters, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(844), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [11099] = 3, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(850), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [11113] = 5, + ACTIONS(856), 1, aux_sym_string_content_token1, - ACTIONS(726), 1, + ACTIONS(859), 1, sym_escape_sequence, - STATE(152), 1, + STATE(175), 1, aux_sym_string_content_repeat1, - ACTIONS(700), 2, + ACTIONS(820), 2, sym_line_comment, sym_block_comment, - ACTIONS(721), 2, + ACTIONS(854), 2, anon_sym_DQUOTE, anon_sym_BSLASH_LPAREN, - [9642] = 5, - ACTIONS(729), 1, + [11131] = 5, + ACTIONS(835), 1, + anon_sym_COLON_COLON, + ACTIONS(864), 1, + anon_sym_EQ, + STATE(170), 1, + aux_sym__annotations, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(862), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [11149] = 5, + ACTIONS(868), 1, + aux_sym_string_content_token1, + ACTIONS(870), 1, + sym_escape_sequence, + STATE(175), 1, + aux_sym_string_content_repeat1, + ACTIONS(820), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(866), 2, + anon_sym_DQUOTE, + anon_sym_BSLASH_LPAREN, + [11167] = 5, + ACTIONS(835), 1, + anon_sym_COLON_COLON, + ACTIONS(874), 1, + anon_sym_EQ, + STATE(172), 1, + aux_sym__annotations, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(872), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [11185] = 5, + ACTIONS(498), 1, anon_sym_elseif, - ACTIONS(732), 1, + ACTIONS(876), 1, anon_sym_else, - ACTIONS(734), 1, + ACTIONS(878), 1, anon_sym_endif, - STATE(153), 1, + STATE(192), 1, aux_sym_if_then_else_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9659] = 2, + [11202] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(708), 4, - anon_sym_RPAREN, + ACTIONS(827), 4, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, - [9670] = 4, - ACTIONS(721), 1, + [11213] = 4, + ACTIONS(854), 1, anon_sym_DQUOTE, - STATE(155), 1, + STATE(181), 1, aux_sym_string_content_repeat1, - ACTIONS(700), 2, + ACTIONS(820), 2, sym_line_comment, sym_block_comment, - ACTIONS(736), 2, + ACTIONS(880), 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, + [11228] = 2, + ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(739), 2, + ACTIONS(518), 4, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + [11239] = 4, + ACTIONS(866), 1, + anon_sym_DQUOTE, + STATE(181), 1, + aux_sym_string_content_repeat1, + ACTIONS(820), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(883), 2, aux_sym_string_content_token1, sym_escape_sequence, - [9700] = 5, - ACTIONS(434), 1, + [11254] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(494), 4, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + [11265] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(885), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COLON_COLON, + [11276] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(524), 4, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + [11287] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(887), 4, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + [11298] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(889), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COLON_COLON, + [11309] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(891), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COLON_COLON, + [11320] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(893), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COLON_COLON, + [11331] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(514), 4, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + [11342] = 5, + ACTIONS(895), 1, anon_sym_elseif, - ACTIONS(741), 1, + ACTIONS(898), 1, anon_sym_else, - ACTIONS(743), 1, + ACTIONS(900), 1, anon_sym_endif, - STATE(153), 1, + STATE(192), 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, + [11359] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(902), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COLON_COLON, + [11370] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(904), 3, + anon_sym_COLON, + anon_sym_COMMA, anon_sym_RPAREN, - STATE(154), 1, - sym_generator, + [11380] = 4, + ACTIONS(906), 1, + anon_sym_DQUOTE, + ACTIONS(908), 1, + anon_sym_BSLASH_LPAREN, + STATE(207), 1, + aux_sym_string_interpolation_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9731] = 4, - ACTIONS(745), 1, + [11394] = 4, + ACTIONS(910), 1, sym_identifier, - ACTIONS(749), 1, - anon_sym_RBRACE, - STATE(154), 1, + ACTIONS(912), 1, + anon_sym_RBRACK, + STATE(180), 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, + [11408] = 4, + ACTIONS(912), 1, + anon_sym_RBRACK, + ACTIONS(914), 1, + anon_sym_COMMA, + STATE(168), 1, + aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [9759] = 3, - ACTIONS(753), 1, + [11422] = 3, + ACTIONS(918), 1, + anon_sym_EQ, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(916), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [11434] = 3, + ACTIONS(920), 1, anon_sym_satisfy, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(755), 2, + ACTIONS(922), 2, anon_sym_maximize, anon_sym_minimize, - [9771] = 4, - ACTIONS(751), 1, - anon_sym_RBRACE, - ACTIONS(757), 1, + [11446] = 4, + ACTIONS(528), 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, - [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(772), 1, + ACTIONS(924), 1, anon_sym_RBRACK, - STATE(183), 1, - aux_sym_array_type_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9839] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(451), 3, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACK, - [9849] = 4, - ACTIONS(774), 1, - anon_sym_COMMA, - ACTIONS(777), 1, - anon_sym_RBRACK, - STATE(168), 1, - aux_sym_array_type_repeat1, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [9863] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(495), 3, - anon_sym_COLON, - anon_sym_COMMA, - 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, - [9887] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(487), 3, - anon_sym_COLON, - anon_sym_COMMA, - 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, - [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, - 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, + STATE(210), 1, aux_sym_indexed_access_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [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, + [11460] = 4, + ACTIONS(926), 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, + ACTIONS(929), 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, + STATE(201), 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, + [11474] = 4, + ACTIONS(931), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [10071] = 4, - ACTIONS(810), 1, - anon_sym_COMMA, - ACTIONS(812), 1, - anon_sym_RBRACE, - STATE(162), 1, + ACTIONS(933), 1, + anon_sym_RPAREN, + STATE(168), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [10085] = 3, - ACTIONS(814), 1, + [11488] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(935), 3, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + [11498] = 3, + ACTIONS(133), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(759), 2, + ACTIONS(937), 2, anon_sym_SEMI, anon_sym_COMMA, - [10097] = 2, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(816), 2, - ts_builtin_sym_end, - 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, - [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, + [11510] = 4, + ACTIONS(910), 1, sym_identifier, - STATE(182), 1, + ACTIONS(939), 1, + anon_sym_RPAREN, + STATE(180), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [10146] = 3, - ACTIONS(824), 1, + [11524] = 4, + ACTIONS(910), 1, + sym_identifier, + ACTIONS(933), 1, + anon_sym_RPAREN, + STATE(180), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11538] = 4, + ACTIONS(908), 1, + anon_sym_BSLASH_LPAREN, + ACTIONS(941), 1, anon_sym_DQUOTE, - STATE(187), 1, + STATE(211), 1, + aux_sym_string_interpolation_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11552] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(943), 3, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + [11562] = 4, + ACTIONS(432), 1, + anon_sym_RBRACK, + ACTIONS(945), 1, + anon_sym_COMMA, + STATE(201), 1, + aux_sym_array_type_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11576] = 4, + ACTIONS(585), 1, + anon_sym_RBRACK, + ACTIONS(947), 1, + anon_sym_COMMA, + STATE(210), 1, + aux_sym_indexed_access_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11590] = 4, + ACTIONS(950), 1, + anon_sym_DQUOTE, + ACTIONS(952), 1, + anon_sym_BSLASH_LPAREN, + STATE(211), 1, + aux_sym_string_interpolation_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11604] = 4, + ACTIONS(955), 1, + anon_sym_COMMA, + ACTIONS(957), 1, + anon_sym_RBRACK, + STATE(209), 1, + aux_sym_array_type_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11618] = 4, + ACTIONS(908), 1, + anon_sym_BSLASH_LPAREN, + ACTIONS(959), 1, + anon_sym_DQUOTE, + STATE(211), 1, + aux_sym_string_interpolation_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11632] = 4, + ACTIONS(961), 1, + anon_sym_COMMA, + ACTIONS(963), 1, + anon_sym_RBRACE, + STATE(168), 1, + aux_sym_array_comprehension_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11646] = 4, + ACTIONS(965), 1, + anon_sym_COMMA, + ACTIONS(967), 1, + anon_sym_RBRACE, + STATE(214), 1, + aux_sym_array_comprehension_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11660] = 3, + ACTIONS(969), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(937), 2, + anon_sym_SEMI, + anon_sym_COMMA, + [11672] = 4, + ACTIONS(971), 1, + anon_sym_COMMA, + ACTIONS(973), 1, + anon_sym_RPAREN, + STATE(202), 1, + aux_sym_array_comprehension_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11686] = 4, + ACTIONS(910), 1, + sym_identifier, + ACTIONS(963), 1, + anon_sym_RBRACE, + STATE(180), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11700] = 4, + ACTIONS(910), 1, + sym_identifier, + ACTIONS(975), 1, + anon_sym_RBRACK, + STATE(180), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11714] = 4, + ACTIONS(195), 1, + anon_sym_RPAREN, + ACTIONS(977), 1, + anon_sym_COLON, + ACTIONS(979), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11728] = 4, + ACTIONS(910), 1, + sym_identifier, + ACTIONS(981), 1, + anon_sym_RBRACE, + STATE(180), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11742] = 4, + ACTIONS(983), 1, + anon_sym_COMMA, + ACTIONS(985), 1, + anon_sym_RBRACK, + STATE(197), 1, + aux_sym_array_comprehension_repeat1, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11756] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(987), 3, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + [11766] = 4, + ACTIONS(979), 1, + anon_sym_COMMA, + ACTIONS(989), 1, + anon_sym_COLON, + ACTIONS(991), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11780] = 3, + ACTIONS(979), 1, + anon_sym_COMMA, + ACTIONS(993), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11791] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(995), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [11800] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(929), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [11809] = 3, + ACTIONS(848), 1, + anon_sym_LPAREN, + STATE(176), 1, + sym__parameters, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11820] = 3, + ACTIONS(997), 1, + anon_sym_DQUOTE, + STATE(235), 1, sym_string_literal, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [10157] = 2, + [11831] = 3, + ACTIONS(129), 1, + ts_builtin_sym_end, + ACTIONS(999), 1, + anon_sym_SEMI, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(826), 2, + [11842] = 3, + ACTIONS(910), 1, + sym_identifier, + STATE(222), 1, + sym_generator, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11853] = 3, + ACTIONS(848), 1, + anon_sym_LPAREN, + STATE(178), 1, + sym__parameters, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11864] = 2, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1001), 2, anon_sym_DQUOTE, anon_sym_BSLASH_LPAREN, - [10166] = 3, - ACTIONS(745), 1, + [11873] = 3, + ACTIONS(910), 1, sym_identifier, - STATE(185), 1, + STATE(215), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [10177] = 2, + [11884] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - ACTIONS(777), 2, + ACTIONS(1003), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + [11893] = 3, + ACTIONS(1005), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [10186] = 3, - ACTIONS(745), 1, + ACTIONS(1007), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11904] = 3, + ACTIONS(910), 1, sym_identifier, - STATE(154), 1, + STATE(180), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [10197] = 3, - ACTIONS(114), 1, - ts_builtin_sym_end, - ACTIONS(820), 1, + [11915] = 3, + ACTIONS(999), 1, anon_sym_SEMI, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [10208] = 2, - ACTIONS(828), 1, - anon_sym_in, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [10216] = 2, - ACTIONS(830), 1, - anon_sym_in, - ACTIONS(3), 2, - sym_line_comment, - sym_block_comment, - [10224] = 2, - ACTIONS(832), 1, + ACTIONS(1009), 1, ts_builtin_sym_end, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [10232] = 2, - ACTIONS(834), 1, - anon_sym_LPAREN, + [11926] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [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, + ACTIONS(937), 2, anon_sym_SEMI, + anon_sym_COMMA, + [11935] = 3, + ACTIONS(1005), 1, + anon_sym_COMMA, + ACTIONS(1011), 1, + anon_sym_RPAREN, 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, + [11946] = 2, + ACTIONS(1013), 1, anon_sym_LBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [10368] = 2, - ACTIONS(798), 1, + [11954] = 2, + ACTIONS(1015), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11962] = 2, + ACTIONS(1017), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11970] = 2, + ACTIONS(1019), 1, + anon_sym_of, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11978] = 2, + ACTIONS(1021), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11986] = 2, + ACTIONS(1023), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [11994] = 2, + ACTIONS(1025), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12002] = 2, + ACTIONS(1027), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12010] = 2, + ACTIONS(1029), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12018] = 2, + ACTIONS(1031), 1, + anon_sym_of, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12026] = 2, + ACTIONS(1033), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12034] = 2, + ACTIONS(999), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12042] = 2, + ACTIONS(1035), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12050] = 2, + ACTIONS(1037), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12058] = 2, + ACTIONS(1039), 1, + ts_builtin_sym_end, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12066] = 2, + ACTIONS(1041), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12074] = 2, + ACTIONS(1005), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12082] = 2, + ACTIONS(1043), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12090] = 2, + ACTIONS(906), 1, anon_sym_DQUOTE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, - [10376] = 2, - ACTIONS(866), 1, + [12098] = 2, + ACTIONS(1045), 1, + anon_sym_of, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12106] = 2, + ACTIONS(1047), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12114] = 2, + ACTIONS(1049), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12122] = 2, + ACTIONS(1051), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12130] = 2, + ACTIONS(1053), 1, + sym_identifier, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12138] = 2, + ACTIONS(1055), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_line_comment, + sym_block_comment, + [12146] = 2, + ACTIONS(1057), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, @@ -10862,218 +12506,265 @@ static uint32_t ts_small_parse_table_map[] = { [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, + [SMALL_STATE(8)] = 413, + [SMALL_STATE(9)] = 511, + [SMALL_STATE(10)] = 609, + [SMALL_STATE(11)] = 701, + [SMALL_STATE(12)] = 757, + [SMALL_STATE(13)] = 846, + [SMALL_STATE(14)] = 899, + [SMALL_STATE(15)] = 966, + [SMALL_STATE(16)] = 1019, + [SMALL_STATE(17)] = 1108, + [SMALL_STATE(18)] = 1179, + [SMALL_STATE(19)] = 1232, + [SMALL_STATE(20)] = 1285, + [SMALL_STATE(21)] = 1358, + [SMALL_STATE(22)] = 1411, + [SMALL_STATE(23)] = 1486, + [SMALL_STATE(24)] = 1539, + [SMALL_STATE(25)] = 1592, + [SMALL_STATE(26)] = 1645, + [SMALL_STATE(27)] = 1728, + [SMALL_STATE(28)] = 1781, + [SMALL_STATE(29)] = 1834, + [SMALL_STATE(30)] = 1921, + [SMALL_STATE(31)] = 1974, + [SMALL_STATE(32)] = 2027, + [SMALL_STATE(33)] = 2082, + [SMALL_STATE(34)] = 2135, + [SMALL_STATE(35)] = 2212, + [SMALL_STATE(36)] = 2265, + [SMALL_STATE(37)] = 2318, + [SMALL_STATE(38)] = 2371, + [SMALL_STATE(39)] = 2430, + [SMALL_STATE(40)] = 2483, + [SMALL_STATE(41)] = 2546, + [SMALL_STATE(42)] = 2599, + [SMALL_STATE(43)] = 2668, + [SMALL_STATE(44)] = 2725, + [SMALL_STATE(45)] = 2778, + [SMALL_STATE(46)] = 2835, + [SMALL_STATE(47)] = 2888, + [SMALL_STATE(48)] = 2941, + [SMALL_STATE(49)] = 2994, + [SMALL_STATE(50)] = 3047, + [SMALL_STATE(51)] = 3100, + [SMALL_STATE(52)] = 3189, + [SMALL_STATE(53)] = 3242, + [SMALL_STATE(54)] = 3295, + [SMALL_STATE(55)] = 3348, + [SMALL_STATE(56)] = 3401, + [SMALL_STATE(57)] = 3454, + [SMALL_STATE(58)] = 3507, + [SMALL_STATE(59)] = 3588, + [SMALL_STATE(60)] = 3674, + [SMALL_STATE(61)] = 3760, + [SMALL_STATE(62)] = 3843, + [SMALL_STATE(63)] = 3926, + [SMALL_STATE(64)] = 4009, + [SMALL_STATE(65)] = 4092, + [SMALL_STATE(66)] = 4175, + [SMALL_STATE(67)] = 4258, + [SMALL_STATE(68)] = 4334, + [SMALL_STATE(69)] = 4407, + [SMALL_STATE(70)] = 4480, + [SMALL_STATE(71)] = 4561, + [SMALL_STATE(72)] = 4632, + [SMALL_STATE(73)] = 4712, + [SMALL_STATE(74)] = 4790, + [SMALL_STATE(75)] = 4874, + [SMALL_STATE(76)] = 4946, + [SMALL_STATE(77)] = 5026, + [SMALL_STATE(78)] = 5106, + [SMALL_STATE(79)] = 5184, + [SMALL_STATE(80)] = 5264, + [SMALL_STATE(81)] = 5342, + [SMALL_STATE(82)] = 5423, + [SMALL_STATE(83)] = 5492, + [SMALL_STATE(84)] = 5535, + [SMALL_STATE(85)] = 5616, + [SMALL_STATE(86)] = 5685, + [SMALL_STATE(87)] = 5754, + [SMALL_STATE(88)] = 5801, + [SMALL_STATE(89)] = 5870, + [SMALL_STATE(90)] = 5939, + [SMALL_STATE(91)] = 6020, + [SMALL_STATE(92)] = 6099, + [SMALL_STATE(93)] = 6177, + [SMALL_STATE(94)] = 6253, + [SMALL_STATE(95)] = 6329, + [SMALL_STATE(96)] = 6405, + [SMALL_STATE(97)] = 6481, + [SMALL_STATE(98)] = 6557, + [SMALL_STATE(99)] = 6633, + [SMALL_STATE(100)] = 6679, + [SMALL_STATE(101)] = 6755, + [SMALL_STATE(102)] = 6831, + [SMALL_STATE(103)] = 6909, + [SMALL_STATE(104)] = 6985, + [SMALL_STATE(105)] = 7063, + [SMALL_STATE(106)] = 7139, + [SMALL_STATE(107)] = 7215, + [SMALL_STATE(108)] = 7293, + [SMALL_STATE(109)] = 7356, + [SMALL_STATE(110)] = 7431, + [SMALL_STATE(111)] = 7494, + [SMALL_STATE(112)] = 7557, + [SMALL_STATE(113)] = 7632, + [SMALL_STATE(114)] = 7695, + [SMALL_STATE(115)] = 7758, + [SMALL_STATE(116)] = 7821, + [SMALL_STATE(117)] = 7884, + [SMALL_STATE(118)] = 7947, + [SMALL_STATE(119)] = 8010, + [SMALL_STATE(120)] = 8085, + [SMALL_STATE(121)] = 8148, + [SMALL_STATE(122)] = 8211, + [SMALL_STATE(123)] = 8286, + [SMALL_STATE(124)] = 8349, + [SMALL_STATE(125)] = 8424, + [SMALL_STATE(126)] = 8487, + [SMALL_STATE(127)] = 8550, + [SMALL_STATE(128)] = 8613, + [SMALL_STATE(129)] = 8676, + [SMALL_STATE(130)] = 8751, + [SMALL_STATE(131)] = 8814, + [SMALL_STATE(132)] = 8877, + [SMALL_STATE(133)] = 8940, + [SMALL_STATE(134)] = 9003, + [SMALL_STATE(135)] = 9066, + [SMALL_STATE(136)] = 9129, + [SMALL_STATE(137)] = 9192, + [SMALL_STATE(138)] = 9255, + [SMALL_STATE(139)] = 9318, + [SMALL_STATE(140)] = 9381, + [SMALL_STATE(141)] = 9444, + [SMALL_STATE(142)] = 9507, + [SMALL_STATE(143)] = 9570, + [SMALL_STATE(144)] = 9633, + [SMALL_STATE(145)] = 9708, + [SMALL_STATE(146)] = 9783, + [SMALL_STATE(147)] = 9846, + [SMALL_STATE(148)] = 9909, + [SMALL_STATE(149)] = 9972, + [SMALL_STATE(150)] = 10035, + [SMALL_STATE(151)] = 10098, + [SMALL_STATE(152)] = 10161, + [SMALL_STATE(153)] = 10224, + [SMALL_STATE(154)] = 10287, + [SMALL_STATE(155)] = 10350, + [SMALL_STATE(156)] = 10413, + [SMALL_STATE(157)] = 10476, + [SMALL_STATE(158)] = 10551, + [SMALL_STATE(159)] = 10626, + [SMALL_STATE(160)] = 10689, + [SMALL_STATE(161)] = 10752, + [SMALL_STATE(162)] = 10815, + [SMALL_STATE(163)] = 10851, + [SMALL_STATE(164)] = 10886, + [SMALL_STATE(165)] = 10921, + [SMALL_STATE(166)] = 10948, + [SMALL_STATE(167)] = 10974, + [SMALL_STATE(168)] = 10995, + [SMALL_STATE(169)] = 11011, + [SMALL_STATE(170)] = 11029, + [SMALL_STATE(171)] = 11047, + [SMALL_STATE(172)] = 11063, + [SMALL_STATE(173)] = 11081, + [SMALL_STATE(174)] = 11099, + [SMALL_STATE(175)] = 11113, + [SMALL_STATE(176)] = 11131, + [SMALL_STATE(177)] = 11149, + [SMALL_STATE(178)] = 11167, + [SMALL_STATE(179)] = 11185, + [SMALL_STATE(180)] = 11202, + [SMALL_STATE(181)] = 11213, + [SMALL_STATE(182)] = 11228, + [SMALL_STATE(183)] = 11239, + [SMALL_STATE(184)] = 11254, + [SMALL_STATE(185)] = 11265, + [SMALL_STATE(186)] = 11276, + [SMALL_STATE(187)] = 11287, + [SMALL_STATE(188)] = 11298, + [SMALL_STATE(189)] = 11309, + [SMALL_STATE(190)] = 11320, + [SMALL_STATE(191)] = 11331, + [SMALL_STATE(192)] = 11342, + [SMALL_STATE(193)] = 11359, + [SMALL_STATE(194)] = 11370, + [SMALL_STATE(195)] = 11380, + [SMALL_STATE(196)] = 11394, + [SMALL_STATE(197)] = 11408, + [SMALL_STATE(198)] = 11422, + [SMALL_STATE(199)] = 11434, + [SMALL_STATE(200)] = 11446, + [SMALL_STATE(201)] = 11460, + [SMALL_STATE(202)] = 11474, + [SMALL_STATE(203)] = 11488, + [SMALL_STATE(204)] = 11498, + [SMALL_STATE(205)] = 11510, + [SMALL_STATE(206)] = 11524, + [SMALL_STATE(207)] = 11538, + [SMALL_STATE(208)] = 11552, + [SMALL_STATE(209)] = 11562, + [SMALL_STATE(210)] = 11576, + [SMALL_STATE(211)] = 11590, + [SMALL_STATE(212)] = 11604, + [SMALL_STATE(213)] = 11618, + [SMALL_STATE(214)] = 11632, + [SMALL_STATE(215)] = 11646, + [SMALL_STATE(216)] = 11660, + [SMALL_STATE(217)] = 11672, + [SMALL_STATE(218)] = 11686, + [SMALL_STATE(219)] = 11700, + [SMALL_STATE(220)] = 11714, + [SMALL_STATE(221)] = 11728, + [SMALL_STATE(222)] = 11742, + [SMALL_STATE(223)] = 11756, + [SMALL_STATE(224)] = 11766, + [SMALL_STATE(225)] = 11780, + [SMALL_STATE(226)] = 11791, + [SMALL_STATE(227)] = 11800, + [SMALL_STATE(228)] = 11809, + [SMALL_STATE(229)] = 11820, + [SMALL_STATE(230)] = 11831, + [SMALL_STATE(231)] = 11842, + [SMALL_STATE(232)] = 11853, + [SMALL_STATE(233)] = 11864, + [SMALL_STATE(234)] = 11873, + [SMALL_STATE(235)] = 11884, + [SMALL_STATE(236)] = 11893, + [SMALL_STATE(237)] = 11904, + [SMALL_STATE(238)] = 11915, + [SMALL_STATE(239)] = 11926, + [SMALL_STATE(240)] = 11935, + [SMALL_STATE(241)] = 11946, + [SMALL_STATE(242)] = 11954, + [SMALL_STATE(243)] = 11962, + [SMALL_STATE(244)] = 11970, + [SMALL_STATE(245)] = 11978, + [SMALL_STATE(246)] = 11986, + [SMALL_STATE(247)] = 11994, + [SMALL_STATE(248)] = 12002, + [SMALL_STATE(249)] = 12010, + [SMALL_STATE(250)] = 12018, + [SMALL_STATE(251)] = 12026, + [SMALL_STATE(252)] = 12034, + [SMALL_STATE(253)] = 12042, + [SMALL_STATE(254)] = 12050, + [SMALL_STATE(255)] = 12058, + [SMALL_STATE(256)] = 12066, + [SMALL_STATE(257)] = 12074, + [SMALL_STATE(258)] = 12082, + [SMALL_STATE(259)] = 12090, + [SMALL_STATE(260)] = 12098, + [SMALL_STATE(261)] = 12106, + [SMALL_STATE(262)] = 12114, + [SMALL_STATE(263)] = 12122, + [SMALL_STATE(264)] = 12130, + [SMALL_STATE(265)] = 12138, + [SMALL_STATE(266)] = 12146, }; static TSParseActionEntry ts_parse_actions[] = { @@ -11081,406 +12772,491 @@ 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(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), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(249), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(244), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(99), + [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(246), + [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(110), + [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(10), + [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(199), + [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(229), + [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(113), + [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(258), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(117), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(82), + [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(120), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(121), + [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(249), + [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(85), + [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(121), + [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(166), + [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(241), + [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(67), + [111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(68), + [114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(187), + [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(244), + [120] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(76), + [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(24), + [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(76), + [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [135] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(11), + [138] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(110), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(117), + [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(82), + [147] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(120), + [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(121), + [153] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(249), + [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(85), + [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), + [161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(121), + [164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(166), + [167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(241), + [170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(67), + [173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(68), + [176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(187), + [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(244), + [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(76), + [185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(24), + [188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(76), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(11), + [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(117), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), + [205] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(82), + [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(120), + [211] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(121), + [214] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(249), + [217] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(85), + [220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(121), + [223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(166), + [226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(241), + [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(67), + [232] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(68), + [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(187), + [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(244), + [241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(76), + [244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(24), + [247] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(76), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 28), + [258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 28), + [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 3, .production_id = 12), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 3, .production_id = 12), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_operator, 3, .production_id = 13), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_operator, 3, .production_id = 13), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 7), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 7), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 7, .production_id = 30), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 7, .production_id = 30), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 7), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 7), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 7), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 7), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 3), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 3), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, .production_id = 9), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, .production_id = 9), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 3), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 3), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 6), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 6), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 8, .production_id = 33), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 8, .production_id = 33), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 6), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 6), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 6), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 6), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexed_access, 5, .production_id = 24), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexed_access, 5, .production_id = 24), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesised_expression, 3), + [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesised_expression, 3), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 5, .production_id = 23), + [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 5, .production_id = 23), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 8), + [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 8), + [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2), + [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4), + [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_operator, 2, .production_id = 3), + [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_operator, 2, .production_id = 3), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 2), + [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 2), + [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 7, .production_id = 31), + [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 7, .production_id = 31), + [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4), + [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4), + [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 5), + [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 5), + [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 22), + [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 22), + [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 5), + [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 5), + [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 5), + [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 5), + [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 4), + [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 4), + [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 4, .production_id = 17), + [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 4, .production_id = 17), + [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexed_access, 4, .production_id = 18), + [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexed_access, 4, .production_id = 18), + [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 9, .production_id = 34), + [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 9, .production_id = 34), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 3), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(11), + [457] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(117), + [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), + [462] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(82), + [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(120), + [468] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(121), + [471] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(249), + [474] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(85), + [477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(121), + [480] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(166), + [483] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(145), + [486] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(24), + [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(145), + [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, .production_id = 4), + [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, .production_id = 4), + [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 5), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [512] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1), + [516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, .production_id = 5), + [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, .production_id = 5), + [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint, 2), + [522] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 3, .production_id = 10), + [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 3, .production_id = 10), + [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, .production_id = 25), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [536] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [538] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [556] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(159), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [563] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [569] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 4), + [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_then_else_repeat1, 4), + [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_predicate, 6, .production_id = 27), + [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 5, .production_id = 19), + [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__annotations, 2), + [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_indexed_access_repeat1, 2), + [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 4, .production_id = 15), + [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 8, .production_id = 32), + [591] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(116), + [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 11), + [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output, 2), + [598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 7, .production_id = 29), + [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_predicate, 5, .production_id = 21), + [604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goal, 3, .production_id = 7), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [634] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), [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), + [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), + [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [702] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), + [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), + [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), + [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [768] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [802] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), + [804] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), + [806] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 4), + [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 4), + [810] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), + [812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(177), + [820] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [822] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_interpolation_repeat1, 3), + [824] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_comprehension_repeat1, 2), SHIFT_REPEAT(237), + [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_comprehension_repeat1, 2), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 6, .production_id = 26), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [837] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__annotations, 2), SHIFT_REPEAT(140), + [840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_predicate, 4, .production_id = 16), + [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 2, .production_id = 1), + [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, .production_id = 14), + [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [854] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), + [856] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(175), + [859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(175), + [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 5, .production_id = 20), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [866] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), + [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175), + [872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_predicate, 3, .production_id = 8), + [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [880] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(181), + [883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 6), + [887] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), + [889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 3), + [891] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 5), + [893] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 2), + [895] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 2), SHIFT_REPEAT(131), + [898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_then_else_repeat1, 2), + [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 2), + [902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 4), + [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_type, 3), + [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3, .production_id = 6), + [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [926] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_type_repeat1, 2), SHIFT_REPEAT(63), + [929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_type_repeat1, 2), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 8), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 7), + [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [947] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_indexed_access_repeat1, 2), SHIFT_REPEAT(149), + [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 2), + [952] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 2), SHIFT_REPEAT(143), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [987] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 6), + [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goal, 2, .production_id = 2), + [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [1001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 4), + [1003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include, 2), + [1005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [1009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [1013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [1029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [1033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [1037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [1039] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [1047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [1053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [1055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [1057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), }; #ifdef __cplusplus