#include #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 11 #define STATE_COUNT 280 #define LARGE_STATE_COUNT 4 #define SYMBOL_COUNT 130 #define ALIAS_COUNT 1 #define TOKEN_COUNT 84 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 19 #define MAX_ALIAS_SEQUENCE_LENGTH 9 enum { sym_identifier = 1, anon_sym_SEMI = 2, 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_set = 69, anon_sym_ann = 70, anon_sym_bool = 71, anon_sym_float = 72, anon_sym_int = 73, anon_sym_string = 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_type_base = 112, sym_primitive_type = 113, sym__literal = 114, sym_array_literal = 115, sym_boolean_literal = 116, sym_set_literal = 117, sym_string_literal = 118, sym_string_content = 119, aux_sym_source_file_repeat1 = 120, aux_sym__parameters_repeat1 = 121, aux_sym_array_comprehension_repeat1 = 122, aux_sym_call_repeat1 = 123, aux_sym_if_then_else_repeat1 = 124, aux_sym_indexed_access_repeat1 = 125, aux_sym_let_expression_repeat1 = 126, aux_sym_string_interpolation_repeat1 = 127, aux_sym_array_type_repeat1 = 128, aux_sym_string_content_repeat1 = 129, anon_alias_sym_content = 130, }; 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_RBRACK] = "]", [anon_sym_in] = "in", [anon_sym_where] = "where", [anon_sym_if] = "if", [anon_sym_then] = "then", [anon_sym_elseif] = "elseif", [anon_sym_else] = "else", [anon_sym_endif] = "endif", [anon_sym_LT_DASH_GT] = "<->", [anon_sym_DASH_GT] = "->", [anon_sym_LT_DASH] = "<-", [anon_sym_BSLASH_SLASH] = "\\/", [anon_sym_xor] = "xor", [anon_sym_SLASH_BSLASH] = "/\\", [anon_sym_EQ_EQ] = "==", [anon_sym_BANG_EQ] = "!=", [anon_sym_LT] = "<", [anon_sym_LT_EQ] = "<=", [anon_sym_GT] = ">", [anon_sym_GT_EQ] = ">=", [anon_sym_subset] = "subset", [anon_sym_superset] = "superset", [anon_sym_union] = "union", [anon_sym_diff] = "diff", [anon_sym_symdiff] = "symdiff", [anon_sym_intersect] = "intersect", [anon_sym_DOT_DOT] = "..", [anon_sym_PLUS] = "+", [anon_sym_DASH] = "-", [anon_sym_PLUS_PLUS] = "++", [anon_sym_STAR] = "*", [anon_sym_SLASH] = "/", [anon_sym_div] = "div", [anon_sym_mod] = "mod", [anon_sym_CARET] = "^", [anon_sym_let] = "let", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_not] = "not", [anon_sym_] = "¬", [anon_sym_DQUOTE] = "\"", [anon_sym_BSLASH_LPAREN] = "\\(", [anon_sym_array] = "array", [anon_sym_of] = "of", [anon_sym_var] = "var", [anon_sym_par] = "par", [anon_sym_opt] = "opt", [anon_sym_set] = "set", [anon_sym_ann] = "ann", [anon_sym_bool] = "bool", [anon_sym_float] = "float", [anon_sym_int] = "int", [anon_sym_string] = "string", [sym_absent] = "absent", [anon_sym_true] = "true", [anon_sym_false] = "false", [sym_float_literal] = "float_literal", [sym_integer_literal] = "integer_literal", [aux_sym_string_content_token1] = "string_content_token1", [sym_escape_sequence] = "escape_sequence", [sym_line_comment] = "line_comment", [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", [sym_call] = "call", [sym_generator_call] = "generator_call", [sym_generator] = "generator", [sym_if_then_else] = "if_then_else", [sym_indexed_access] = "indexed_access", [sym_infix_operator] = "infix_operator", [sym_let_expression] = "let_expression", [sym_prefix_operator] = "prefix_operator", [sym_set_comprehension] = "set_comprehension", [sym_string_interpolation] = "string_interpolation", [sym__type] = "_type", [sym_array_type] = "array_type", [sym_type_base] = "type_base", [sym_primitive_type] = "primitive_type", [sym__literal] = "_literal", [sym_array_literal] = "array_literal", [sym_boolean_literal] = "boolean_literal", [sym_set_literal] = "set_literal", [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", [aux_sym_indexed_access_repeat1] = "indexed_access_repeat1", [aux_sym_let_expression_repeat1] = "let_expression_repeat1", [aux_sym_string_interpolation_repeat1] = "string_interpolation_repeat1", [aux_sym_array_type_repeat1] = "array_type_repeat1", [aux_sym_string_content_repeat1] = "string_content_repeat1", [anon_alias_sym_content] = "content", }; 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_RBRACK] = anon_sym_RBRACK, [anon_sym_in] = anon_sym_in, [anon_sym_where] = anon_sym_where, [anon_sym_if] = anon_sym_if, [anon_sym_then] = anon_sym_then, [anon_sym_elseif] = anon_sym_elseif, [anon_sym_else] = anon_sym_else, [anon_sym_endif] = anon_sym_endif, [anon_sym_LT_DASH_GT] = anon_sym_LT_DASH_GT, [anon_sym_DASH_GT] = anon_sym_DASH_GT, [anon_sym_LT_DASH] = anon_sym_LT_DASH, [anon_sym_BSLASH_SLASH] = anon_sym_BSLASH_SLASH, [anon_sym_xor] = anon_sym_xor, [anon_sym_SLASH_BSLASH] = anon_sym_SLASH_BSLASH, [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, [anon_sym_LT] = anon_sym_LT, [anon_sym_LT_EQ] = anon_sym_LT_EQ, [anon_sym_GT] = anon_sym_GT, [anon_sym_GT_EQ] = anon_sym_GT_EQ, [anon_sym_subset] = anon_sym_subset, [anon_sym_superset] = anon_sym_superset, [anon_sym_union] = anon_sym_union, [anon_sym_diff] = anon_sym_diff, [anon_sym_symdiff] = anon_sym_symdiff, [anon_sym_intersect] = anon_sym_intersect, [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, [anon_sym_PLUS] = anon_sym_PLUS, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, [anon_sym_STAR] = anon_sym_STAR, [anon_sym_SLASH] = anon_sym_SLASH, [anon_sym_div] = anon_sym_div, [anon_sym_mod] = anon_sym_mod, [anon_sym_CARET] = anon_sym_CARET, [anon_sym_let] = anon_sym_let, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_not] = anon_sym_not, [anon_sym_] = anon_sym_, [anon_sym_DQUOTE] = anon_sym_DQUOTE, [anon_sym_BSLASH_LPAREN] = anon_sym_BSLASH_LPAREN, [anon_sym_array] = anon_sym_array, [anon_sym_of] = anon_sym_of, [anon_sym_var] = anon_sym_var, [anon_sym_par] = anon_sym_par, [anon_sym_opt] = anon_sym_opt, [anon_sym_set] = anon_sym_set, [anon_sym_ann] = anon_sym_ann, [anon_sym_bool] = anon_sym_bool, [anon_sym_float] = anon_sym_float, [anon_sym_int] = anon_sym_int, [anon_sym_string] = anon_sym_string, [sym_absent] = sym_absent, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, [sym_float_literal] = sym_float_literal, [sym_integer_literal] = sym_integer_literal, [aux_sym_string_content_token1] = aux_sym_string_content_token1, [sym_escape_sequence] = sym_escape_sequence, [sym_line_comment] = sym_line_comment, [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, [sym_call] = sym_call, [sym_generator_call] = sym_generator_call, [sym_generator] = sym_generator, [sym_if_then_else] = sym_if_then_else, [sym_indexed_access] = sym_indexed_access, [sym_infix_operator] = sym_infix_operator, [sym_let_expression] = sym_let_expression, [sym_prefix_operator] = sym_prefix_operator, [sym_set_comprehension] = sym_set_comprehension, [sym_string_interpolation] = sym_string_interpolation, [sym__type] = sym__type, [sym_array_type] = sym_array_type, [sym_type_base] = sym_type_base, [sym_primitive_type] = sym_primitive_type, [sym__literal] = sym__literal, [sym_array_literal] = sym_array_literal, [sym_boolean_literal] = sym_boolean_literal, [sym_set_literal] = sym_set_literal, [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, [aux_sym_indexed_access_repeat1] = aux_sym_indexed_access_repeat1, [aux_sym_let_expression_repeat1] = aux_sym_let_expression_repeat1, [aux_sym_string_interpolation_repeat1] = aux_sym_string_interpolation_repeat1, [aux_sym_array_type_repeat1] = aux_sym_array_type_repeat1, [aux_sym_string_content_repeat1] = aux_sym_string_content_repeat1, [anon_alias_sym_content] = anon_alias_sym_content, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [sym_identifier] = { .visible = true, .named = true, }, [anon_sym_SEMI] = { .visible = true, .named = false, }, [anon_sym_annotation] = { .visible = true, .named = false, }, [anon_sym_EQ] = { .visible = true, .named = false, }, [anon_sym_constraint] = { .visible = true, .named = false, }, [anon_sym_COLON] = { .visible = true, .named = false, }, [anon_sym_function] = { .visible = true, .named = false, }, [anon_sym_solve] = { .visible = true, .named = false, }, [anon_sym_satisfy] = { .visible = true, .named = false, }, [anon_sym_maximize] = { .visible = true, .named = false, }, [anon_sym_minimize] = { .visible = true, .named = false, }, [anon_sym_include] = { .visible = true, .named = false, }, [anon_sym_output] = { .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, }, [anon_sym_LBRACK] = { .visible = true, .named = false, }, [anon_sym_PIPE] = { .visible = true, .named = false, }, [anon_sym_RBRACK] = { .visible = true, .named = false, }, [anon_sym_in] = { .visible = true, .named = false, }, [anon_sym_where] = { .visible = true, .named = false, }, [anon_sym_if] = { .visible = true, .named = false, }, [anon_sym_then] = { .visible = true, .named = false, }, [anon_sym_elseif] = { .visible = true, .named = false, }, [anon_sym_else] = { .visible = true, .named = false, }, [anon_sym_endif] = { .visible = true, .named = false, }, [anon_sym_LT_DASH_GT] = { .visible = true, .named = false, }, [anon_sym_DASH_GT] = { .visible = true, .named = false, }, [anon_sym_LT_DASH] = { .visible = true, .named = false, }, [anon_sym_BSLASH_SLASH] = { .visible = true, .named = false, }, [anon_sym_xor] = { .visible = true, .named = false, }, [anon_sym_SLASH_BSLASH] = { .visible = true, .named = false, }, [anon_sym_EQ_EQ] = { .visible = true, .named = false, }, [anon_sym_BANG_EQ] = { .visible = true, .named = false, }, [anon_sym_LT] = { .visible = true, .named = false, }, [anon_sym_LT_EQ] = { .visible = true, .named = false, }, [anon_sym_GT] = { .visible = true, .named = false, }, [anon_sym_GT_EQ] = { .visible = true, .named = false, }, [anon_sym_subset] = { .visible = true, .named = false, }, [anon_sym_superset] = { .visible = true, .named = false, }, [anon_sym_union] = { .visible = true, .named = false, }, [anon_sym_diff] = { .visible = true, .named = false, }, [anon_sym_symdiff] = { .visible = true, .named = false, }, [anon_sym_intersect] = { .visible = true, .named = false, }, [anon_sym_DOT_DOT] = { .visible = true, .named = false, }, [anon_sym_PLUS] = { .visible = true, .named = false, }, [anon_sym_DASH] = { .visible = true, .named = false, }, [anon_sym_PLUS_PLUS] = { .visible = true, .named = false, }, [anon_sym_STAR] = { .visible = true, .named = false, }, [anon_sym_SLASH] = { .visible = true, .named = false, }, [anon_sym_div] = { .visible = true, .named = false, }, [anon_sym_mod] = { .visible = true, .named = false, }, [anon_sym_CARET] = { .visible = true, .named = false, }, [anon_sym_let] = { .visible = true, .named = false, }, [anon_sym_LBRACE] = { .visible = true, .named = false, }, [anon_sym_RBRACE] = { .visible = true, .named = false, }, [anon_sym_not] = { .visible = true, .named = false, }, [anon_sym_] = { .visible = true, .named = false, }, [anon_sym_DQUOTE] = { .visible = true, .named = false, }, [anon_sym_BSLASH_LPAREN] = { .visible = true, .named = false, }, [anon_sym_array] = { .visible = true, .named = false, }, [anon_sym_of] = { .visible = true, .named = false, }, [anon_sym_var] = { .visible = true, .named = false, }, [anon_sym_par] = { .visible = true, .named = false, }, [anon_sym_opt] = { .visible = true, .named = false, }, [anon_sym_set] = { .visible = true, .named = false, }, [anon_sym_ann] = { .visible = true, .named = false, }, [anon_sym_bool] = { .visible = true, .named = false, }, [anon_sym_float] = { .visible = true, .named = false, }, [anon_sym_int] = { .visible = true, .named = false, }, [anon_sym_string] = { .visible = true, .named = false, }, [sym_absent] = { .visible = true, .named = true, }, [anon_sym_true] = { .visible = true, .named = false, }, [anon_sym_false] = { .visible = true, .named = false, }, [sym_float_literal] = { .visible = true, .named = true, }, [sym_integer_literal] = { .visible = true, .named = true, }, [aux_sym_string_content_token1] = { .visible = false, .named = false, }, [sym_escape_sequence] = { .visible = true, .named = true, }, [sym_line_comment] = { .visible = true, .named = true, }, [sym_block_comment] = { .visible = true, .named = true, }, [sym_source_file] = { .visible = true, .named = true, }, [sym__item] = { .visible = false, .named = true, }, [sym_annotation] = { .visible = true, .named = true, }, [sym_assignment] = { .visible = true, .named = true, }, [sym_constraint] = { .visible = true, .named = true, }, [sym_declaration] = { .visible = true, .named = true, }, [sym_function_item] = { .visible = true, .named = true, }, [sym_goal] = { .visible = true, .named = true, }, [sym_include] = { .visible = true, .named = true, }, [sym_output] = { .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, }, [sym_parenthesised_expression] = { .visible = true, .named = true, }, [sym_array_comprehension] = { .visible = true, .named = true, }, [sym_call] = { .visible = true, .named = true, }, [sym_generator_call] = { .visible = true, .named = true, }, [sym_generator] = { .visible = true, .named = true, }, [sym_if_then_else] = { .visible = true, .named = true, }, [sym_indexed_access] = { .visible = true, .named = true, }, [sym_infix_operator] = { .visible = true, .named = true, }, [sym_let_expression] = { .visible = true, .named = true, }, [sym_prefix_operator] = { .visible = true, .named = true, }, [sym_set_comprehension] = { .visible = true, .named = true, }, [sym_string_interpolation] = { .visible = true, .named = true, }, [sym__type] = { .visible = false, .named = true, }, [sym_array_type] = { .visible = true, .named = true, }, [sym_type_base] = { .visible = true, .named = true, }, [sym_primitive_type] = { .visible = true, .named = true, }, [sym__literal] = { .visible = false, .named = true, }, [sym_array_literal] = { .visible = true, .named = true, }, [sym_boolean_literal] = { .visible = true, .named = true, }, [sym_set_literal] = { .visible = true, .named = true, }, [sym_string_literal] = { .visible = true, .named = true, }, [sym_string_content] = { .visible = true, .named = true, }, [aux_sym_source_file_repeat1] = { .visible = false, .named = false, }, [aux_sym__parameters_repeat1] = { .visible = false, .named = false, }, [aux_sym_array_comprehension_repeat1] = { .visible = false, .named = false, }, [aux_sym_call_repeat1] = { .visible = false, .named = false, }, [aux_sym_if_then_else_repeat1] = { .visible = false, .named = false, }, [aux_sym_indexed_access_repeat1] = { .visible = false, .named = false, }, [aux_sym_let_expression_repeat1] = { .visible = false, .named = false, }, [aux_sym_string_interpolation_repeat1] = { .visible = false, .named = false, }, [aux_sym_array_type_repeat1] = { .visible = false, .named = false, }, [aux_sym_string_content_repeat1] = { .visible = false, .named = false, }, [anon_alias_sym_content] = { .visible = true, .named = false, }, }; enum { 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_set = 15, field_strategy = 16, field_template = 17, field_type = 18, field_var_par = 19, }; static const char *ts_field_names[] = { [0] = NULL, [field_annotations] = "annotations", [field_arguments] = "arguments", [field_collection] = "collection", [field_expr] = "expr", [field_generators] = "generators", [field_in] = "in", [field_indices] = "indices", [field_left] = "left", [field_let] = "let", [field_name] = "name", [field_operator] = "operator", [field_opt] = "opt", [field_parameters] = "parameters", [field_right] = "right", [field_set] = "set", [field_strategy] = "strategy", [field_template] = "template", [field_type] = "type", [field_var_par] = "var_par", }; static const TSFieldMapSlice ts_field_map_slices[39] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 1}, [3] = {.index = 2, .length = 1}, [4] = {.index = 3, .length = 1}, [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 = 1}, [14] = {.index = 19, .length = 3}, [15] = {.index = 22, .length = 2}, [16] = {.index = 24, .length = 2}, [17] = {.index = 26, .length = 4}, [18] = {.index = 30, .length = 3}, [19] = {.index = 33, .length = 3}, [20] = {.index = 36, .length = 2}, [21] = {.index = 38, .length = 2}, [22] = {.index = 40, .length = 3}, [23] = {.index = 43, .length = 3}, [24] = {.index = 46, .length = 4}, [25] = {.index = 50, .length = 1}, [26] = {.index = 51, .length = 4}, [27] = {.index = 55, .length = 3}, [28] = {.index = 58, .length = 3}, [29] = {.index = 61, .length = 3}, [30] = {.index = 64, .length = 4}, [31] = {.index = 68, .length = 5}, [32] = {.index = 73, .length = 2}, [33] = {.index = 75, .length = 4}, [34] = {.index = 79, .length = 3}, [35] = {.index = 82, .length = 3}, [36] = {.index = 85, .length = 5}, [37] = {.index = 90, .length = 4}, [38] = {.index = 94, .length = 5}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_name, 1}, [1] = {field_strategy, 1}, [2] = {field_operator, 0}, [3] = {field_var_par, 0}, [4] = {field_opt, 0}, [5] = {field_name, 1}, {field_parameters, 2}, [7] = {field_strategy, 1}, {field_strategy, 2}, [9] = {field_name, 1}, {field_parameters, 2}, {field_type, 0}, [12] = {field_opt, 1}, {field_var_par, 0}, [14] = {field_set, 0}, {field_set, 1}, [16] = {field_expr, 2}, {field_name, 0}, [18] = {field_name, 0}, [19] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, [22] = {field_name, 2}, {field_type, 0}, [24] = {field_expr, 3}, {field_name, 1}, [26] = {field_annotations, 3}, {field_name, 1}, {field_parameters, 2}, {field_type, 0}, [30] = {field_set, 1}, {field_set, 2}, {field_var_par, 0}, [33] = {field_opt, 0}, {field_set, 1}, {field_set, 2}, [36] = {field_arguments, 2}, {field_name, 0}, [38] = {field_collection, 0}, {field_indices, 2}, [40] = {field_expr, 4}, {field_name, 1}, {field_parameters, 2}, [43] = {field_name, 3}, {field_parameters, 4}, {field_type, 1}, [46] = {field_expr, 4}, {field_name, 1}, {field_parameters, 2}, {field_type, 0}, [50] = {field_in, 4}, [51] = {field_opt, 1}, {field_set, 2}, {field_set, 3}, {field_var_par, 0}, [55] = {field_arguments, 2}, {field_arguments, 3}, {field_name, 0}, [58] = {field_collection, 0}, {field_indices, 2}, {field_indices, 3}, [61] = {field_expr, 4}, {field_name, 2}, {field_type, 0}, [64] = {field_annotations, 5}, {field_name, 3}, {field_parameters, 4}, {field_type, 1}, [68] = {field_annotations, 3}, {field_expr, 5}, {field_name, 1}, {field_parameters, 2}, {field_type, 0}, [73] = {field_in, 5}, {field_let, 2}, [75] = {field_expr, 6}, {field_name, 3}, {field_parameters, 4}, {field_type, 1}, [79] = {field_in, 6}, {field_let, 2}, {field_let, 3}, [82] = {field_generators, 2}, {field_name, 0}, {field_template, 5}, [85] = {field_annotations, 5}, {field_expr, 7}, {field_name, 3}, {field_parameters, 4}, {field_type, 1}, [90] = {field_generators, 2}, {field_generators, 3}, {field_name, 0}, {field_template, 6}, [94] = {field_generators, 2}, {field_generators, 3}, {field_generators, 4}, {field_name, 0}, {field_template, 7}, }; static TSSymbol ts_alias_sequences[39][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, [9] = { [1] = anon_alias_sym_content, }, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(35); if (lookahead == '!') ADVANCE(13); if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(89); 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(64); if (lookahead == '0') ADVANCE(74); if (lookahead == ':') ADVANCE(38); if (lookahead == ';') ADVANCE(36); if (lookahead == '<') ADVANCE(54); if (lookahead == '=') ADVANCE(37); if (lookahead == '>') ADVANCE(56); if (lookahead == '[') ADVANCE(43); if (lookahead == '\\') ADVANCE(7); if (lookahead == ']') ADVANCE(45); if (lookahead == '^') ADVANCE(65); if (lookahead == '{') ADVANCE(66); if (lookahead == '|') ADVANCE(44); if (lookahead == '}') ADVANCE(67); if (lookahead == 172) ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(32) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(75); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); case 1: if (lookahead == '\n') SKIP(3) if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(84); if (lookahead == '/') ADVANCE(82); if (lookahead == '\\') ADVANCE(8); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(79); if (lookahead != 0) ADVANCE(84); END_STATE(); case 2: if (lookahead == '\n') SKIP(4) if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(84); if (lookahead == '/') ADVANCE(82); if (lookahead == '\\') ADVANCE(15); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(79); if (lookahead != 0) ADVANCE(84); END_STATE(); case 3: if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(89); if (lookahead == '/') ADVANCE(9); if (lookahead == '\\') ADVANCE(5); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(3) END_STATE(); case 4: if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(89); if (lookahead == '/') ADVANCE(9); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(4) END_STATE(); case 5: if (lookahead == '(') ADVANCE(70); END_STATE(); case 6: if (lookahead == '(') ADVANCE(70); if (lookahead == '/') ADVANCE(49); END_STATE(); case 7: if (lookahead == '(') ADVANCE(70); if (lookahead == '/') ADVANCE(49); if (lookahead == 'U') ADVANCE(29); if (lookahead == 'u') ADVANCE(25); if (lookahead == 'x') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); if (lookahead != 0) ADVANCE(85); END_STATE(); case 8: if (lookahead == '(') ADVANCE(70); if (lookahead == 'U') ADVANCE(29); if (lookahead == 'u') ADVANCE(25); if (lookahead == 'x') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); if (lookahead != 0) ADVANCE(85); END_STATE(); case 9: if (lookahead == '*') ADVANCE(30); END_STATE(); case 10: if (lookahead == '*') ADVANCE(31); if (lookahead == '/') ADVANCE(90); if (lookahead != 0) ADVANCE(30); END_STATE(); case 11: if (lookahead == '.') ADVANCE(58); END_STATE(); case 12: if (lookahead == '/') ADVANCE(49); END_STATE(); case 13: if (lookahead == '=') ADVANCE(52); END_STATE(); case 14: if (lookahead == '>') ADVANCE(71); END_STATE(); case 15: if (lookahead == 'U') ADVANCE(29); if (lookahead == 'u') ADVANCE(25); if (lookahead == 'x') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); if (lookahead != 0) ADVANCE(85); END_STATE(); case 16: if (lookahead == '+' || lookahead == '-') ADVANCE(20); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(73); END_STATE(); case 17: if (lookahead == '0' || lookahead == '1') ADVANCE(76); END_STATE(); case 18: if (('0' <= lookahead && lookahead <= '7')) ADVANCE(77); END_STATE(); case 19: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72); END_STATE(); case 20: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(73); END_STATE(); case 21: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(85); END_STATE(); case 22: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); END_STATE(); case 23: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(21); END_STATE(); case 24: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(23); END_STATE(); case 25: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(24); END_STATE(); case 26: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(25); END_STATE(); case 27: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(26); END_STATE(); case 28: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); END_STATE(); case 29: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(28); END_STATE(); case 30: if (lookahead != 0 && lookahead != '*') ADVANCE(30); if (lookahead == '*') ADVANCE(10); END_STATE(); case 31: if (lookahead != 0 && lookahead != '*' && lookahead != '/') ADVANCE(30); if (lookahead == '*') ADVANCE(10); if (lookahead == '/') ADVANCE(91); END_STATE(); case 32: if (eof) ADVANCE(35); if (lookahead == '!') ADVANCE(13); if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(89); 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(64); if (lookahead == '0') ADVANCE(74); if (lookahead == ':') ADVANCE(38); if (lookahead == ';') ADVANCE(36); if (lookahead == '<') ADVANCE(54); if (lookahead == '=') ADVANCE(37); if (lookahead == '>') ADVANCE(56); if (lookahead == '[') ADVANCE(43); if (lookahead == '\\') ADVANCE(6); if (lookahead == ']') ADVANCE(45); if (lookahead == '^') ADVANCE(65); if (lookahead == '{') ADVANCE(66); if (lookahead == '|') ADVANCE(44); if (lookahead == '}') ADVANCE(67); if (lookahead == 172) ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(32) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(75); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); case 33: if (eof) ADVANCE(35); if (lookahead == '!') ADVANCE(13); if (lookahead == '%') ADVANCE(89); 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(64); if (lookahead == ':') ADVANCE(38); if (lookahead == ';') ADVANCE(36); if (lookahead == '<') ADVANCE(53); if (lookahead == '=') ADVANCE(37); if (lookahead == '>') ADVANCE(56); if (lookahead == '[') ADVANCE(43); if (lookahead == '\\') ADVANCE(12); if (lookahead == ']') ADVANCE(45); if (lookahead == '^') ADVANCE(65); if (lookahead == '|') ADVANCE(44); if (lookahead == '}') ADVANCE(67); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(33) if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); case 34: if (eof) ADVANCE(35); if (lookahead == '"') ADVANCE(69); if (lookahead == '%') ADVANCE(89); 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(43); if (lookahead == ']') ADVANCE(45); if (lookahead == '{') ADVANCE(66); if (lookahead == '}') ADVANCE(67); if (lookahead == 172) ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(34) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(75); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); case 35: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 36: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 37: ACCEPT_TOKEN(anon_sym_EQ); if (lookahead == '=') ADVANCE(51); END_STATE(); case 38: ACCEPT_TOKEN(anon_sym_COLON); if (lookahead == ':') ADVANCE(39); END_STATE(); case 39: ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); case 40: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 41: 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_PIPE); END_STATE(); case 45: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 46: ACCEPT_TOKEN(anon_sym_LT_DASH_GT); END_STATE(); case 47: ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); case 48: ACCEPT_TOKEN(anon_sym_LT_DASH); if (lookahead == '>') ADVANCE(46); END_STATE(); case 49: ACCEPT_TOKEN(anon_sym_BSLASH_SLASH); END_STATE(); case 50: ACCEPT_TOKEN(anon_sym_SLASH_BSLASH); END_STATE(); case 51: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 52: ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 53: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '-') ADVANCE(48); if (lookahead == '=') ADVANCE(55); END_STATE(); case 54: 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_LT_EQ); END_STATE(); case 56: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '=') ADVANCE(57); END_STATE(); case 57: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); case 59: ACCEPT_TOKEN(anon_sym_PLUS); if (lookahead == '+') ADVANCE(62); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 61: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '>') ADVANCE(47); END_STATE(); case 62: ACCEPT_TOKEN(anon_sym_PLUS_PLUS); END_STATE(); case 63: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 64: ACCEPT_TOKEN(anon_sym_SLASH); if (lookahead == '*') ADVANCE(30); if (lookahead == '\\') ADVANCE(50); END_STATE(); case 65: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 66: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 67: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 68: ACCEPT_TOKEN(anon_sym_); END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_BSLASH_LPAREN); END_STATE(); case 71: ACCEPT_TOKEN(sym_absent); END_STATE(); case 72: ACCEPT_TOKEN(sym_float_literal); if (lookahead == 'E' || lookahead == 'e') ADVANCE(16); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72); END_STATE(); case 73: ACCEPT_TOKEN(sym_float_literal); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(73); END_STATE(); case 74: ACCEPT_TOKEN(sym_integer_literal); if (lookahead == '.') ADVANCE(19); if (lookahead == 'b') ADVANCE(17); if (lookahead == 'o') ADVANCE(18); if (lookahead == 'x') ADVANCE(22); if (lookahead == 'E' || lookahead == 'e') ADVANCE(16); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(75); END_STATE(); case 75: ACCEPT_TOKEN(sym_integer_literal); if (lookahead == '.') ADVANCE(19); if (lookahead == 'E' || lookahead == 'e') ADVANCE(16); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(75); END_STATE(); case 76: ACCEPT_TOKEN(sym_integer_literal); if (lookahead == '0' || lookahead == '1') ADVANCE(76); END_STATE(); case 77: ACCEPT_TOKEN(sym_integer_literal); if (('0' <= lookahead && lookahead <= '7')) ADVANCE(77); END_STATE(); case 78: ACCEPT_TOKEN(sym_integer_literal); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); END_STATE(); case 79: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead == '%') ADVANCE(84); if (lookahead == '/') ADVANCE(82); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(79); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(84); END_STATE(); case 80: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead == '*') ADVANCE(83); if (lookahead == '/') ADVANCE(81); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(81); END_STATE(); case 81: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead == '*') ADVANCE(83); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(81); END_STATE(); case 82: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead == '*') ADVANCE(81); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(84); END_STATE(); case 83: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead == '*') ADVANCE(80); if (lookahead == '/') ADVANCE(84); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(81); END_STATE(); case 84: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(84); END_STATE(); case 85: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); case 86: ACCEPT_TOKEN(sym_escape_sequence); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(85); END_STATE(); case 87: ACCEPT_TOKEN(sym_escape_sequence); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(86); END_STATE(); case 88: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); case 89: ACCEPT_TOKEN(sym_line_comment); if (lookahead != 0 && lookahead != '\n') ADVANCE(89); END_STATE(); case 90: ACCEPT_TOKEN(sym_block_comment); END_STATE(); case 91: ACCEPT_TOKEN(sym_block_comment); if (lookahead != 0 && lookahead != '*') ADVANCE(30); if (lookahead == '*') ADVANCE(10); END_STATE(); default: return false; } } static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (lookahead == 'a') ADVANCE(1); if (lookahead == 'b') ADVANCE(2); if (lookahead == 'c') ADVANCE(3); if (lookahead == 'd') ADVANCE(4); if (lookahead == 'e') ADVANCE(5); if (lookahead == 'f') ADVANCE(6); if (lookahead == 'i') ADVANCE(7); if (lookahead == 'l') ADVANCE(8); if (lookahead == 'm') ADVANCE(9); if (lookahead == 'n') ADVANCE(10); if (lookahead == 'o') ADVANCE(11); if (lookahead == 'p') ADVANCE(12); if (lookahead == 's') ADVANCE(13); if (lookahead == 't') ADVANCE(14); if (lookahead == 'u') ADVANCE(15); if (lookahead == 'v') ADVANCE(16); if (lookahead == 'w') ADVANCE(17); if (lookahead == 'x') ADVANCE(18); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) END_STATE(); case 1: if (lookahead == 'n') ADVANCE(19); if (lookahead == 'r') ADVANCE(20); END_STATE(); case 2: if (lookahead == 'o') ADVANCE(21); END_STATE(); case 3: if (lookahead == 'o') ADVANCE(22); END_STATE(); case 4: if (lookahead == 'i') ADVANCE(23); END_STATE(); case 5: if (lookahead == 'l') ADVANCE(24); if (lookahead == 'n') ADVANCE(25); END_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(29); if (lookahead == 'n') ADVANCE(30); END_STATE(); case 8: if (lookahead == 'e') ADVANCE(31); END_STATE(); case 9: 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(36); if (lookahead == 'p') ADVANCE(37); if (lookahead == 'u') ADVANCE(38); END_STATE(); case 12: if (lookahead == 'a') ADVANCE(39); if (lookahead == 'r') ADVANCE(40); END_STATE(); case 13: 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 == 'e') ADVANCE(47); if (lookahead == 'h') ADVANCE(48); if (lookahead == 'r') ADVANCE(49); END_STATE(); case 15: if (lookahead == 'n') ADVANCE(50); END_STATE(); case 16: if (lookahead == 'a') ADVANCE(51); END_STATE(); case 17: if (lookahead == 'h') ADVANCE(52); END_STATE(); case 18: if (lookahead == 'o') ADVANCE(53); END_STATE(); 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(58); if (lookahead == 'v') ADVANCE(59); END_STATE(); case 24: if (lookahead == 's') ADVANCE(60); END_STATE(); case 25: if (lookahead == 'd') ADVANCE(61); END_STATE(); case 26: if (lookahead == 'l') ADVANCE(62); END_STATE(); case 27: if (lookahead == 'o') ADVANCE(63); END_STATE(); case 28: if (lookahead == 'n') ADVANCE(64); END_STATE(); case 29: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 30: ACCEPT_TOKEN(anon_sym_in); if (lookahead == 'c') ADVANCE(65); if (lookahead == 't') ADVANCE(66); END_STATE(); case 31: 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: if (lookahead == 't') ADVANCE(71); END_STATE(); case 36: ACCEPT_TOKEN(anon_sym_of); END_STATE(); case 37: if (lookahead == 't') ADVANCE(72); END_STATE(); case 38: if (lookahead == 't') ADVANCE(73); END_STATE(); 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 == 'l') ADVANCE(78); END_STATE(); case 44: if (lookahead == 'r') ADVANCE(79); END_STATE(); case 45: if (lookahead == 'b') ADVANCE(80); if (lookahead == 'p') ADVANCE(81); END_STATE(); case 46: if (lookahead == 'm') ADVANCE(82); END_STATE(); case 47: if (lookahead == 's') ADVANCE(83); END_STATE(); case 48: if (lookahead == 'e') ADVANCE(84); END_STATE(); case 49: if (lookahead == 'u') ADVANCE(85); END_STATE(); case 50: if (lookahead == 'i') ADVANCE(86); END_STATE(); case 51: if (lookahead == 'r') ADVANCE(87); END_STATE(); case 52: if (lookahead == 'e') ADVANCE(88); END_STATE(); case 53: if (lookahead == 'r') ADVANCE(89); END_STATE(); case 54: ACCEPT_TOKEN(anon_sym_ann); if (lookahead == 'o') ADVANCE(90); END_STATE(); case 55: if (lookahead == 'a') ADVANCE(91); END_STATE(); 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: if (lookahead == 's') ADVANCE(97); END_STATE(); case 63: if (lookahead == 'a') ADVANCE(98); END_STATE(); case 64: if (lookahead == 'c') ADVANCE(99); END_STATE(); case 65: if (lookahead == 'l') ADVANCE(100); END_STATE(); case 66: 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: ACCEPT_TOKEN(anon_sym_set); END_STATE(); case 78: if (lookahead == 'v') ADVANCE(107); END_STATE(); case 79: if (lookahead == 'i') ADVANCE(108); END_STATE(); case 80: if (lookahead == 's') ADVANCE(109); END_STATE(); case 81: if (lookahead == 'e') ADVANCE(110); END_STATE(); case 82: if (lookahead == 'd') ADVANCE(111); END_STATE(); case 83: 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: ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 93: if (lookahead == 't') ADVANCE(119); END_STATE(); case 94: ACCEPT_TOKEN(anon_sym_diff); END_STATE(); case 95: ACCEPT_TOKEN(anon_sym_else); if (lookahead == 'i') ADVANCE(120); END_STATE(); case 96: if (lookahead == 'f') ADVANCE(121); END_STATE(); case 97: if (lookahead == 'e') ADVANCE(122); END_STATE(); case 98: if (lookahead == 't') ADVANCE(123); END_STATE(); case 99: if (lookahead == 't') ADVANCE(124); END_STATE(); case 100: if (lookahead == 'u') ADVANCE(125); END_STATE(); case 101: if (lookahead == 'r') ADVANCE(126); END_STATE(); case 102: if (lookahead == 'm') ADVANCE(127); END_STATE(); case 103: if (lookahead == 'm') ADVANCE(128); END_STATE(); case 104: if (lookahead == 'u') ADVANCE(129); END_STATE(); 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 == 'e') ADVANCE(138); END_STATE(); case 117: if (lookahead == 'a') ADVANCE(139); END_STATE(); case 118: ACCEPT_TOKEN(anon_sym_array); END_STATE(); case 119: if (lookahead == 'r') ADVANCE(140); END_STATE(); case 120: if (lookahead == 'f') ADVANCE(141); END_STATE(); case 121: ACCEPT_TOKEN(anon_sym_endif); END_STATE(); case 122: ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 123: ACCEPT_TOKEN(anon_sym_float); END_STATE(); case 124: if (lookahead == 'i') ADVANCE(142); END_STATE(); case 125: if (lookahead == 'd') ADVANCE(143); END_STATE(); case 126: if (lookahead == 's') ADVANCE(144); END_STATE(); case 127: if (lookahead == 'i') ADVANCE(145); END_STATE(); case 128: 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: if (lookahead == 't') ADVANCE(154); END_STATE(); case 140: if (lookahead == 'a') ADVANCE(155); END_STATE(); case 141: ACCEPT_TOKEN(anon_sym_elseif); END_STATE(); case 142: if (lookahead == 'o') ADVANCE(156); END_STATE(); case 143: if (lookahead == 'e') ADVANCE(157); END_STATE(); case 144: if (lookahead == 'e') ADVANCE(158); END_STATE(); case 145: if (lookahead == 'z') ADVANCE(159); END_STATE(); case 146: if (lookahead == 'z') ADVANCE(160); END_STATE(); case 147: ACCEPT_TOKEN(anon_sym_output); END_STATE(); case 148: if (lookahead == 'a') ADVANCE(161); END_STATE(); case 149: if (lookahead == 'y') ADVANCE(162); END_STATE(); case 150: ACCEPT_TOKEN(anon_sym_string); END_STATE(); case 151: ACCEPT_TOKEN(anon_sym_subset); END_STATE(); case 152: 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: return false; } } static TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 34}, [2] = {.lex_state = 34}, [3] = {.lex_state = 34}, [4] = {.lex_state = 34}, [5] = {.lex_state = 34}, [6] = {.lex_state = 34}, [7] = {.lex_state = 34}, [8] = {.lex_state = 34}, [9] = {.lex_state = 34}, [10] = {.lex_state = 34}, [11] = {.lex_state = 34}, [12] = {.lex_state = 34}, [13] = {.lex_state = 34}, [14] = {.lex_state = 33}, [15] = {.lex_state = 33}, [16] = {.lex_state = 33}, [17] = {.lex_state = 33}, [18] = {.lex_state = 33}, [19] = {.lex_state = 33}, [20] = {.lex_state = 33}, [21] = {.lex_state = 33}, [22] = {.lex_state = 33}, [23] = {.lex_state = 33}, [24] = {.lex_state = 33}, [25] = {.lex_state = 33}, [26] = {.lex_state = 33}, [27] = {.lex_state = 33}, [28] = {.lex_state = 33}, [29] = {.lex_state = 33}, [30] = {.lex_state = 33}, [31] = {.lex_state = 33}, [32] = {.lex_state = 33}, [33] = {.lex_state = 33}, [34] = {.lex_state = 33}, [35] = {.lex_state = 33}, [36] = {.lex_state = 33}, [37] = {.lex_state = 33}, [38] = {.lex_state = 33}, [39] = {.lex_state = 33}, [40] = {.lex_state = 34}, [41] = {.lex_state = 33}, [42] = {.lex_state = 33}, [43] = {.lex_state = 33}, [44] = {.lex_state = 33}, [45] = {.lex_state = 34}, [46] = {.lex_state = 33}, [47] = {.lex_state = 33}, [48] = {.lex_state = 33}, [49] = {.lex_state = 33}, [50] = {.lex_state = 33}, [51] = {.lex_state = 33}, [52] = {.lex_state = 33}, [53] = {.lex_state = 33}, [54] = {.lex_state = 33}, [55] = {.lex_state = 33}, [56] = {.lex_state = 33}, [57] = {.lex_state = 33}, [58] = {.lex_state = 33}, [59] = {.lex_state = 33}, [60] = {.lex_state = 33}, [61] = {.lex_state = 33}, [62] = {.lex_state = 33}, [63] = {.lex_state = 33}, [64] = {.lex_state = 34}, [65] = {.lex_state = 34}, [66] = {.lex_state = 34}, [67] = {.lex_state = 34}, [68] = {.lex_state = 34}, [69] = {.lex_state = 34}, [70] = {.lex_state = 34}, [71] = {.lex_state = 34}, [72] = {.lex_state = 34}, [73] = {.lex_state = 34}, [74] = {.lex_state = 33}, [75] = {.lex_state = 33}, [76] = {.lex_state = 34}, [77] = {.lex_state = 33}, [78] = {.lex_state = 33}, [79] = {.lex_state = 33}, [80] = {.lex_state = 33}, [81] = {.lex_state = 33}, [82] = {.lex_state = 33}, [83] = {.lex_state = 33}, [84] = {.lex_state = 33}, [85] = {.lex_state = 33}, [86] = {.lex_state = 33}, [87] = {.lex_state = 33}, [88] = {.lex_state = 34}, [89] = {.lex_state = 33}, [90] = {.lex_state = 33}, [91] = {.lex_state = 34}, [92] = {.lex_state = 33}, [93] = {.lex_state = 34}, [94] = {.lex_state = 34}, [95] = {.lex_state = 34}, [96] = {.lex_state = 34}, [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 = 33}, [105] = {.lex_state = 33}, [106] = {.lex_state = 33}, [107] = {.lex_state = 33}, [108] = {.lex_state = 33}, [109] = {.lex_state = 33}, [110] = {.lex_state = 33}, [111] = {.lex_state = 33}, [112] = {.lex_state = 33}, [113] = {.lex_state = 33}, [114] = {.lex_state = 33}, [115] = {.lex_state = 34}, [116] = {.lex_state = 33}, [117] = {.lex_state = 34}, [118] = {.lex_state = 34}, [119] = {.lex_state = 33}, [120] = {.lex_state = 34}, [121] = {.lex_state = 33}, [122] = {.lex_state = 34}, [123] = {.lex_state = 34}, [124] = {.lex_state = 34}, [125] = {.lex_state = 33}, [126] = {.lex_state = 34}, [127] = {.lex_state = 34}, [128] = {.lex_state = 34}, [129] = {.lex_state = 33}, [130] = {.lex_state = 34}, [131] = {.lex_state = 34}, [132] = {.lex_state = 34}, [133] = {.lex_state = 34}, [134] = {.lex_state = 34}, [135] = {.lex_state = 34}, [136] = {.lex_state = 34}, [137] = {.lex_state = 34}, [138] = {.lex_state = 33}, [139] = {.lex_state = 34}, [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 = 34}, [147] = {.lex_state = 34}, [148] = {.lex_state = 33}, [149] = {.lex_state = 33}, [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 = 34}, [158] = {.lex_state = 34}, [159] = {.lex_state = 34}, [160] = {.lex_state = 34}, [161] = {.lex_state = 34}, [162] = {.lex_state = 34}, [163] = {.lex_state = 33}, [164] = {.lex_state = 34}, [165] = {.lex_state = 34}, [166] = {.lex_state = 34}, [167] = {.lex_state = 33}, [168] = {.lex_state = 34}, [169] = {.lex_state = 34}, [170] = {.lex_state = 34}, [171] = {.lex_state = 34}, [172] = {.lex_state = 34}, [173] = {.lex_state = 1}, [174] = {.lex_state = 1}, [175] = {.lex_state = 0}, [176] = {.lex_state = 2}, [177] = {.lex_state = 0}, [178] = {.lex_state = 1}, [179] = {.lex_state = 0}, [180] = {.lex_state = 0}, [181] = {.lex_state = 0}, [182] = {.lex_state = 0}, [183] = {.lex_state = 0}, [184] = {.lex_state = 0}, [185] = {.lex_state = 1}, [186] = {.lex_state = 0}, [187] = {.lex_state = 0}, [188] = {.lex_state = 2}, [189] = {.lex_state = 0}, [190] = {.lex_state = 2}, [191] = {.lex_state = 0}, [192] = {.lex_state = 0}, [193] = {.lex_state = 0}, [194] = {.lex_state = 0}, [195] = {.lex_state = 0}, [196] = {.lex_state = 0}, [197] = {.lex_state = 0}, [198] = {.lex_state = 0}, [199] = {.lex_state = 0}, [200] = {.lex_state = 0}, [201] = {.lex_state = 0}, [202] = {.lex_state = 0}, [203] = {.lex_state = 0}, [204] = {.lex_state = 0}, [205] = {.lex_state = 0}, [206] = {.lex_state = 0}, [207] = {.lex_state = 0}, [208] = {.lex_state = 0}, [209] = {.lex_state = 0}, [210] = {.lex_state = 0}, [211] = {.lex_state = 0}, [212] = {.lex_state = 0}, [213] = {.lex_state = 0}, [214] = {.lex_state = 0}, [215] = {.lex_state = 0}, [216] = {.lex_state = 0}, [217] = {.lex_state = 0}, [218] = {.lex_state = 0}, [219] = {.lex_state = 0}, [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}, [267] = {.lex_state = 0}, [268] = {.lex_state = 0}, [269] = {.lex_state = 0}, [270] = {.lex_state = 0}, [271] = {.lex_state = 0}, [272] = {.lex_state = 0}, [273] = {.lex_state = 0}, [274] = {.lex_state = 0}, [275] = {.lex_state = 0}, [276] = {.lex_state = 0}, [277] = {.lex_state = 0}, [278] = {.lex_state = 0}, [279] = {.lex_state = 0}, }; static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [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_RBRACK] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_where] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [anon_sym_then] = ACTIONS(1), [anon_sym_elseif] = ACTIONS(1), [anon_sym_else] = ACTIONS(1), [anon_sym_endif] = ACTIONS(1), [anon_sym_LT_DASH_GT] = ACTIONS(1), [anon_sym_DASH_GT] = ACTIONS(1), [anon_sym_LT_DASH] = ACTIONS(1), [anon_sym_BSLASH_SLASH] = ACTIONS(1), [anon_sym_xor] = ACTIONS(1), [anon_sym_SLASH_BSLASH] = ACTIONS(1), [anon_sym_EQ_EQ] = ACTIONS(1), [anon_sym_BANG_EQ] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_subset] = ACTIONS(1), [anon_sym_superset] = ACTIONS(1), [anon_sym_union] = ACTIONS(1), [anon_sym_diff] = ACTIONS(1), [anon_sym_symdiff] = ACTIONS(1), [anon_sym_intersect] = ACTIONS(1), [anon_sym_DOT_DOT] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_PLUS_PLUS] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_SLASH] = ACTIONS(1), [anon_sym_div] = ACTIONS(1), [anon_sym_mod] = ACTIONS(1), [anon_sym_CARET] = ACTIONS(1), [anon_sym_let] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_not] = ACTIONS(1), [anon_sym_] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), [anon_sym_BSLASH_LPAREN] = ACTIONS(1), [anon_sym_array] = ACTIONS(1), [anon_sym_of] = ACTIONS(1), [anon_sym_var] = ACTIONS(1), [anon_sym_par] = ACTIONS(1), [anon_sym_opt] = ACTIONS(1), [anon_sym_set] = ACTIONS(1), [anon_sym_ann] = ACTIONS(1), [anon_sym_bool] = ACTIONS(1), [anon_sym_float] = ACTIONS(1), [anon_sym_int] = ACTIONS(1), [anon_sym_string] = ACTIONS(1), [sym_absent] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), [sym_float_literal] = ACTIONS(1), [sym_integer_literal] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [sym_line_comment] = ACTIONS(3), [sym_block_comment] = ACTIONS(3), }, [1] = { [sym_source_file] = STATE(269), [sym__item] = STATE(242), [sym_annotation] = STATE(242), [sym_assignment] = STATE(242), [sym_constraint] = STATE(242), [sym_declaration] = STATE(242), [sym_function_item] = STATE(242), [sym_goal] = STATE(242), [sym_include] = STATE(242), [sym_output] = STATE(242), [sym_predicate] = STATE(242), [sym__expression] = STATE(79), [sym_parenthesised_expression] = STATE(79), [sym_array_comprehension] = STATE(79), [sym_call] = STATE(79), [sym_generator_call] = STATE(79), [sym_if_then_else] = STATE(79), [sym_indexed_access] = STATE(79), [sym_infix_operator] = STATE(79), [sym_let_expression] = STATE(79), [sym_prefix_operator] = STATE(79), [sym_set_comprehension] = STATE(79), [sym_string_interpolation] = STATE(79), [sym__type] = STATE(276), [sym_array_type] = STATE(276), [sym_type_base] = STATE(276), [sym_primitive_type] = STATE(186), [sym__literal] = STATE(79), [sym_array_literal] = STATE(79), [sym_boolean_literal] = STATE(79), [sym_set_literal] = STATE(79), [sym_string_literal] = STATE(79), [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), [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_set] = ACTIONS(45), [anon_sym_ann] = ACTIONS(47), [anon_sym_bool] = ACTIONS(47), [anon_sym_float] = ACTIONS(47), [anon_sym_int] = ACTIONS(47), [anon_sym_string] = 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(253), [sym_annotation] = STATE(253), [sym_assignment] = STATE(253), [sym_constraint] = STATE(253), [sym_declaration] = STATE(253), [sym_function_item] = STATE(253), [sym_goal] = STATE(253), [sym_include] = STATE(253), [sym_output] = STATE(253), [sym_predicate] = STATE(253), [sym__expression] = STATE(79), [sym_parenthesised_expression] = STATE(79), [sym_array_comprehension] = STATE(79), [sym_call] = STATE(79), [sym_generator_call] = STATE(79), [sym_if_then_else] = STATE(79), [sym_indexed_access] = STATE(79), [sym_infix_operator] = STATE(79), [sym_let_expression] = STATE(79), [sym_prefix_operator] = STATE(79), [sym_set_comprehension] = STATE(79), [sym_string_interpolation] = STATE(79), [sym__type] = STATE(276), [sym_array_type] = STATE(276), [sym_type_base] = STATE(276), [sym_primitive_type] = STATE(186), [sym__literal] = STATE(79), [sym_array_literal] = STATE(79), [sym_boolean_literal] = STATE(79), [sym_set_literal] = STATE(79), [sym_string_literal] = STATE(79), [aux_sym_source_file_repeat1] = STATE(2), [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_set] = ACTIONS(114), [anon_sym_ann] = ACTIONS(117), [anon_sym_bool] = ACTIONS(117), [anon_sym_float] = ACTIONS(117), [anon_sym_int] = ACTIONS(117), [anon_sym_string] = 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(248), [sym_annotation] = STATE(248), [sym_assignment] = STATE(248), [sym_constraint] = STATE(248), [sym_declaration] = STATE(248), [sym_function_item] = STATE(248), [sym_goal] = STATE(248), [sym_include] = STATE(248), [sym_output] = STATE(248), [sym_predicate] = STATE(248), [sym__expression] = STATE(79), [sym_parenthesised_expression] = STATE(79), [sym_array_comprehension] = STATE(79), [sym_call] = STATE(79), [sym_generator_call] = STATE(79), [sym_if_then_else] = STATE(79), [sym_indexed_access] = STATE(79), [sym_infix_operator] = STATE(79), [sym_let_expression] = STATE(79), [sym_prefix_operator] = STATE(79), [sym_set_comprehension] = STATE(79), [sym_string_interpolation] = STATE(79), [sym__type] = STATE(276), [sym_array_type] = STATE(276), [sym_type_base] = STATE(276), [sym_primitive_type] = STATE(186), [sym__literal] = STATE(79), [sym_array_literal] = STATE(79), [sym_boolean_literal] = STATE(79), [sym_set_literal] = STATE(79), [sym_string_literal] = STATE(79), [aux_sym_source_file_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(129), [sym_identifier] = ACTIONS(7), [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_set] = ACTIONS(45), [anon_sym_ann] = ACTIONS(47), [anon_sym_bool] = ACTIONS(47), [anon_sym_float] = ACTIONS(47), [anon_sym_int] = ACTIONS(47), [anon_sym_string] = 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), }, }; static uint16_t ts_small_parse_table[] = { [0] = 25, ACTIONS(11), 1, anon_sym_constraint, 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(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, ACTIONS(133), 1, anon_sym_RBRACE, STATE(5), 1, aux_sym_let_expression_repeat1, STATE(186), 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(228), 2, sym_constraint, sym_declaration, STATE(276), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(47), 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, [104] = 25, ACTIONS(135), 1, sym_identifier, ACTIONS(138), 1, anon_sym_constraint, ACTIONS(141), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_LBRACK, ACTIONS(147), 1, anon_sym_if, ACTIONS(153), 1, anon_sym_let, ACTIONS(156), 1, anon_sym_LBRACE, ACTIONS(159), 1, anon_sym_RBRACE, 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(176), 1, anon_sym_set, ACTIONS(188), 1, sym_integer_literal, STATE(5), 1, aux_sym_let_expression_repeat1, STATE(186), 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(243), 2, sym_constraint, sym_declaration, STATE(276), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(179), 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, [208] = 25, ACTIONS(11), 1, anon_sym_constraint, 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(45), 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(186), 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(211), 2, sym_constraint, sym_declaration, STATE(276), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(47), 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, [312] = 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(45), 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(186), 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(231), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(47), 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, [409] = 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(45), 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(186), 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(210), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(47), 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, [506] = 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_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(235), 1, anon_sym_set, ACTIONS(247), 1, sym_integer_literal, STATE(9), 1, aux_sym__parameters_repeat1, STATE(186), 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(247), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(238), 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, [603] = 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(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, STATE(186), 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(206), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(47), 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, [694] = 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(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, STATE(186), 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(251), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(47), 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, [785] = 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(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, STATE(186), 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(214), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(47), 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, [876] = 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(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, STATE(186), 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(226), 3, sym__type, sym_array_type, sym_type_base, ACTIONS(47), 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, [967] = 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(250), 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, [1023] = 6, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(258), 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(256), 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, [1082] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(268), 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(266), 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, [1135] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(272), 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(270), 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, [1188] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(278), 2, anon_sym_COLON, anon_sym_else, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, ACTIONS(274), 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, [1277] = 5, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(258), 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(256), 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, [1334] = 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_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, [1387] = 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, [1440] = 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, [1493] = 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, [1546] = 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, [1599] = 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, [1652] = 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, [1705] = 18, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(258), 3, anon_sym_COLON, anon_sym_else, anon_sym_LT_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 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), 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, [1788] = 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, [1841] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(258), 2, anon_sym_COLON, anon_sym_else, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 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), 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, [1928] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(342), 2, anon_sym_COLON, anon_sym_else, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, ACTIONS(340), 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, [2017] = 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, [2070] = 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, [2123] = 4, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(258), 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(256), 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, [2178] = 15, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(258), 7, anon_sym_EQ, anon_sym_COLON, anon_sym_in, anon_sym_else, anon_sym_LT_DASH, anon_sym_LT, anon_sym_GT, ACTIONS(256), 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, [2255] = 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, [2308] = 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, [2361] = 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, [2414] = 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, [2467] = 14, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(258), 7, anon_sym_EQ, anon_sym_COLON, anon_sym_in, anon_sym_else, anon_sym_LT_DASH, anon_sym_LT, anon_sym_GT, ACTIONS(256), 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, [2542] = 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(43), 1, anon_sym_opt, ACTIONS(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, ACTIONS(368), 1, anon_sym_RBRACK, STATE(186), 1, sym_primitive_type, STATE(240), 1, sym_type_base, 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(47), 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, [2631] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(372), 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(370), 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, [2684] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(376), 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(374), 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, [2737] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(380), 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(378), 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, [2790] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(384), 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(382), 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, [2843] = 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(43), 1, anon_sym_opt, ACTIONS(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, ACTIONS(386), 1, anon_sym_RBRACK, STATE(186), 1, sym_primitive_type, STATE(240), 1, sym_type_base, 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(47), 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, [2932] = 5, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, 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), 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, [2989] = 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, [3042] = 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, [3095] = 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, [3148] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(406), 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(404), 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, [3201] = 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, [3254] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(414), 2, anon_sym_COLON, anon_sym_else, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, ACTIONS(412), 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, [3343] = 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, [3396] = 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, [3449] = 8, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(258), 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(256), 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, [3512] = 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, [3565] = 17, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(258), 3, anon_sym_COLON, anon_sym_else, anon_sym_LT_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 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), 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, [3646] = 13, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(258), 7, anon_sym_EQ, anon_sym_COLON, anon_sym_in, anon_sym_else, anon_sym_LT_DASH, anon_sym_LT, anon_sym_GT, ACTIONS(256), 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, [3719] = 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, [3772] = 12, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(258), 7, anon_sym_EQ, anon_sym_COLON, anon_sym_in, anon_sym_else, anon_sym_LT_DASH, anon_sym_LT, anon_sym_GT, ACTIONS(256), 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, [3843] = 10, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(258), 7, anon_sym_EQ, anon_sym_COLON, anon_sym_in, anon_sym_else, anon_sym_LT_DASH, anon_sym_LT, anon_sym_GT, ACTIONS(256), 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, [3910] = 11, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(258), 7, anon_sym_EQ, anon_sym_COLON, anon_sym_in, anon_sym_else, anon_sym_LT_DASH, anon_sym_LT, anon_sym_GT, ACTIONS(256), 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, [3979] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(434), 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(432), 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, [4032] = 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(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, STATE(186), 1, sym_primitive_type, STATE(222), 1, sym_type_base, 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(47), 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, [4118] = 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(45), 1, anon_sym_set, ACTIONS(53), 1, sym_integer_literal, ACTIONS(131), 1, sym_identifier, STATE(186), 1, sym_primitive_type, STATE(240), 1, sym_type_base, 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(47), 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, [4204] = 18, 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_opt, ACTIONS(438), 1, anon_sym_set, ACTIONS(442), 1, sym_integer_literal, STATE(194), 1, sym_primitive_type, 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(440), 2, sym_absent, sym_float_literal, ACTIONS(47), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, STATE(86), 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, [4283] = 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(444), 1, anon_sym_set, ACTIONS(448), 1, sym_integer_literal, STATE(193), 1, sym_primitive_type, 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(446), 2, sym_absent, sym_float_literal, ACTIONS(47), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, 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, [4359] = 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(450), 1, anon_sym_set, ACTIONS(454), 1, sym_integer_literal, STATE(191), 1, sym_primitive_type, 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(452), 2, sym_absent, sym_float_literal, ACTIONS(47), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, 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, [4435] = 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(458), 1, sym_integer_literal, STATE(195), 1, sym_primitive_type, 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(456), 2, sym_absent, sym_float_literal, ACTIONS(47), 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, [4508] = 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(462), 1, sym_integer_literal, STATE(202), 1, sym_primitive_type, 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(460), 2, sym_absent, sym_float_literal, ACTIONS(47), 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, [4581] = 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(466), 1, sym_integer_literal, STATE(201), 1, sym_primitive_type, 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(464), 2, sym_absent, sym_float_literal, ACTIONS(47), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, STATE(84), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, sym_call, sym_generator_call, sym_if_then_else, sym_indexed_access, sym_infix_operator, sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, sym__literal, sym_array_literal, sym_boolean_literal, sym_set_literal, sym_string_literal, [4654] = 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(470), 1, sym_integer_literal, STATE(203), 1, sym_primitive_type, 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(468), 2, sym_absent, sym_float_literal, ACTIONS(47), 5, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, 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, [4727] = 16, ACTIONS(472), 1, sym_identifier, ACTIONS(475), 1, anon_sym_LPAREN, ACTIONS(480), 1, anon_sym_LBRACK, ACTIONS(483), 1, anon_sym_if, ACTIONS(489), 1, anon_sym_let, ACTIONS(492), 1, anon_sym_LBRACE, ACTIONS(495), 1, anon_sym_not, ACTIONS(498), 1, anon_sym_DQUOTE, ACTIONS(507), 1, sym_integer_literal, STATE(73), 1, aux_sym_call_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(486), 2, anon_sym_DASH, anon_sym_, ACTIONS(501), 2, sym_absent, sym_float_literal, ACTIONS(504), 2, anon_sym_true, anon_sym_false, ACTIONS(478), 3, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, STATE(116), 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, [4798] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(512), 1, anon_sym_where, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(510), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [4879] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(514), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(516), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [4959] = 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(518), 1, sym_identifier, ACTIONS(520), 1, anon_sym_RPAREN, ACTIONS(524), 1, sym_integer_literal, STATE(93), 1, aux_sym_call_repeat1, STATE(227), 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(522), 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, [5031] = 23, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(526), 1, anon_sym_elseif, ACTIONS(528), 1, anon_sym_else, ACTIONS(530), 1, anon_sym_endif, STATE(197), 1, aux_sym_if_then_else_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5115] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(532), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(534), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5195] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(536), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(538), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5275] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(540), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(542), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5355] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(544), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5433] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(546), 4, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5511] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(548), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(550), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5591] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(552), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(554), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5671] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(556), 4, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5749] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(558), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(560), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5829] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(562), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(564), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [5909] = 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(566), 1, anon_sym_RBRACK, ACTIONS(570), 1, sym_integer_literal, STATE(96), 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(568), 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, [5978] = 22, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(572), 1, anon_sym_COMMA, ACTIONS(574), 1, anon_sym_PIPE, ACTIONS(576), 1, anon_sym_RBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [6059] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(580), 1, anon_sym_else, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(578), 2, anon_sym_elseif, anon_sym_endif, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [6138] = 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(582), 1, anon_sym_RBRACE, ACTIONS(586), 1, sym_integer_literal, STATE(95), 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(584), 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, [6207] = 22, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(588), 1, anon_sym_COMMA, ACTIONS(590), 1, anon_sym_RBRACK, STATE(234), 1, aux_sym_indexed_access_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [6288] = 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(592), 1, anon_sym_RPAREN, ACTIONS(596), 1, sym_integer_literal, STATE(73), 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(594), 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, [6357] = 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(598), 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_set, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, anon_sym_true, anon_sym_false, sym_integer_literal, sym_identifier, [6400] = 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(600), 1, anon_sym_RBRACE, ACTIONS(604), 1, sym_integer_literal, STATE(73), 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(602), 2, sym_absent, sym_float_literal, STATE(102), 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, [6469] = 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(576), 1, anon_sym_RBRACK, ACTIONS(608), 1, sym_integer_literal, STATE(73), 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(606), 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, [6538] = 22, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(572), 1, anon_sym_COMMA, ACTIONS(600), 1, anon_sym_RBRACE, ACTIONS(610), 1, anon_sym_PIPE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [6619] = 5, ACTIONS(254), 1, anon_sym_LPAREN, ACTIONS(612), 1, anon_sym_in, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(252), 7, anon_sym_EQ, anon_sym_LT_DASH, anon_sym_LT, anon_sym_GT, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, ACTIONS(250), 25, anon_sym_COLON_COLON, anon_sym_COMMA, anon_sym_RPAREN, 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, [6666] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(615), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [6742] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(572), 1, anon_sym_COMMA, ACTIONS(592), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [6820] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(572), 1, anon_sym_COMMA, ACTIONS(617), 1, anon_sym_RBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [6898] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(572), 1, anon_sym_COMMA, ACTIONS(619), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [6976] = 21, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(572), 1, anon_sym_COMMA, ACTIONS(621), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7054] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(623), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7130] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(625), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7206] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(627), 2, anon_sym_COMMA, anon_sym_RBRACK, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7282] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(629), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7358] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(631), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7434] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(633), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7510] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(635), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7586] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(637), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7662] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(639), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7738] = 5, ACTIONS(254), 1, anon_sym_LPAREN, ACTIONS(641), 1, anon_sym_EQ, ACTIONS(3), 2, sym_line_comment, sym_block_comment, 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, [7784] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(644), 2, ts_builtin_sym_end, anon_sym_SEMI, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7860] = 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(648), 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(646), 2, sym_absent, sym_float_literal, STATE(27), 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, [7923] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(572), 1, anon_sym_COMMA, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [7998] = 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(77), 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, [8061] = 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(82), 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, [8124] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(658), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [8199] = 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(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, [8262] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(664), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [8337] = 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(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, [8400] = 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(167), 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, [8463] = 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(99), 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, [8526] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(678), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [8601] = 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(682), 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(680), 2, sym_absent, sym_float_literal, STATE(163), 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, [8664] = 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(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, [8727] = 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(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, [8790] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(692), 1, anon_sym_endif, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [8865] = 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(696), 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(694), 2, sym_absent, sym_float_literal, STATE(19), 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, [8928] = 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(700), 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(698), 2, sym_absent, sym_float_literal, STATE(108), 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, [8991] = 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(704), 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(702), 2, sym_absent, sym_float_literal, STATE(149), 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, [9054] = 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(708), 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(706), 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, [9117] = 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(712), 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(710), 2, sym_absent, sym_float_literal, STATE(107), 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, [9180] = 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(716), 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(714), 2, sym_absent, sym_float_literal, 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, [9243] = 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(720), 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(718), 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, [9306] = 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(724), 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(722), 2, sym_absent, sym_float_literal, STATE(148), 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, [9369] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(726), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [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(125), 17, sym__expression, sym_parenthesised_expression, sym_array_comprehension, sym_call, sym_generator_call, sym_if_then_else, sym_indexed_access, sym_infix_operator, sym_let_expression, sym_prefix_operator, sym_set_comprehension, sym_string_interpolation, sym__literal, sym_array_literal, sym_boolean_literal, sym_set_literal, sym_string_literal, [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(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, [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(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, [9633] = 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(742), 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(740), 2, sym_absent, sym_float_literal, STATE(33), 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, [9696] = 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(746), 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(744), 2, sym_absent, sym_float_literal, STATE(110), 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, [9759] = 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(750), 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(748), 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, [9822] = 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(754), 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(752), 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, [9885] = 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(758), 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(756), 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, [9948] = 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(762), 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(760), 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, [10011] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(764), 1, anon_sym_endif, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [10086] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(766), 1, anon_sym_then, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [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(770), 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(768), 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, [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(774), 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(772), 2, sym_absent, sym_float_literal, STATE(30), 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(778), 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(776), 2, sym_absent, sym_float_literal, STATE(15), 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(782), 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(780), 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, [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(786), 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(784), 2, sym_absent, sym_float_literal, STATE(121), 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] = 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(790), 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(788), 2, sym_absent, sym_float_literal, STATE(114), 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, [10539] = 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(794), 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(792), 2, sym_absent, sym_float_literal, STATE(111), 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, [10602] = 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(798), 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(796), 2, sym_absent, sym_float_literal, STATE(55), 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, [10665] = 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(802), 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(800), 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, [10728] = 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(806), 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(804), 2, sym_absent, sym_float_literal, STATE(62), 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, [10791] = 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(810), 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(808), 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, [10854] = 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(814), 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(812), 2, sym_absent, sym_float_literal, STATE(61), 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, [10917] = 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(818), 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(816), 2, sym_absent, sym_float_literal, STATE(60), 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, [10980] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(820), 1, anon_sym_then, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [11055] = 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(824), 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(822), 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, [11118] = 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(828), 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(826), 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, [11181] = 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(832), 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(830), 2, sym_absent, sym_float_literal, STATE(39), 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, [11244] = 20, ACTIONS(260), 1, anon_sym_COLON_COLON, ACTIONS(262), 1, anon_sym_LBRACK, ACTIONS(264), 1, anon_sym_CARET, ACTIONS(284), 1, anon_sym_LT_DASH, ACTIONS(286), 1, anon_sym_SLASH_BSLASH, ACTIONS(290), 1, anon_sym_union, ACTIONS(292), 1, anon_sym_diff, ACTIONS(294), 1, anon_sym_symdiff, ACTIONS(296), 1, anon_sym_intersect, ACTIONS(298), 1, anon_sym_DOT_DOT, ACTIONS(302), 1, anon_sym_PLUS_PLUS, ACTIONS(306), 1, anon_sym_SLASH, ACTIONS(834), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(280), 2, anon_sym_LT_DASH_GT, anon_sym_BSLASH_SLASH, ACTIONS(282), 2, anon_sym_DASH_GT, anon_sym_xor, ACTIONS(300), 2, anon_sym_PLUS, anon_sym_DASH, ACTIONS(304), 3, anon_sym_STAR, anon_sym_div, anon_sym_mod, ACTIONS(276), 4, anon_sym_EQ, anon_sym_in, anon_sym_LT, anon_sym_GT, ACTIONS(288), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_subset, anon_sym_superset, [11319] = 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(838), 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(836), 2, sym_absent, sym_float_literal, STATE(57), 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, [11382] = 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(840), 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_set, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, anon_sym_true, anon_sym_false, sym_integer_literal, sym_identifier, [11418] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(844), 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(842), 17, anon_sym_if, anon_sym_let, anon_sym_not, anon_sym_array, anon_sym_var, anon_sym_par, anon_sym_opt, anon_sym_set, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, anon_sym_true, anon_sym_false, sym_integer_literal, sym_identifier, [11453] = 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(846), 17, anon_sym_if, anon_sym_let, anon_sym_not, anon_sym_array, anon_sym_var, anon_sym_par, anon_sym_opt, anon_sym_set, anon_sym_ann, anon_sym_bool, anon_sym_float, anon_sym_int, anon_sym_string, anon_sym_true, anon_sym_false, sym_integer_literal, sym_identifier, [11488] = 3, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(848), 7, anon_sym_if, anon_sym_let, anon_sym_not, anon_sym_true, anon_sym_false, sym_integer_literal, sym_identifier, ACTIONS(478), 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, [11515] = 8, ACTIONS(850), 1, anon_sym_DQUOTE, ACTIONS(852), 1, anon_sym_BSLASH_LPAREN, ACTIONS(854), 1, aux_sym_string_content_token1, ACTIONS(856), 1, sym_escape_sequence, STATE(178), 1, aux_sym_string_content_repeat1, STATE(208), 1, aux_sym_string_interpolation_repeat1, STATE(213), 1, sym_string_content, ACTIONS(858), 2, sym_line_comment, sym_block_comment, [11541] = 6, ACTIONS(854), 1, aux_sym_string_content_token1, ACTIONS(856), 1, sym_escape_sequence, STATE(178), 1, aux_sym_string_content_repeat1, STATE(237), 1, sym_string_content, ACTIONS(858), 2, sym_line_comment, sym_block_comment, ACTIONS(860), 2, anon_sym_DQUOTE, anon_sym_BSLASH_LPAREN, [11562] = 4, ACTIONS(862), 1, anon_sym_COMMA, STATE(175), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(865), 3, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, [11578] = 5, ACTIONS(850), 1, anon_sym_DQUOTE, STATE(190), 1, aux_sym_string_content_repeat1, STATE(260), 1, sym_string_content, ACTIONS(858), 2, sym_line_comment, sym_block_comment, ACTIONS(867), 2, aux_sym_string_content_token1, sym_escape_sequence, [11596] = 5, ACTIONS(871), 1, anon_sym_EQ, ACTIONS(873), 1, anon_sym_COLON_COLON, STATE(179), 1, aux_sym__annotations, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(869), 2, ts_builtin_sym_end, anon_sym_SEMI, [11614] = 5, ACTIONS(877), 1, aux_sym_string_content_token1, ACTIONS(879), 1, sym_escape_sequence, STATE(185), 1, aux_sym_string_content_repeat1, ACTIONS(858), 2, sym_line_comment, sym_block_comment, ACTIONS(875), 2, anon_sym_DQUOTE, anon_sym_BSLASH_LPAREN, [11632] = 5, ACTIONS(873), 1, anon_sym_COLON_COLON, ACTIONS(883), 1, anon_sym_EQ, STATE(184), 1, aux_sym__annotations, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(881), 2, ts_builtin_sym_end, anon_sym_SEMI, [11650] = 5, ACTIONS(873), 1, anon_sym_COLON_COLON, ACTIONS(887), 1, anon_sym_EQ, STATE(184), 1, aux_sym__annotations, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(885), 2, ts_builtin_sym_end, anon_sym_SEMI, [11668] = 5, ACTIONS(891), 1, anon_sym_EQ, ACTIONS(893), 1, anon_sym_LPAREN, STATE(229), 1, sym__parameters, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(889), 2, ts_builtin_sym_end, anon_sym_SEMI, [11686] = 3, ACTIONS(897), 1, anon_sym_EQ, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(895), 4, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, [11700] = 5, ACTIONS(873), 1, anon_sym_COLON_COLON, ACTIONS(901), 1, anon_sym_EQ, STATE(180), 1, aux_sym__annotations, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(899), 2, ts_builtin_sym_end, anon_sym_SEMI, [11718] = 4, ACTIONS(903), 1, anon_sym_COLON_COLON, STATE(184), 1, aux_sym__annotations, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(625), 3, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_EQ, [11734] = 5, ACTIONS(908), 1, aux_sym_string_content_token1, ACTIONS(911), 1, sym_escape_sequence, STATE(185), 1, aux_sym_string_content_repeat1, ACTIONS(858), 2, sym_line_comment, sym_block_comment, ACTIONS(906), 2, anon_sym_DQUOTE, anon_sym_BSLASH_LPAREN, [11752] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(538), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11763] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(865), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, [11774] = 4, ACTIONS(906), 1, anon_sym_DQUOTE, STATE(188), 1, aux_sym_string_content_repeat1, ACTIONS(858), 2, sym_line_comment, sym_block_comment, ACTIONS(914), 2, aux_sym_string_content_token1, sym_escape_sequence, [11789] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(917), 4, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_EQ, anon_sym_COLON_COLON, [11800] = 4, ACTIONS(875), 1, anon_sym_DQUOTE, STATE(188), 1, aux_sym_string_content_repeat1, ACTIONS(858), 2, sym_line_comment, sym_block_comment, ACTIONS(919), 2, aux_sym_string_content_token1, sym_escape_sequence, [11815] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(564), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11826] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(921), 4, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_EQ, anon_sym_COLON_COLON, [11837] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(542), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11848] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(560), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11859] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(550), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11870] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(923), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11881] = 5, ACTIONS(526), 1, anon_sym_elseif, ACTIONS(925), 1, anon_sym_else, ACTIONS(927), 1, anon_sym_endif, STATE(200), 1, aux_sym_if_then_else_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [11898] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(929), 4, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_EQ, anon_sym_COLON_COLON, [11909] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(931), 4, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_EQ, anon_sym_COLON_COLON, [11920] = 5, ACTIONS(933), 1, anon_sym_elseif, ACTIONS(936), 1, anon_sym_else, ACTIONS(938), 1, anon_sym_endif, STATE(200), 1, aux_sym_if_then_else_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [11937] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(554), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11948] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(516), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11959] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(534), 4, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, [11970] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(940), 4, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_EQ, anon_sym_COLON_COLON, [11981] = 4, ACTIONS(942), 1, anon_sym_COMMA, ACTIONS(944), 1, anon_sym_RBRACK, STATE(225), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [11995] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(946), 3, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, [12005] = 4, ACTIONS(948), 1, sym_identifier, ACTIONS(950), 1, anon_sym_RBRACE, STATE(187), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12019] = 4, ACTIONS(952), 1, anon_sym_DQUOTE, ACTIONS(954), 1, anon_sym_BSLASH_LPAREN, STATE(221), 1, aux_sym_string_interpolation_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12033] = 4, ACTIONS(950), 1, anon_sym_RBRACE, ACTIONS(956), 1, anon_sym_COMMA, STATE(175), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12047] = 4, ACTIONS(958), 1, anon_sym_COLON, ACTIONS(960), 1, anon_sym_COMMA, ACTIONS(962), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12061] = 3, ACTIONS(133), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(964), 2, anon_sym_SEMI, anon_sym_COMMA, [12073] = 3, ACTIONS(966), 1, anon_sym_satisfy, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(968), 2, anon_sym_maximize, anon_sym_minimize, [12085] = 4, ACTIONS(954), 1, anon_sym_BSLASH_LPAREN, ACTIONS(970), 1, anon_sym_DQUOTE, STATE(217), 1, aux_sym_string_interpolation_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12099] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(972), 3, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, [12109] = 4, ACTIONS(974), 1, anon_sym_COMMA, ACTIONS(977), 1, anon_sym_RBRACK, STATE(215), 1, aux_sym_array_type_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12123] = 4, ACTIONS(948), 1, sym_identifier, ACTIONS(979), 1, anon_sym_RPAREN, STATE(187), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12137] = 4, ACTIONS(954), 1, anon_sym_BSLASH_LPAREN, ACTIONS(981), 1, anon_sym_DQUOTE, STATE(221), 1, aux_sym_string_interpolation_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12151] = 4, ACTIONS(948), 1, sym_identifier, ACTIONS(983), 1, anon_sym_RPAREN, STATE(187), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12165] = 4, ACTIONS(368), 1, anon_sym_RBRACK, ACTIONS(985), 1, anon_sym_COMMA, STATE(215), 1, aux_sym_array_type_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12179] = 4, ACTIONS(948), 1, sym_identifier, ACTIONS(987), 1, anon_sym_RBRACK, STATE(187), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12193] = 4, ACTIONS(989), 1, anon_sym_DQUOTE, ACTIONS(991), 1, anon_sym_BSLASH_LPAREN, STATE(221), 1, aux_sym_string_interpolation_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12207] = 4, ACTIONS(994), 1, anon_sym_COMMA, ACTIONS(996), 1, anon_sym_RBRACK, STATE(219), 1, aux_sym_array_type_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12221] = 4, ACTIONS(627), 1, anon_sym_RBRACK, ACTIONS(998), 1, anon_sym_COMMA, STATE(223), 1, aux_sym_indexed_access_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12235] = 4, ACTIONS(1001), 1, anon_sym_COMMA, ACTIONS(1003), 1, anon_sym_RBRACE, STATE(209), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12249] = 4, ACTIONS(987), 1, anon_sym_RBRACK, ACTIONS(1005), 1, anon_sym_COMMA, STATE(175), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12263] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(1007), 3, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, [12273] = 4, ACTIONS(1009), 1, anon_sym_COMMA, ACTIONS(1011), 1, anon_sym_RPAREN, STATE(230), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12287] = 3, ACTIONS(1013), 1, anon_sym_RBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(964), 2, anon_sym_SEMI, anon_sym_COMMA, [12299] = 3, ACTIONS(1017), 1, anon_sym_EQ, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(1015), 2, ts_builtin_sym_end, anon_sym_SEMI, [12311] = 4, ACTIONS(979), 1, anon_sym_RPAREN, ACTIONS(1019), 1, anon_sym_COMMA, STATE(175), 1, aux_sym_array_comprehension_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12325] = 4, ACTIONS(195), 1, anon_sym_RPAREN, ACTIONS(960), 1, anon_sym_COMMA, ACTIONS(1021), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12339] = 4, ACTIONS(948), 1, sym_identifier, ACTIONS(1023), 1, anon_sym_RBRACK, STATE(187), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12353] = 4, ACTIONS(948), 1, sym_identifier, ACTIONS(1025), 1, anon_sym_RBRACE, STATE(187), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12367] = 4, ACTIONS(588), 1, anon_sym_COMMA, ACTIONS(1027), 1, anon_sym_RBRACK, STATE(223), 1, aux_sym_indexed_access_repeat1, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12381] = 3, ACTIONS(1029), 1, anon_sym_COMMA, ACTIONS(1031), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12392] = 3, ACTIONS(893), 1, anon_sym_LPAREN, STATE(177), 1, sym__parameters, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12403] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(1033), 2, anon_sym_DQUOTE, anon_sym_BSLASH_LPAREN, [12412] = 3, ACTIONS(948), 1, sym_identifier, STATE(205), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12423] = 3, ACTIONS(948), 1, sym_identifier, STATE(224), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12434] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(977), 2, anon_sym_COMMA, anon_sym_RBRACK, [12443] = 3, ACTIONS(1035), 1, anon_sym_DQUOTE, STATE(245), 1, sym_string_literal, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12454] = 3, ACTIONS(129), 1, ts_builtin_sym_end, ACTIONS(1037), 1, anon_sym_SEMI, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12465] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(964), 2, anon_sym_SEMI, anon_sym_COMMA, [12474] = 3, ACTIONS(893), 1, anon_sym_LPAREN, STATE(183), 1, sym__parameters, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12485] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(1039), 2, ts_builtin_sym_end, anon_sym_SEMI, [12494] = 3, ACTIONS(1029), 1, anon_sym_COMMA, ACTIONS(1041), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12505] = 3, ACTIONS(960), 1, anon_sym_COMMA, ACTIONS(1043), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12516] = 3, ACTIONS(1037), 1, anon_sym_SEMI, ACTIONS(1045), 1, ts_builtin_sym_end, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12527] = 2, ACTIONS(3), 2, sym_line_comment, sym_block_comment, ACTIONS(1047), 2, ts_builtin_sym_end, anon_sym_SEMI, [12536] = 3, ACTIONS(948), 1, sym_identifier, STATE(187), 1, sym_generator, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12547] = 2, ACTIONS(1049), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12555] = 2, ACTIONS(1051), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12563] = 2, ACTIONS(1037), 1, anon_sym_SEMI, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12571] = 2, ACTIONS(1053), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12579] = 2, ACTIONS(1055), 1, anon_sym_in, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12587] = 2, ACTIONS(1057), 1, anon_sym_in, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12595] = 2, ACTIONS(1059), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12603] = 2, ACTIONS(1061), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12611] = 2, ACTIONS(1063), 1, anon_sym_LBRACK, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12619] = 2, ACTIONS(970), 1, anon_sym_DQUOTE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12627] = 2, ACTIONS(1065), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12635] = 2, ACTIONS(1067), 1, anon_sym_LBRACE, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12643] = 2, ACTIONS(1069), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12651] = 2, ACTIONS(1071), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12659] = 2, ACTIONS(1073), 1, anon_sym_in, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12667] = 2, ACTIONS(1075), 1, anon_sym_LPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12675] = 2, ACTIONS(1077), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12683] = 2, ACTIONS(1079), 1, anon_sym_in, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12691] = 2, ACTIONS(1081), 1, ts_builtin_sym_end, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12699] = 2, ACTIONS(1029), 1, anon_sym_COMMA, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12707] = 2, ACTIONS(1083), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12715] = 2, ACTIONS(1085), 1, anon_sym_LPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12723] = 2, ACTIONS(1087), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12731] = 2, ACTIONS(1089), 1, anon_sym_LPAREN, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12739] = 2, ACTIONS(1091), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12747] = 2, ACTIONS(1093), 1, anon_sym_COLON, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12755] = 2, ACTIONS(1095), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12763] = 2, ACTIONS(1097), 1, anon_sym_of, ACTIONS(3), 2, sym_line_comment, sym_block_comment, [12771] = 2, ACTIONS(1099), 1, sym_identifier, ACTIONS(3), 2, sym_line_comment, sym_block_comment, }; static uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(4)] = 0, [SMALL_STATE(5)] = 104, [SMALL_STATE(6)] = 208, [SMALL_STATE(7)] = 312, [SMALL_STATE(8)] = 409, [SMALL_STATE(9)] = 506, [SMALL_STATE(10)] = 603, [SMALL_STATE(11)] = 694, [SMALL_STATE(12)] = 785, [SMALL_STATE(13)] = 876, [SMALL_STATE(14)] = 967, [SMALL_STATE(15)] = 1023, [SMALL_STATE(16)] = 1082, [SMALL_STATE(17)] = 1135, [SMALL_STATE(18)] = 1188, [SMALL_STATE(19)] = 1277, [SMALL_STATE(20)] = 1334, [SMALL_STATE(21)] = 1387, [SMALL_STATE(22)] = 1440, [SMALL_STATE(23)] = 1493, [SMALL_STATE(24)] = 1546, [SMALL_STATE(25)] = 1599, [SMALL_STATE(26)] = 1652, [SMALL_STATE(27)] = 1705, [SMALL_STATE(28)] = 1788, [SMALL_STATE(29)] = 1841, [SMALL_STATE(30)] = 1928, [SMALL_STATE(31)] = 2017, [SMALL_STATE(32)] = 2070, [SMALL_STATE(33)] = 2123, [SMALL_STATE(34)] = 2178, [SMALL_STATE(35)] = 2255, [SMALL_STATE(36)] = 2308, [SMALL_STATE(37)] = 2361, [SMALL_STATE(38)] = 2414, [SMALL_STATE(39)] = 2467, [SMALL_STATE(40)] = 2542, [SMALL_STATE(41)] = 2631, [SMALL_STATE(42)] = 2684, [SMALL_STATE(43)] = 2737, [SMALL_STATE(44)] = 2790, [SMALL_STATE(45)] = 2843, [SMALL_STATE(46)] = 2932, [SMALL_STATE(47)] = 2989, [SMALL_STATE(48)] = 3042, [SMALL_STATE(49)] = 3095, [SMALL_STATE(50)] = 3148, [SMALL_STATE(51)] = 3201, [SMALL_STATE(52)] = 3254, [SMALL_STATE(53)] = 3343, [SMALL_STATE(54)] = 3396, [SMALL_STATE(55)] = 3449, [SMALL_STATE(56)] = 3512, [SMALL_STATE(57)] = 3565, [SMALL_STATE(58)] = 3646, [SMALL_STATE(59)] = 3719, [SMALL_STATE(60)] = 3772, [SMALL_STATE(61)] = 3843, [SMALL_STATE(62)] = 3910, [SMALL_STATE(63)] = 3979, [SMALL_STATE(64)] = 4032, [SMALL_STATE(65)] = 4118, [SMALL_STATE(66)] = 4204, [SMALL_STATE(67)] = 4283, [SMALL_STATE(68)] = 4359, [SMALL_STATE(69)] = 4435, [SMALL_STATE(70)] = 4508, [SMALL_STATE(71)] = 4581, [SMALL_STATE(72)] = 4654, [SMALL_STATE(73)] = 4727, [SMALL_STATE(74)] = 4798, [SMALL_STATE(75)] = 4879, [SMALL_STATE(76)] = 4959, [SMALL_STATE(77)] = 5031, [SMALL_STATE(78)] = 5115, [SMALL_STATE(79)] = 5195, [SMALL_STATE(80)] = 5275, [SMALL_STATE(81)] = 5355, [SMALL_STATE(82)] = 5433, [SMALL_STATE(83)] = 5511, [SMALL_STATE(84)] = 5591, [SMALL_STATE(85)] = 5671, [SMALL_STATE(86)] = 5749, [SMALL_STATE(87)] = 5829, [SMALL_STATE(88)] = 5909, [SMALL_STATE(89)] = 5978, [SMALL_STATE(90)] = 6059, [SMALL_STATE(91)] = 6138, [SMALL_STATE(92)] = 6207, [SMALL_STATE(93)] = 6288, [SMALL_STATE(94)] = 6357, [SMALL_STATE(95)] = 6400, [SMALL_STATE(96)] = 6469, [SMALL_STATE(97)] = 6538, [SMALL_STATE(98)] = 6619, [SMALL_STATE(99)] = 6666, [SMALL_STATE(100)] = 6742, [SMALL_STATE(101)] = 6820, [SMALL_STATE(102)] = 6898, [SMALL_STATE(103)] = 6976, [SMALL_STATE(104)] = 7054, [SMALL_STATE(105)] = 7130, [SMALL_STATE(106)] = 7206, [SMALL_STATE(107)] = 7282, [SMALL_STATE(108)] = 7358, [SMALL_STATE(109)] = 7434, [SMALL_STATE(110)] = 7510, [SMALL_STATE(111)] = 7586, [SMALL_STATE(112)] = 7662, [SMALL_STATE(113)] = 7738, [SMALL_STATE(114)] = 7784, [SMALL_STATE(115)] = 7860, [SMALL_STATE(116)] = 7923, [SMALL_STATE(117)] = 7998, [SMALL_STATE(118)] = 8061, [SMALL_STATE(119)] = 8124, [SMALL_STATE(120)] = 8199, [SMALL_STATE(121)] = 8262, [SMALL_STATE(122)] = 8337, [SMALL_STATE(123)] = 8400, [SMALL_STATE(124)] = 8463, [SMALL_STATE(125)] = 8526, [SMALL_STATE(126)] = 8601, [SMALL_STATE(127)] = 8664, [SMALL_STATE(128)] = 8727, [SMALL_STATE(129)] = 8790, [SMALL_STATE(130)] = 8865, [SMALL_STATE(131)] = 8928, [SMALL_STATE(132)] = 8991, [SMALL_STATE(133)] = 9054, [SMALL_STATE(134)] = 9117, [SMALL_STATE(135)] = 9180, [SMALL_STATE(136)] = 9243, [SMALL_STATE(137)] = 9306, [SMALL_STATE(138)] = 9369, [SMALL_STATE(139)] = 9444, [SMALL_STATE(140)] = 9507, [SMALL_STATE(141)] = 9570, [SMALL_STATE(142)] = 9633, [SMALL_STATE(143)] = 9696, [SMALL_STATE(144)] = 9759, [SMALL_STATE(145)] = 9822, [SMALL_STATE(146)] = 9885, [SMALL_STATE(147)] = 9948, [SMALL_STATE(148)] = 10011, [SMALL_STATE(149)] = 10086, [SMALL_STATE(150)] = 10161, [SMALL_STATE(151)] = 10224, [SMALL_STATE(152)] = 10287, [SMALL_STATE(153)] = 10350, [SMALL_STATE(154)] = 10413, [SMALL_STATE(155)] = 10476, [SMALL_STATE(156)] = 10539, [SMALL_STATE(157)] = 10602, [SMALL_STATE(158)] = 10665, [SMALL_STATE(159)] = 10728, [SMALL_STATE(160)] = 10791, [SMALL_STATE(161)] = 10854, [SMALL_STATE(162)] = 10917, [SMALL_STATE(163)] = 10980, [SMALL_STATE(164)] = 11055, [SMALL_STATE(165)] = 11118, [SMALL_STATE(166)] = 11181, [SMALL_STATE(167)] = 11244, [SMALL_STATE(168)] = 11319, [SMALL_STATE(169)] = 11382, [SMALL_STATE(170)] = 11418, [SMALL_STATE(171)] = 11453, [SMALL_STATE(172)] = 11488, [SMALL_STATE(173)] = 11515, [SMALL_STATE(174)] = 11541, [SMALL_STATE(175)] = 11562, [SMALL_STATE(176)] = 11578, [SMALL_STATE(177)] = 11596, [SMALL_STATE(178)] = 11614, [SMALL_STATE(179)] = 11632, [SMALL_STATE(180)] = 11650, [SMALL_STATE(181)] = 11668, [SMALL_STATE(182)] = 11686, [SMALL_STATE(183)] = 11700, [SMALL_STATE(184)] = 11718, [SMALL_STATE(185)] = 11734, [SMALL_STATE(186)] = 11752, [SMALL_STATE(187)] = 11763, [SMALL_STATE(188)] = 11774, [SMALL_STATE(189)] = 11789, [SMALL_STATE(190)] = 11800, [SMALL_STATE(191)] = 11815, [SMALL_STATE(192)] = 11826, [SMALL_STATE(193)] = 11837, [SMALL_STATE(194)] = 11848, [SMALL_STATE(195)] = 11859, [SMALL_STATE(196)] = 11870, [SMALL_STATE(197)] = 11881, [SMALL_STATE(198)] = 11898, [SMALL_STATE(199)] = 11909, [SMALL_STATE(200)] = 11920, [SMALL_STATE(201)] = 11937, [SMALL_STATE(202)] = 11948, [SMALL_STATE(203)] = 11959, [SMALL_STATE(204)] = 11970, [SMALL_STATE(205)] = 11981, [SMALL_STATE(206)] = 11995, [SMALL_STATE(207)] = 12005, [SMALL_STATE(208)] = 12019, [SMALL_STATE(209)] = 12033, [SMALL_STATE(210)] = 12047, [SMALL_STATE(211)] = 12061, [SMALL_STATE(212)] = 12073, [SMALL_STATE(213)] = 12085, [SMALL_STATE(214)] = 12099, [SMALL_STATE(215)] = 12109, [SMALL_STATE(216)] = 12123, [SMALL_STATE(217)] = 12137, [SMALL_STATE(218)] = 12151, [SMALL_STATE(219)] = 12165, [SMALL_STATE(220)] = 12179, [SMALL_STATE(221)] = 12193, [SMALL_STATE(222)] = 12207, [SMALL_STATE(223)] = 12221, [SMALL_STATE(224)] = 12235, [SMALL_STATE(225)] = 12249, [SMALL_STATE(226)] = 12263, [SMALL_STATE(227)] = 12273, [SMALL_STATE(228)] = 12287, [SMALL_STATE(229)] = 12299, [SMALL_STATE(230)] = 12311, [SMALL_STATE(231)] = 12325, [SMALL_STATE(232)] = 12339, [SMALL_STATE(233)] = 12353, [SMALL_STATE(234)] = 12367, [SMALL_STATE(235)] = 12381, [SMALL_STATE(236)] = 12392, [SMALL_STATE(237)] = 12403, [SMALL_STATE(238)] = 12412, [SMALL_STATE(239)] = 12423, [SMALL_STATE(240)] = 12434, [SMALL_STATE(241)] = 12443, [SMALL_STATE(242)] = 12454, [SMALL_STATE(243)] = 12465, [SMALL_STATE(244)] = 12474, [SMALL_STATE(245)] = 12485, [SMALL_STATE(246)] = 12494, [SMALL_STATE(247)] = 12505, [SMALL_STATE(248)] = 12516, [SMALL_STATE(249)] = 12527, [SMALL_STATE(250)] = 12536, [SMALL_STATE(251)] = 12547, [SMALL_STATE(252)] = 12555, [SMALL_STATE(253)] = 12563, [SMALL_STATE(254)] = 12571, [SMALL_STATE(255)] = 12579, [SMALL_STATE(256)] = 12587, [SMALL_STATE(257)] = 12595, [SMALL_STATE(258)] = 12603, [SMALL_STATE(259)] = 12611, [SMALL_STATE(260)] = 12619, [SMALL_STATE(261)] = 12627, [SMALL_STATE(262)] = 12635, [SMALL_STATE(263)] = 12643, [SMALL_STATE(264)] = 12651, [SMALL_STATE(265)] = 12659, [SMALL_STATE(266)] = 12667, [SMALL_STATE(267)] = 12675, [SMALL_STATE(268)] = 12683, [SMALL_STATE(269)] = 12691, [SMALL_STATE(270)] = 12699, [SMALL_STATE(271)] = 12707, [SMALL_STATE(272)] = 12715, [SMALL_STATE(273)] = 12723, [SMALL_STATE(274)] = 12731, [SMALL_STATE(275)] = 12739, [SMALL_STATE(276)] = 12747, [SMALL_STATE(277)] = 12755, [SMALL_STATE(278)] = 12763, [SMALL_STATE(279)] = 12771, }; static TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [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(113), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212), [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241), [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(257), [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196), [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), [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(113), [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(275), [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(118), [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(11), [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(212), [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(241), [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(120), [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(271), [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(123), [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(88), [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(126), [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(127), [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(262), [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(91), [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(127), [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(173), [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(259), [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(66), [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(257), [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(196), [120] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(79), [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(26), [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(79), [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), [135] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(14), [138] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(118), [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(123), [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(88), [147] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(126), [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(127), [153] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(262), [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(91), [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(127), [164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(173), [167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(259), [170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(66), [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(257), [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(196), [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(79), [185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(26), [188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), SHIFT_REPEAT(79), [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), [197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(14), [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(123), [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(88), [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(126), [211] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(127), [214] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(262), [217] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(91), [220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(127), [223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(173), [226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(259), [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(66), [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(257), [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(196), [241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(79), [244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(26), [247] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(79), [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(76), [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_operator, 3, .production_id = 14), [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_operator, 3, .production_id = 14), [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 3, .production_id = 13), [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 3, .production_id = 13), [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 7), [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 7), [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 7, .production_id = 34), [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 7, .production_id = 34), [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157), [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), [306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 7), [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 7), [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 7), [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 7), [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4), [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4), [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 7, .production_id = 35), [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 7, .production_id = 35), [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4), [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4), [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 4), [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 4), [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1), [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_let_expression, 6, .production_id = 32), [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 32), [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_string_interpolation, 3), [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 3), [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexed_access, 5, .production_id = 28), [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexed_access, 5, .production_id = 28), [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, .production_id = 9), [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, .production_id = 9), [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 5, .production_id = 27), [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 5, .production_id = 27), [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 3), [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 3), [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2), [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2), [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 8, .production_id = 37), [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 8, .production_id = 37), [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 8), [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 8), [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_operator, 2, .production_id = 3), [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_operator, 2, .production_id = 3), [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 2), [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 2), [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 4, .production_id = 20), [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 4, .production_id = 20), [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3), [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3), [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 5), [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 5), [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 25), [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 25), [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_then_else, 5), [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_then_else, 5), [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexed_access, 4, .production_id = 21), [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexed_access, 4, .production_id = 21), [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_comprehension, 5), [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_comprehension, 5), [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesised_expression, 3), [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesised_expression, 3), [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_call, 9, .production_id = 38), [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_call, 9, .production_id = 38), [436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), [438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(264), [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), [448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), [450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278), [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), [454] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), [458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), [462] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), [466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), [470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), [472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(14), [475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(123), [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), [480] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(88), [483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(126), [486] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(127), [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(262), [492] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(91), [495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(127), [498] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(173), [501] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(116), [504] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(26), [507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), SHIFT_REPEAT(116), [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 3), [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), [514] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_base, 5, .production_id = 26), [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_base, 5, .production_id = 26), [518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), [524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), [528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), [532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_base, 4, .production_id = 19), [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_base, 4, .production_id = 19), [536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_base, 1), [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_base, 1), [540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_base, 3, .production_id = 10), [542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_base, 3, .production_id = 10), [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 5), [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint, 2), [548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_base, 3, .production_id = 11), [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_base, 3, .production_id = 11), [552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_base, 4, .production_id = 18), [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_base, 4, .production_id = 18), [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, .production_id = 29), [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_base, 2, .production_id = 4), [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_base, 2, .production_id = 4), [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_base, 2, .production_id = 5), [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_base, 2, .production_id = 5), [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), [570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 4), [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_then_else_repeat1, 4), [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), [586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), [596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), [598] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), [608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), [612] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(160), [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 12), [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output, 2), [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__annotations, 2), [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_indexed_access_repeat1, 2), [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 8, .production_id = 36), [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_predicate, 6, .production_id = 31), [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_predicate, 5, .production_id = 24), [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 5, .production_id = 22), [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goal, 3, .production_id = 7), [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 4, .production_id = 16), [641] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(124), [644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 7, .production_id = 33), [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), [648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), [652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), [656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), [662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), [668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), [672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), [676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), [682] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), [686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), [690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), [696] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), [700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), [704] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), [708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), [712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), [716] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), [720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), [724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), [734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), [746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), [754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), [758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), [762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), [764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), [770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), [774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), [778] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), [782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), [786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), [794] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), [798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), [802] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), [806] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), [810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), [818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), [824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), [828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), [832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), [838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), [840] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2), [842] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 4), [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 4), [846] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__parameters_repeat1, 2), [848] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_call_repeat1, 2), [850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), [856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178), [858] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), [860] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_interpolation_repeat1, 3), [862] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_comprehension_repeat1, 2), SHIFT_REPEAT(250), [865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_comprehension_repeat1, 2), [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 5, .production_id = 23), [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), [875] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), [879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), [881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 6, .production_id = 30), [883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), [885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_predicate, 4, .production_id = 17), [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), [889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 2, .production_id = 1), [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), [893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), [895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, .production_id = 15), [897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), [899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_predicate, 3, .production_id = 8), [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), [903] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__annotations, 2), SHIFT_REPEAT(146), [906] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), [908] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(185), [911] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(185), [914] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(188), [917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 3), [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), [921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 6), [923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), [925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), [929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 5), [931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 2), [933] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 2), SHIFT_REPEAT(132), [936] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_then_else_repeat1, 2), [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_then_else_repeat1, 2), [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 4), [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 6), [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), [972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 8), [974] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_type_repeat1, 2), SHIFT_REPEAT(65), [977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_type_repeat1, 2), [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 2), [991] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 2), SHIFT_REPEAT(154), [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), [998] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_indexed_access_repeat1, 2), SHIFT_REPEAT(147), [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), [1005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), [1007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 7), [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), [1013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), [1015] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3, .production_id = 6), [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), [1029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), [1031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), [1033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interpolation_repeat1, 4), [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), [1037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), [1039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include, 2), [1041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), [1045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), [1047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goal, 2, .production_id = 2), [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), [1053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), [1055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), [1057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), [1059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), [1061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), [1065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [1069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), [1071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), [1073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), [1081] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [1083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), [1085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), }; #ifdef __cplusplus extern "C" { #endif #ifdef _WIN32 #define extern __declspec(dllexport) #endif extern const TSLanguage *tree_sitter_minizinc(void) { static TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .large_state_count = LARGE_STATE_COUNT, .symbol_metadata = ts_symbol_metadata, .parse_table = (const unsigned short *)ts_parse_table, .small_parse_table = (const uint16_t *)ts_small_parse_table, .small_parse_table_map = (const uint32_t *)ts_small_parse_table_map, .parse_actions = ts_parse_actions, .lex_modes = ts_lex_modes, .symbol_names = ts_symbol_names, .public_symbol_map = ts_symbol_map, .alias_sequences = (const TSSymbol *)ts_alias_sequences, .field_count = FIELD_COUNT, .field_names = ts_field_names, .field_map_slices = (const TSFieldMapSlice *)ts_field_map_slices, .field_map_entries = (const TSFieldMapEntry *)ts_field_map_entries, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .lex_fn = ts_lex, .keyword_lex_fn = ts_lex_keywords, .keyword_capture_token = sym_identifier, .external_token_count = EXTERNAL_TOKEN_COUNT, }; return &language; } #ifdef __cplusplus } #endif