diff --git a/ext/andy-cpp/syntaxes/andy-cpp.tmLanguage.json b/ext/andy-cpp/syntaxes/andy-cpp.tmLanguage.json index d4efe361..f9160242 100644 --- a/ext/andy-cpp/syntaxes/andy-cpp.tmLanguage.json +++ b/ext/andy-cpp/syntaxes/andy-cpp.tmLanguage.json @@ -308,7 +308,7 @@ { "comment": "other keywords", "name": "keyword.other.andy-cpp", - "match": "\\b(in)\\b" + "match": "\\b(in|as)\\b" } ] }, diff --git a/ext/tree-sitter-andy-cpp/grammar.js b/ext/tree-sitter-andy-cpp/grammar.js index 3d58a1f9..e9bd539c 100644 --- a/ext/tree-sitter-andy-cpp/grammar.js +++ b/ext/tree-sitter-andy-cpp/grammar.js @@ -8,8 +8,8 @@ * * assignment < comma/sequence < or < and < not < range * < comparison/in < spaceship < shift < | < ~ < & - * < + - ++ <> < * / \ % %% < ^ (right assoc) < unary ! - ~ - * < postfix call/index/member + * < + - ++ <> < * / \ % %% < ^ (right assoc) < as cast + * < unary ! - ~ < postfix call/index/member */ /* eslint-disable arrow-parens */ @@ -33,8 +33,9 @@ const PREC = { term: 13, factor: 14, exponent: 15, - unary: 16, - call: 17, + cast: 16, + unary: 17, + call: 18, }; /** @param {RuleOrLiteral} rule */ @@ -59,6 +60,10 @@ module.exports = grammar({ conflicts: $ => [ [$._pattern, $._expression], [$.if_expression, $.if_guard], + // `x as Int < 2` — a `<` after a cast type may open a type argument list + // or be a less-than operator. Both branches are explored; the dynamic + // precedence on `generic_type` picks the cast when either parse works. + [$._type, $.generic_type], ], rules: { @@ -151,13 +156,18 @@ module.exports = grammar({ type_identifier: $ => /[A-Za-z_][A-Za-z0-9_]*/, - generic_type: $ => seq( + // A `<` after a type name is ambiguous in a cast: it may open a type + // argument list or be a less-than operator. The conflict declared above + // makes the parser try both; this dynamic precedence prefers the type + // argument list whenever it parses, mirroring the recursive-descent + // parser in `ndc_parser/src/parser.rs`. + generic_type: $ => prec.dynamic(1, seq( field('name', $.type_identifier), '<', commaSep($._type), optional(','), '>', - ), + )), tuple_type: $ => seq( '(', @@ -186,6 +196,7 @@ module.exports = grammar({ $._literal, $.unary_expression, $.not_expression, + $.cast_expression, $.binary_expression, $.range_expression, $.assignment, @@ -240,6 +251,12 @@ module.exports = grammar({ field('right', $._expression_or_sequence), )), + cast_expression: $ => prec.left(PREC.cast, seq( + field('value', $._expression), + 'as', + field('type', $._type), + )), + unary_expression: $ => prec(PREC.unary, seq( field('operator', choice('!', '-', '~')), field('operand', $._expression), diff --git a/ext/tree-sitter-andy-cpp/queries/highlights.scm b/ext/tree-sitter-andy-cpp/queries/highlights.scm index 8099e372..db82eb12 100644 --- a/ext/tree-sitter-andy-cpp/queries/highlights.scm +++ b/ext/tree-sitter-andy-cpp/queries/highlights.scm @@ -52,7 +52,10 @@ (continue_expression) ] @keyword.control -"in" @keyword.operator +[ + "in" + "as" +] @keyword.operator [ "and" diff --git a/ext/tree-sitter-andy-cpp/src/grammar.json b/ext/tree-sitter-andy-cpp/src/grammar.json index 5d04943f..c4bb69c1 100644 --- a/ext/tree-sitter-andy-cpp/src/grammar.json +++ b/ext/tree-sitter-andy-cpp/src/grammar.json @@ -520,70 +520,74 @@ "value": "[A-Za-z_][A-Za-z0-9_]*" }, "generic_type": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "type_identifier" - } - }, - { - "type": "STRING", - "value": "<" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_type" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_type" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "BLANK" + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "type_identifier" } - ] - }, - { - "type": "STRING", - "value": ">" - } - ] + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_type" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ">" + } + ] + } }, "tuple_type": { "type": "SEQ", @@ -704,6 +708,10 @@ "type": "SYMBOL", "name": "not_expression" }, + { + "type": "SYMBOL", + "name": "cast_expression" + }, { "type": "SYMBOL", "name": "binary_expression" @@ -1030,9 +1038,38 @@ ] } }, + "cast_expression": { + "type": "PREC_LEFT", + "value": 16, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": "as" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "_type" + } + } + ] + } + }, "unary_expression": { "type": "PREC", - "value": 16, + "value": 17, "content": { "type": "SEQ", "members": [ @@ -1878,7 +1915,7 @@ }, "call": { "type": "PREC", - "value": 17, + "value": 18, "content": { "type": "SEQ", "members": [ @@ -1961,7 +1998,7 @@ }, "index": { "type": "PREC", - "value": 17, + "value": 18, "content": { "type": "SEQ", "members": [ @@ -1994,7 +2031,7 @@ }, "member_expression": { "type": "PREC_RIGHT", - "value": 17, + "value": 18, "content": { "type": "SEQ", "members": [ @@ -2820,6 +2857,10 @@ [ "if_expression", "if_guard" + ], + [ + "_type", + "generic_type" ] ], "precedences": [], diff --git a/ext/tree-sitter-andy-cpp/src/node-types.json b/ext/tree-sitter-andy-cpp/src/node-types.json index 4d88840a..459c2088 100644 --- a/ext/tree-sitter-andy-cpp/src/node-types.json +++ b/ext/tree-sitter-andy-cpp/src/node-types.json @@ -35,6 +35,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -178,6 +182,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -316,6 +324,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -464,6 +476,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -672,6 +688,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -820,6 +840,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -1068,6 +1092,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -1212,6 +1240,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -1378,6 +1410,176 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, + { + "type": "complex", + "named": true + }, + { + "type": "continue_expression", + "named": true + }, + { + "type": "float", + "named": true + }, + { + "type": "for_expression", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "index", + "named": true + }, + { + "type": "integer", + "named": true + }, + { + "type": "list", + "named": true + }, + { + "type": "list_comprehension", + "named": true + }, + { + "type": "map", + "named": true + }, + { + "type": "map_comprehension", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "not_expression", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "range_expression", + "named": true + }, + { + "type": "raw_string", + "named": true + }, + { + "type": "return_expression", + "named": true + }, + { + "type": "special_constant", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "struct_definition", + "named": true + }, + { + "type": "tuple", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "unit", + "named": true + }, + { + "type": "while_expression", + "named": true + } + ] + } + } + }, + { + "type": "cast_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "generic_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assignment", + "named": true + }, + { + "type": "augmented_assignment", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "boolean", + "named": true + }, + { + "type": "break_expression", + "named": true + }, + { + "type": "call", + "named": true + }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -1571,6 +1773,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -1745,6 +1951,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -1975,6 +2185,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -2129,6 +2343,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -2273,6 +2491,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -2411,6 +2633,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -2555,6 +2781,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -2698,6 +2928,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -2905,6 +3139,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -3049,6 +3287,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -3187,6 +3429,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -3326,6 +3572,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -3489,6 +3739,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -3633,6 +3887,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -3844,6 +4102,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -4018,6 +4280,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -4156,6 +4422,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -4300,6 +4570,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -4448,6 +4722,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -4679,6 +4957,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -4822,6 +5104,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -4988,6 +5274,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -5203,6 +5493,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -5361,6 +5655,10 @@ "type": "call", "named": true }, + { + "type": "cast_expression", + "named": true + }, { "type": "complex", "named": true @@ -5681,6 +5979,10 @@ "type": "and", "named": false }, + { + "type": "as", + "named": false + }, { "type": "break_expression", "named": true diff --git a/ext/tree-sitter-andy-cpp/src/parser.c b/ext/tree-sitter-andy-cpp/src/parser.c index d0ec358e..0c76f4ac 100644 --- a/ext/tree-sitter-andy-cpp/src/parser.c +++ b/ext/tree-sitter-andy-cpp/src/parser.c @@ -5,15 +5,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 782 -#define LARGE_STATE_COUNT 104 -#define SYMBOL_COUNT 144 +#define STATE_COUNT 828 +#define LARGE_STATE_COUNT 119 +#define SYMBOL_COUNT 146 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 86 +#define TOKEN_COUNT 87 #define EXTERNAL_TOKEN_COUNT 2 #define FIELD_COUNT 23 #define MAX_ALIAS_SEQUENCE_LENGTH 8 -#define PRODUCTION_ID_COUNT 43 +#define PRODUCTION_ID_COUNT 44 enum ts_symbol_identifiers { sym_identifier = 1, @@ -49,116 +49,118 @@ enum ts_symbol_identifiers { anon_sym_LT_GT_EQ = 31, anon_sym_LT_LT_EQ = 32, anon_sym_GT_GT_EQ = 33, - anon_sym_BANG = 34, - anon_sym_DASH = 35, - anon_sym_TILDE = 36, - anon_sym_not = 37, - anon_sym_or = 38, - anon_sym_and = 39, - anon_sym_LT_EQ_GT = 40, - anon_sym_GT_EQ_LT = 41, - anon_sym_LT_LT = 42, - anon_sym_GT_GT = 43, - anon_sym_PIPE = 44, - anon_sym_AMP = 45, - anon_sym_PLUS = 46, - anon_sym_PLUS_PLUS = 47, - anon_sym_LT_GT = 48, - anon_sym_STAR = 49, - anon_sym_SLASH = 50, - anon_sym_BSLASH = 51, - anon_sym_PERCENT = 52, - anon_sym_PERCENT_PERCENT = 53, - anon_sym_EQ_EQ = 54, - anon_sym_BANG_EQ = 55, - anon_sym_GT_EQ = 56, - anon_sym_LT_EQ = 57, - anon_sym_in = 58, - anon_sym_CARET = 59, - anon_sym_DOT_DOT = 60, - anon_sym_DOT_DOT_EQ = 61, - anon_sym_LBRACK = 62, - anon_sym_RBRACK = 63, - anon_sym_DOT = 64, - anon_sym_PERCENT_LBRACE = 65, - anon_sym_for = 66, - anon_sym_if = 67, - anon_sym_else = 68, - anon_sym_while = 69, - anon_sym_return = 70, - sym_break_expression = 71, - sym_continue_expression = 72, - sym_integer = 73, - sym_float = 74, - sym_complex = 75, - anon_sym_true = 76, - anon_sym_false = 77, - anon_sym_Inf = 78, - anon_sym_NaN = 79, - anon_sym_DQUOTE = 80, - aux_sym_string_token1 = 81, - sym_escape_sequence = 82, - sym_comment = 83, - sym_named_op_assign = 84, - sym_raw_string = 85, - sym_source_file = 86, - sym__statement = 87, - sym_variable_declaration = 88, - sym__let_target = 89, - sym_pattern_sequence = 90, - sym__pattern = 91, - sym_function_definition = 92, - sym_parameters = 93, - sym_parameter = 94, - sym_struct_definition = 95, - sym_struct_field = 96, - sym__type = 97, - sym_generic_type = 98, - sym_tuple_type = 99, - sym__expression_or_sequence = 100, - sym_tuple_expression = 101, - sym__expression = 102, - sym_parenthesized_expression = 103, - sym_unit = 104, - sym_tuple = 105, - sym_assignment = 106, - sym_augmented_assignment = 107, - sym_unary_expression = 108, - sym_not_expression = 109, - sym_binary_expression = 110, - sym_range_expression = 111, - sym_call = 112, - sym_arguments = 113, - sym_index = 114, - sym_member_expression = 115, - sym_list = 116, - sym_list_comprehension = 117, - sym_map = 118, - sym_map_comprehension = 119, - sym_map_default = 120, - sym_map_entry = 121, - sym_comprehension_clauses = 122, - sym__comprehension_clause = 123, - sym_if_expression = 124, - sym_while_expression = 125, - sym_for_expression = 126, - sym_for_binding = 127, - sym_if_guard = 128, - sym_block = 129, - sym_return_expression = 130, - sym__literal = 131, - sym_boolean = 132, - sym_special_constant = 133, - sym_string = 134, - aux_sym_source_file_repeat1 = 135, - aux_sym_pattern_sequence_repeat1 = 136, - aux_sym_parameters_repeat1 = 137, - aux_sym_struct_definition_repeat1 = 138, - aux_sym_generic_type_repeat1 = 139, - aux_sym_tuple_expression_repeat1 = 140, - aux_sym_map_repeat1 = 141, - aux_sym_comprehension_clauses_repeat1 = 142, - aux_sym_string_repeat1 = 143, + anon_sym_as = 34, + anon_sym_BANG = 35, + anon_sym_DASH = 36, + anon_sym_TILDE = 37, + anon_sym_not = 38, + anon_sym_or = 39, + anon_sym_and = 40, + anon_sym_LT_EQ_GT = 41, + anon_sym_GT_EQ_LT = 42, + anon_sym_LT_LT = 43, + anon_sym_GT_GT = 44, + anon_sym_PIPE = 45, + anon_sym_AMP = 46, + anon_sym_PLUS = 47, + anon_sym_PLUS_PLUS = 48, + anon_sym_LT_GT = 49, + anon_sym_STAR = 50, + anon_sym_SLASH = 51, + anon_sym_BSLASH = 52, + anon_sym_PERCENT = 53, + anon_sym_PERCENT_PERCENT = 54, + anon_sym_EQ_EQ = 55, + anon_sym_BANG_EQ = 56, + anon_sym_GT_EQ = 57, + anon_sym_LT_EQ = 58, + anon_sym_in = 59, + anon_sym_CARET = 60, + anon_sym_DOT_DOT = 61, + anon_sym_DOT_DOT_EQ = 62, + anon_sym_LBRACK = 63, + anon_sym_RBRACK = 64, + anon_sym_DOT = 65, + anon_sym_PERCENT_LBRACE = 66, + anon_sym_for = 67, + anon_sym_if = 68, + anon_sym_else = 69, + anon_sym_while = 70, + anon_sym_return = 71, + sym_break_expression = 72, + sym_continue_expression = 73, + sym_integer = 74, + sym_float = 75, + sym_complex = 76, + anon_sym_true = 77, + anon_sym_false = 78, + anon_sym_Inf = 79, + anon_sym_NaN = 80, + anon_sym_DQUOTE = 81, + aux_sym_string_token1 = 82, + sym_escape_sequence = 83, + sym_comment = 84, + sym_named_op_assign = 85, + sym_raw_string = 86, + sym_source_file = 87, + sym__statement = 88, + sym_variable_declaration = 89, + sym__let_target = 90, + sym_pattern_sequence = 91, + sym__pattern = 92, + sym_function_definition = 93, + sym_parameters = 94, + sym_parameter = 95, + sym_struct_definition = 96, + sym_struct_field = 97, + sym__type = 98, + sym_generic_type = 99, + sym_tuple_type = 100, + sym__expression_or_sequence = 101, + sym_tuple_expression = 102, + sym__expression = 103, + sym_parenthesized_expression = 104, + sym_unit = 105, + sym_tuple = 106, + sym_assignment = 107, + sym_augmented_assignment = 108, + sym_cast_expression = 109, + sym_unary_expression = 110, + sym_not_expression = 111, + sym_binary_expression = 112, + sym_range_expression = 113, + sym_call = 114, + sym_arguments = 115, + sym_index = 116, + sym_member_expression = 117, + sym_list = 118, + sym_list_comprehension = 119, + sym_map = 120, + sym_map_comprehension = 121, + sym_map_default = 122, + sym_map_entry = 123, + sym_comprehension_clauses = 124, + sym__comprehension_clause = 125, + sym_if_expression = 126, + sym_while_expression = 127, + sym_for_expression = 128, + sym_for_binding = 129, + sym_if_guard = 130, + sym_block = 131, + sym_return_expression = 132, + sym__literal = 133, + sym_boolean = 134, + sym_special_constant = 135, + sym_string = 136, + aux_sym_source_file_repeat1 = 137, + aux_sym_pattern_sequence_repeat1 = 138, + aux_sym_parameters_repeat1 = 139, + aux_sym_struct_definition_repeat1 = 140, + aux_sym_generic_type_repeat1 = 141, + aux_sym_tuple_expression_repeat1 = 142, + aux_sym_map_repeat1 = 143, + aux_sym_comprehension_clauses_repeat1 = 144, + aux_sym_string_repeat1 = 145, }; static const char * const ts_symbol_names[] = { @@ -196,6 +198,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_LT_GT_EQ] = "<>=", [anon_sym_LT_LT_EQ] = "<<=", [anon_sym_GT_GT_EQ] = ">>=", + [anon_sym_as] = "as", [anon_sym_BANG] = "!", [anon_sym_DASH] = "-", [anon_sym_TILDE] = "~", @@ -270,6 +273,7 @@ static const char * const ts_symbol_names[] = { [sym_tuple] = "tuple", [sym_assignment] = "assignment", [sym_augmented_assignment] = "augmented_assignment", + [sym_cast_expression] = "cast_expression", [sym_unary_expression] = "unary_expression", [sym_not_expression] = "not_expression", [sym_binary_expression] = "binary_expression", @@ -343,6 +347,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LT_GT_EQ] = anon_sym_LT_GT_EQ, [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ, [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ, + [anon_sym_as] = anon_sym_as, [anon_sym_BANG] = anon_sym_BANG, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_TILDE] = anon_sym_TILDE, @@ -417,6 +422,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_tuple] = sym_tuple, [sym_assignment] = sym_assignment, [sym_augmented_assignment] = sym_augmented_assignment, + [sym_cast_expression] = sym_cast_expression, [sym_unary_expression] = sym_unary_expression, [sym_not_expression] = sym_not_expression, [sym_binary_expression] = sym_binary_expression, @@ -592,6 +598,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_as] = { + .visible = true, + .named = false, + }, [anon_sym_BANG] = { .visible = true, .named = false, @@ -888,6 +898,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_cast_expression] = { + .visible = true, + .named = true, + }, [sym_unary_expression] = { .visible = true, .named = true, @@ -1105,31 +1119,32 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [15] = {.index = 23, .length = 2}, [16] = {.index = 25, .length = 2}, [17] = {.index = 27, .length = 2}, - [18] = {.index = 29, .length = 3}, - [19] = {.index = 32, .length = 2}, - [20] = {.index = 34, .length = 1}, - [21] = {.index = 35, .length = 1}, - [22] = {.index = 36, .length = 2}, + [18] = {.index = 29, .length = 2}, + [19] = {.index = 31, .length = 3}, + [20] = {.index = 34, .length = 2}, + [21] = {.index = 36, .length = 1}, + [22] = {.index = 37, .length = 1}, [23] = {.index = 38, .length = 2}, - [24] = {.index = 40, .length = 1}, - [25] = {.index = 41, .length = 3}, - [26] = {.index = 44, .length = 2}, - [27] = {.index = 46, .length = 3}, - [28] = {.index = 49, .length = 3}, - [29] = {.index = 52, .length = 2}, + [24] = {.index = 40, .length = 2}, + [25] = {.index = 42, .length = 1}, + [26] = {.index = 43, .length = 3}, + [27] = {.index = 46, .length = 2}, + [28] = {.index = 48, .length = 3}, + [29] = {.index = 51, .length = 3}, [30] = {.index = 54, .length = 2}, - [31] = {.index = 56, .length = 3}, - [32] = {.index = 59, .length = 3}, - [33] = {.index = 62, .length = 3}, - [34] = {.index = 65, .length = 3}, - [35] = {.index = 68, .length = 3}, - [36] = {.index = 71, .length = 3}, - [37] = {.index = 74, .length = 4}, - [38] = {.index = 78, .length = 3}, - [39] = {.index = 81, .length = 4}, - [40] = {.index = 85, .length = 3}, - [41] = {.index = 88, .length = 4}, - [42] = {.index = 92, .length = 4}, + [31] = {.index = 56, .length = 2}, + [32] = {.index = 58, .length = 3}, + [33] = {.index = 61, .length = 3}, + [34] = {.index = 64, .length = 3}, + [35] = {.index = 67, .length = 3}, + [36] = {.index = 70, .length = 3}, + [37] = {.index = 73, .length = 3}, + [38] = {.index = 76, .length = 4}, + [39] = {.index = 80, .length = 3}, + [40] = {.index = 83, .length = 4}, + [41] = {.index = 87, .length = 3}, + [42] = {.index = 90, .length = 4}, + [43] = {.index = 94, .length = 4}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1168,105 +1183,108 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_left, 0}, {field_right, 2}, [21] = + {field_type, 2}, + {field_value, 0}, + [23] = {field_end, 2}, {field_start, 0}, - [23] = + [25] = {field_method, 2}, {field_object, 0}, - [25] = + [27] = {field_name, 1}, {field_value, 3}, - [27] = + [29] = {field_body, 3}, {field_parameters, 2}, - [29] = + [31] = {field_body, 3}, {field_name, 1}, {field_parameters, 2}, - [32] = + [34] = {field_body, 3}, {field_parameters, 1}, - [34] = + [36] = {field_name, 1}, - [35] = + [37] = {field_body, 1}, - [36] = + [38] = {field_key, 0}, {field_value, 2}, - [38] = + [40] = {field_pattern, 0}, {field_sequence, 2}, - [40] = + [42] = {field_body, 3}, - [41] = + [43] = {field_left, 0}, {field_operator, 2}, {field_right, 3}, - [44] = + [46] = {field_index, 2}, {field_value, 0}, - [46] = + [48] = {field_arguments, 3}, {field_method, 2}, {field_object, 0}, - [49] = + [51] = {field_body, 4}, {field_name, 2}, {field_parameters, 3}, - [52] = + [54] = {field_body, 4}, {field_parameters, 2}, - [54] = + [56] = {field_name, 0}, {field_type, 2}, - [56] = + [58] = {field_body, 4}, {field_name, 1}, {field_parameters, 2}, - [59] = + [61] = {field_body, 4}, {field_parameters, 1}, {field_return_type, 3}, - [62] = + [64] = {field_alternative, 4}, {field_condition, 1}, {field_consequence, 2}, - [65] = + [67] = {field_name, 1}, {field_type, 3}, {field_value, 5}, - [68] = + [70] = {field_body, 5}, {field_name, 2}, {field_parameters, 3}, - [71] = + [73] = {field_body, 5}, {field_parameters, 2}, {field_return_type, 4}, - [74] = + [76] = {field_body, 5}, {field_name, 1}, {field_parameters, 2}, {field_return_type, 4}, - [78] = + [80] = {field_body, 5}, {field_parameters, 1}, {field_return_type, 3}, - [81] = + [83] = {field_body, 6}, {field_name, 2}, {field_parameters, 3}, {field_return_type, 5}, - [85] = + [87] = {field_body, 6}, {field_parameters, 2}, {field_return_type, 4}, - [88] = + [90] = {field_body, 6}, {field_name, 1}, {field_parameters, 2}, {field_return_type, 4}, - [92] = + [94] = {field_body, 7}, {field_name, 2}, {field_parameters, 3}, @@ -1382,688 +1400,734 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [97] = 97, [98] = 98, [99] = 99, - [100] = 99, + [100] = 100, [101] = 101, [102] = 102, - [103] = 102, + [103] = 103, [104] = 104, [105] = 105, - [106] = 104, + [106] = 106, [107] = 107, - [108] = 107, + [108] = 108, [109] = 109, - [110] = 109, + [110] = 110, [111] = 111, - [112] = 112, + [112] = 110, [113] = 111, [114] = 114, - [115] = 114, - [116] = 116, + [115] = 115, + [116] = 114, [117] = 117, - [118] = 118, + [118] = 117, [119] = 119, - [120] = 118, - [121] = 119, - [122] = 116, - [123] = 123, + [120] = 119, + [121] = 121, + [122] = 122, + [123] = 121, [124] = 124, - [125] = 114, - [126] = 124, - [127] = 114, - [128] = 124, - [129] = 114, - [130] = 124, - [131] = 117, - [132] = 132, - [133] = 124, - [134] = 114, - [135] = 123, - [136] = 124, - [137] = 137, - [138] = 138, - [139] = 139, - [140] = 140, - [141] = 141, - [142] = 142, + [125] = 125, + [126] = 126, + [127] = 126, + [128] = 128, + [129] = 129, + [130] = 130, + [131] = 130, + [132] = 125, + [133] = 133, + [134] = 129, + [135] = 133, + [136] = 129, + [137] = 133, + [138] = 129, + [139] = 133, + [140] = 129, + [141] = 133, + [142] = 133, [143] = 143, - [144] = 144, - [145] = 145, - [146] = 144, - [147] = 138, + [144] = 129, + [145] = 124, + [146] = 146, + [147] = 128, [148] = 148, - [149] = 141, - [150] = 141, - [151] = 148, - [152] = 138, - [153] = 153, - [154] = 145, - [155] = 144, + [149] = 149, + [150] = 150, + [151] = 151, + [152] = 152, + [153] = 152, + [154] = 154, + [155] = 155, [156] = 156, - [157] = 153, - [158] = 142, - [159] = 156, - [160] = 140, + [157] = 148, + [158] = 154, + [159] = 151, + [160] = 148, [161] = 161, - [162] = 145, - [163] = 161, - [164] = 148, - [165] = 165, - [166] = 166, + [162] = 155, + [163] = 163, + [164] = 156, + [165] = 155, + [166] = 156, [167] = 167, - [168] = 168, + [168] = 150, [169] = 169, - [170] = 43, - [171] = 44, - [172] = 172, - [173] = 24, - [174] = 174, - [175] = 167, + [170] = 161, + [171] = 151, + [172] = 167, + [173] = 149, + [174] = 154, + [175] = 175, [176] = 176, - [177] = 177, + [177] = 175, [178] = 178, [179] = 179, - [180] = 165, + [180] = 180, [181] = 181, - [182] = 182, + [182] = 175, [183] = 183, [184] = 184, [185] = 185, - [186] = 178, + [186] = 186, [187] = 187, - [188] = 179, + [188] = 188, [189] = 189, [190] = 190, - [191] = 184, - [192] = 192, + [191] = 183, + [192] = 184, [193] = 193, [194] = 194, - [195] = 169, - [196] = 172, + [195] = 43, + [196] = 44, [197] = 197, - [198] = 198, - [199] = 199, - [200] = 181, - [201] = 176, + [198] = 24, + [199] = 193, + [200] = 200, + [201] = 201, [202] = 202, [203] = 203, [204] = 204, - [205] = 177, - [206] = 206, - [207] = 197, - [208] = 204, - [209] = 206, - [210] = 169, - [211] = 174, - [212] = 167, - [213] = 176, - [214] = 177, - [215] = 178, - [216] = 179, - [217] = 181, + [205] = 205, + [206] = 185, + [207] = 200, + [208] = 208, + [209] = 186, + [210] = 203, + [211] = 187, + [212] = 212, + [213] = 204, + [214] = 188, + [215] = 189, + [216] = 190, + [217] = 217, [218] = 218, - [219] = 190, - [220] = 192, - [221] = 198, + [219] = 212, + [220] = 220, + [221] = 221, [222] = 222, - [223] = 42, - [224] = 34, - [225] = 197, - [226] = 204, - [227] = 206, - [228] = 169, - [229] = 174, - [230] = 167, - [231] = 176, - [232] = 177, - [233] = 178, - [234] = 179, - [235] = 181, - [236] = 236, - [237] = 174, - [238] = 197, - [239] = 199, + [223] = 205, + [224] = 176, + [225] = 179, + [226] = 183, + [227] = 184, + [228] = 194, + [229] = 193, + [230] = 200, + [231] = 201, + [232] = 202, + [233] = 203, + [234] = 204, + [235] = 205, + [236] = 194, + [237] = 197, + [238] = 201, + [239] = 179, [240] = 202, - [241] = 187, - [242] = 189, - [243] = 185, - [244] = 218, - [245] = 203, - [246] = 168, - [247] = 192, - [248] = 198, - [249] = 204, - [250] = 199, - [251] = 202, - [252] = 203, - [253] = 183, - [254] = 206, - [255] = 222, - [256] = 236, - [257] = 166, - [258] = 165, - [259] = 182, - [260] = 183, - [261] = 206, - [262] = 169, - [263] = 172, - [264] = 174, - [265] = 167, - [266] = 176, - [267] = 177, - [268] = 178, - [269] = 179, - [270] = 181, - [271] = 169, - [272] = 174, - [273] = 167, - [274] = 176, - [275] = 177, - [276] = 178, - [277] = 179, - [278] = 181, - [279] = 192, - [280] = 198, - [281] = 222, - [282] = 199, - [283] = 202, - [284] = 203, - [285] = 222, - [286] = 236, - [287] = 166, - [288] = 165, - [289] = 182, - [290] = 183, - [291] = 172, - [292] = 236, - [293] = 199, - [294] = 202, - [295] = 203, - [296] = 222, - [297] = 236, - [298] = 166, - [299] = 166, - [300] = 182, - [301] = 183, - [302] = 172, - [303] = 165, - [304] = 199, - [305] = 202, - [306] = 203, - [307] = 222, - [308] = 236, - [309] = 166, - [310] = 165, - [311] = 182, - [312] = 183, - [313] = 172, - [314] = 190, - [315] = 192, - [316] = 198, - [317] = 182, - [318] = 204, - [319] = 206, - [320] = 192, - [321] = 198, - [322] = 190, - [323] = 190, + [241] = 179, + [242] = 183, + [243] = 184, + [244] = 194, + [245] = 193, + [246] = 200, + [247] = 201, + [248] = 202, + [249] = 203, + [250] = 204, + [251] = 205, + [252] = 252, + [253] = 180, + [254] = 176, + [255] = 255, + [256] = 217, + [257] = 220, + [258] = 221, + [259] = 218, + [260] = 178, + [261] = 181, + [262] = 208, + [263] = 255, + [264] = 217, + [265] = 180, + [266] = 181, + [267] = 175, + [268] = 183, + [269] = 184, + [270] = 185, + [271] = 186, + [272] = 187, + [273] = 188, + [274] = 189, + [275] = 190, + [276] = 194, + [277] = 197, + [278] = 193, + [279] = 200, + [280] = 201, + [281] = 202, + [282] = 203, + [283] = 204, + [284] = 205, + [285] = 194, + [286] = 193, + [287] = 200, + [288] = 201, + [289] = 202, + [290] = 203, + [291] = 204, + [292] = 205, + [293] = 255, + [294] = 217, + [295] = 180, + [296] = 181, + [297] = 175, + [298] = 185, + [299] = 186, + [300] = 187, + [301] = 188, + [302] = 189, + [303] = 190, + [304] = 197, + [305] = 180, + [306] = 181, + [307] = 175, + [308] = 185, + [309] = 186, + [310] = 187, + [311] = 188, + [312] = 189, + [313] = 190, + [314] = 197, + [315] = 42, + [316] = 180, + [317] = 181, + [318] = 34, + [319] = 185, + [320] = 186, + [321] = 187, + [322] = 188, + [323] = 189, [324] = 190, - [325] = 204, - [326] = 81, - [327] = 82, - [328] = 85, - [329] = 86, - [330] = 87, - [331] = 54, - [332] = 74, - [333] = 83, - [334] = 88, - [335] = 89, - [336] = 90, - [337] = 91, - [338] = 92, - [339] = 93, - [340] = 94, - [341] = 48, - [342] = 49, - [343] = 50, - [344] = 55, - [345] = 84, - [346] = 14, - [347] = 56, - [348] = 57, - [349] = 58, - [350] = 52, - [351] = 60, - [352] = 61, - [353] = 62, - [354] = 63, - [355] = 53, - [356] = 64, - [357] = 65, - [358] = 66, - [359] = 47, - [360] = 67, - [361] = 68, - [362] = 69, - [363] = 70, - [364] = 14, - [365] = 71, - [366] = 72, - [367] = 73, - [368] = 95, - [369] = 75, - [370] = 51, - [371] = 76, - [372] = 77, - [373] = 78, - [374] = 79, - [375] = 80, - [376] = 59, - [377] = 18, - [378] = 36, - [379] = 28, - [380] = 45, - [381] = 16, - [382] = 30, - [383] = 31, - [384] = 32, - [385] = 33, - [386] = 35, - [387] = 36, - [388] = 39, - [389] = 14, - [390] = 45, - [391] = 46, - [392] = 29, - [393] = 17, - [394] = 38, - [395] = 41, - [396] = 19, - [397] = 20, - [398] = 21, - [399] = 22, - [400] = 23, - [401] = 26, - [402] = 25, - [403] = 46, - [404] = 27, - [405] = 28, - [406] = 29, - [407] = 17, - [408] = 30, - [409] = 31, - [410] = 32, - [411] = 33, - [412] = 39, - [413] = 38, - [414] = 40, - [415] = 41, - [416] = 18, - [417] = 19, - [418] = 20, - [419] = 21, - [420] = 22, - [421] = 23, - [422] = 35, - [423] = 37, - [424] = 424, + [325] = 197, + [326] = 176, + [327] = 255, + [328] = 217, + [329] = 183, + [330] = 184, + [331] = 255, + [332] = 217, + [333] = 176, + [334] = 176, + [335] = 255, + [336] = 89, + [337] = 83, + [338] = 84, + [339] = 85, + [340] = 86, + [341] = 101, + [342] = 53, + [343] = 91, + [344] = 92, + [345] = 93, + [346] = 102, + [347] = 49, + [348] = 66, + [349] = 77, + [350] = 78, + [351] = 50, + [352] = 87, + [353] = 88, + [354] = 94, + [355] = 95, + [356] = 96, + [357] = 103, + [358] = 47, + [359] = 104, + [360] = 48, + [361] = 105, + [362] = 81, + [363] = 90, + [364] = 82, + [365] = 55, + [366] = 97, + [367] = 56, + [368] = 58, + [369] = 59, + [370] = 60, + [371] = 61, + [372] = 62, + [373] = 14, + [374] = 63, + [375] = 100, + [376] = 64, + [377] = 65, + [378] = 67, + [379] = 68, + [380] = 98, + [381] = 69, + [382] = 70, + [383] = 71, + [384] = 72, + [385] = 73, + [386] = 74, + [387] = 75, + [388] = 76, + [389] = 80, + [390] = 51, + [391] = 99, + [392] = 52, + [393] = 14, + [394] = 79, + [395] = 54, + [396] = 57, + [397] = 37, + [398] = 36, + [399] = 30, + [400] = 39, + [401] = 40, + [402] = 31, + [403] = 32, + [404] = 25, + [405] = 33, + [406] = 27, + [407] = 36, + [408] = 35, + [409] = 46, + [410] = 29, + [411] = 17, + [412] = 28, + [413] = 41, + [414] = 18, + [415] = 19, + [416] = 20, + [417] = 21, + [418] = 22, + [419] = 23, + [420] = 26, + [421] = 38, + [422] = 46, + [423] = 29, + [424] = 17, [425] = 40, - [426] = 26, + [426] = 426, [427] = 25, - [428] = 37, + [428] = 41, [429] = 27, - [430] = 16, - [431] = 30, - [432] = 31, - [433] = 433, - [434] = 434, - [435] = 32, - [436] = 33, - [437] = 25, - [438] = 46, - [439] = 29, - [440] = 17, - [441] = 41, - [442] = 18, - [443] = 19, - [444] = 20, - [445] = 21, - [446] = 22, - [447] = 23, - [448] = 26, - [449] = 36, - [450] = 27, - [451] = 45, - [452] = 38, - [453] = 40, - [454] = 35, - [455] = 39, - [456] = 28, - [457] = 433, - [458] = 16, - [459] = 37, - [460] = 424, - [461] = 461, - [462] = 461, - [463] = 14, - [464] = 464, - [465] = 465, - [466] = 466, - [467] = 14, - [468] = 468, - [469] = 434, - [470] = 465, - [471] = 461, - [472] = 472, - [473] = 466, - [474] = 474, - [475] = 468, - [476] = 36, - [477] = 477, - [478] = 36, - [479] = 479, - [480] = 479, - [481] = 477, - [482] = 472, - [483] = 32, - [484] = 35, - [485] = 46, - [486] = 29, - [487] = 17, - [488] = 38, - [489] = 40, - [490] = 41, - [491] = 18, - [492] = 19, - [493] = 20, - [494] = 21, - [495] = 22, - [496] = 23, - [497] = 25, - [498] = 35, - [499] = 26, - [500] = 27, - [501] = 28, - [502] = 16, - [503] = 30, - [504] = 31, - [505] = 33, - [506] = 37, - [507] = 38, - [508] = 40, - [509] = 25, - [510] = 27, - [511] = 28, - [512] = 16, - [513] = 30, - [514] = 31, - [515] = 32, - [516] = 33, - [517] = 46, - [518] = 29, - [519] = 17, - [520] = 41, - [521] = 18, - [522] = 19, - [523] = 20, - [524] = 21, - [525] = 22, - [526] = 23, - [527] = 26, - [528] = 528, - [529] = 529, - [530] = 530, - [531] = 37, - [532] = 530, - [533] = 533, - [534] = 528, - [535] = 36, - [536] = 39, - [537] = 537, - [538] = 538, - [539] = 539, - [540] = 540, - [541] = 541, - [542] = 542, - [543] = 543, - [544] = 544, - [545] = 545, - [546] = 546, + [430] = 28, + [431] = 18, + [432] = 16, + [433] = 19, + [434] = 20, + [435] = 30, + [436] = 21, + [437] = 31, + [438] = 32, + [439] = 33, + [440] = 38, + [441] = 22, + [442] = 23, + [443] = 35, + [444] = 45, + [445] = 45, + [446] = 26, + [447] = 14, + [448] = 37, + [449] = 16, + [450] = 39, + [451] = 22, + [452] = 37, + [453] = 30, + [454] = 454, + [455] = 31, + [456] = 46, + [457] = 29, + [458] = 17, + [459] = 36, + [460] = 41, + [461] = 18, + [462] = 19, + [463] = 20, + [464] = 21, + [465] = 28, + [466] = 23, + [467] = 26, + [468] = 32, + [469] = 38, + [470] = 33, + [471] = 39, + [472] = 40, + [473] = 35, + [474] = 45, + [475] = 475, + [476] = 25, + [477] = 27, + [478] = 475, + [479] = 16, + [480] = 480, + [481] = 14, + [482] = 482, + [483] = 483, + [484] = 484, + [485] = 483, + [486] = 483, + [487] = 14, + [488] = 482, + [489] = 426, + [490] = 454, + [491] = 491, + [492] = 492, + [493] = 484, + [494] = 36, + [495] = 495, + [496] = 496, + [497] = 36, + [498] = 480, + [499] = 496, + [500] = 500, + [501] = 495, + [502] = 492, + [503] = 503, + [504] = 39, + [505] = 40, + [506] = 41, + [507] = 18, + [508] = 19, + [509] = 20, + [510] = 21, + [511] = 22, + [512] = 23, + [513] = 25, + [514] = 26, + [515] = 27, + [516] = 28, + [517] = 16, + [518] = 30, + [519] = 503, + [520] = 31, + [521] = 32, + [522] = 33, + [523] = 46, + [524] = 39, + [525] = 40, + [526] = 25, + [527] = 27, + [528] = 28, + [529] = 16, + [530] = 30, + [531] = 31, + [532] = 32, + [533] = 33, + [534] = 46, + [535] = 29, + [536] = 17, + [537] = 41, + [538] = 18, + [539] = 19, + [540] = 20, + [541] = 21, + [542] = 22, + [543] = 23, + [544] = 26, + [545] = 29, + [546] = 35, [547] = 547, - [548] = 545, - [549] = 549, - [550] = 550, - [551] = 551, + [548] = 35, + [549] = 37, + [550] = 17, + [551] = 37, [552] = 552, - [553] = 545, + [553] = 547, [554] = 554, - [555] = 545, - [556] = 556, + [555] = 36, + [556] = 38, [557] = 557, - [558] = 545, + [558] = 558, [559] = 559, [560] = 560, [561] = 561, - [562] = 545, - [563] = 563, + [562] = 562, + [563] = 49, [564] = 564, - [565] = 565, + [565] = 94, [566] = 566, - [567] = 567, - [568] = 568, - [569] = 568, + [567] = 87, + [568] = 88, + [569] = 569, [570] = 570, - [571] = 571, - [572] = 572, - [573] = 573, - [574] = 574, + [571] = 566, + [572] = 95, + [573] = 66, + [574] = 96, [575] = 575, - [576] = 576, - [577] = 568, - [578] = 570, + [576] = 569, + [577] = 575, + [578] = 578, [579] = 575, - [580] = 572, - [581] = 568, - [582] = 570, - [583] = 571, - [584] = 572, - [585] = 571, - [586] = 586, - [587] = 572, - [588] = 568, - [589] = 570, - [590] = 571, - [591] = 572, - [592] = 570, - [593] = 586, - [594] = 568, - [595] = 570, - [596] = 571, - [597] = 572, - [598] = 598, - [599] = 571, + [580] = 575, + [581] = 575, + [582] = 566, + [583] = 77, + [584] = 78, + [585] = 569, + [586] = 575, + [587] = 587, + [588] = 588, + [589] = 588, + [590] = 590, + [591] = 588, + [592] = 592, + [593] = 592, + [594] = 594, + [595] = 590, + [596] = 594, + [597] = 590, + [598] = 592, + [599] = 594, [600] = 600, - [601] = 601, + [601] = 600, [602] = 602, [603] = 603, [604] = 604, - [605] = 39, - [606] = 606, - [607] = 601, - [608] = 608, - [609] = 609, - [610] = 39, - [611] = 611, - [612] = 612, - [613] = 613, + [605] = 604, + [606] = 604, + [607] = 603, + [608] = 604, + [609] = 603, + [610] = 610, + [611] = 600, + [612] = 610, + [613] = 600, [614] = 614, - [615] = 615, + [615] = 603, [616] = 616, - [617] = 617, + [617] = 600, [618] = 618, [619] = 619, [620] = 600, - [621] = 612, - [622] = 614, - [623] = 614, - [624] = 601, - [625] = 612, - [626] = 612, - [627] = 614, - [628] = 600, - [629] = 612, - [630] = 601, - [631] = 601, - [632] = 614, - [633] = 602, - [634] = 618, - [635] = 614, - [636] = 600, - [637] = 600, - [638] = 600, + [621] = 614, + [622] = 604, + [623] = 603, + [624] = 610, + [625] = 625, + [626] = 604, + [627] = 625, + [628] = 618, + [629] = 629, + [630] = 603, + [631] = 610, + [632] = 610, + [633] = 610, + [634] = 634, + [635] = 634, + [636] = 636, + [637] = 637, + [638] = 634, [639] = 639, [640] = 640, - [641] = 639, - [642] = 619, - [643] = 615, - [644] = 601, - [645] = 612, + [641] = 641, + [642] = 642, + [643] = 636, + [644] = 637, + [645] = 634, [646] = 640, [647] = 647, - [648] = 648, + [648] = 640, [649] = 649, - [650] = 650, - [651] = 651, - [652] = 652, + [650] = 636, + [651] = 637, + [652] = 640, [653] = 653, - [654] = 654, - [655] = 653, - [656] = 57, - [657] = 60, - [658] = 658, - [659] = 68, - [660] = 70, - [661] = 661, - [662] = 662, - [663] = 77, + [654] = 640, + [655] = 655, + [656] = 655, + [657] = 657, + [658] = 38, + [659] = 636, + [660] = 637, + [661] = 634, + [662] = 640, + [663] = 663, [664] = 664, - [665] = 85, - [666] = 666, - [667] = 652, - [668] = 651, - [669] = 669, + [665] = 665, + [666] = 636, + [667] = 667, + [668] = 649, + [669] = 636, [670] = 670, - [671] = 649, - [672] = 613, - [673] = 650, - [674] = 651, - [675] = 675, - [676] = 676, - [677] = 677, - [678] = 649, - [679] = 679, + [671] = 639, + [672] = 672, + [673] = 38, + [674] = 637, + [675] = 634, + [676] = 637, + [677] = 663, + [678] = 664, + [679] = 672, [680] = 680, - [681] = 669, + [681] = 681, [682] = 682, - [683] = 658, + [683] = 682, [684] = 684, - [685] = 664, - [686] = 649, - [687] = 687, + [685] = 685, + [686] = 58, + [687] = 61, [688] = 688, [689] = 689, - [690] = 603, - [691] = 654, - [692] = 652, - [693] = 650, - [694] = 651, + [690] = 688, + [691] = 691, + [692] = 692, + [693] = 682, + [694] = 688, [695] = 695, [696] = 696, - [697] = 669, + [697] = 697, [698] = 698, - [699] = 606, - [700] = 652, - [701] = 649, - [702] = 654, - [703] = 664, - [704] = 652, - [705] = 654, - [706] = 649, - [707] = 662, - [708] = 664, - [709] = 709, + [699] = 689, + [700] = 700, + [701] = 71, + [702] = 73, + [703] = 691, + [704] = 704, + [705] = 695, + [706] = 689, + [707] = 82, + [708] = 708, + [709] = 691, [710] = 710, - [711] = 648, - [712] = 712, - [713] = 680, - [714] = 650, - [715] = 651, - [716] = 609, - [717] = 95, - [718] = 696, - [719] = 650, - [720] = 88, - [721] = 684, + [711] = 91, + [712] = 704, + [713] = 695, + [714] = 653, + [715] = 692, + [716] = 716, + [717] = 695, + [718] = 718, + [719] = 704, + [720] = 696, + [721] = 697, [722] = 722, - [723] = 650, - [724] = 654, - [725] = 695, - [726] = 652, - [727] = 654, - [728] = 651, - [729] = 664, - [730] = 664, - [731] = 731, + [723] = 722, + [724] = 697, + [725] = 725, + [726] = 698, + [727] = 727, + [728] = 647, + [729] = 729, + [730] = 696, + [731] = 716, [732] = 732, - [733] = 733, - [734] = 734, - [735] = 735, - [736] = 736, - [737] = 734, - [738] = 733, - [739] = 734, - [740] = 733, - [741] = 734, - [742] = 733, - [743] = 733, - [744] = 744, - [745] = 745, - [746] = 746, - [747] = 734, - [748] = 746, + [733] = 692, + [734] = 692, + [735] = 682, + [736] = 688, + [737] = 695, + [738] = 725, + [739] = 684, + [740] = 740, + [741] = 727, + [742] = 696, + [743] = 697, + [744] = 696, + [745] = 51, + [746] = 657, + [747] = 725, + [748] = 697, [749] = 749, - [750] = 750, - [751] = 734, - [752] = 733, - [753] = 750, - [754] = 754, - [755] = 755, - [756] = 756, - [757] = 757, - [758] = 758, - [759] = 757, - [760] = 760, - [761] = 761, + [750] = 97, + [751] = 751, + [752] = 752, + [753] = 753, + [754] = 752, + [755] = 692, + [756] = 696, + [757] = 697, + [758] = 682, + [759] = 688, + [760] = 667, + [761] = 708, [762] = 762, - [763] = 763, - [764] = 763, - [765] = 765, - [766] = 760, - [767] = 754, - [768] = 756, + [763] = 682, + [764] = 762, + [765] = 688, + [766] = 766, + [767] = 695, + [768] = 698, [769] = 769, - [770] = 770, - [771] = 771, - [772] = 756, - [773] = 771, - [774] = 762, - [775] = 756, - [776] = 776, + [770] = 692, + [771] = 749, + [772] = 772, + [773] = 773, + [774] = 774, + [775] = 775, + [776] = 774, [777] = 777, - [778] = 756, - [779] = 758, - [780] = 761, - [781] = 756, + [778] = 774, + [779] = 779, + [780] = 773, + [781] = 773, + [782] = 773, + [783] = 783, + [784] = 774, + [785] = 773, + [786] = 786, + [787] = 777, + [788] = 774, + [789] = 774, + [790] = 773, + [791] = 791, + [792] = 792, + [793] = 793, + [794] = 779, + [795] = 795, + [796] = 796, + [797] = 797, + [798] = 798, + [799] = 799, + [800] = 800, + [801] = 796, + [802] = 802, + [803] = 803, + [804] = 804, + [805] = 805, + [806] = 797, + [807] = 800, + [808] = 799, + [809] = 809, + [810] = 798, + [811] = 802, + [812] = 803, + [813] = 813, + [814] = 814, + [815] = 814, + [816] = 816, + [817] = 816, + [818] = 802, + [819] = 819, + [820] = 805, + [821] = 802, + [822] = 816, + [823] = 804, + [824] = 802, + [825] = 825, + [826] = 800, + [827] = 802, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -2673,209 +2737,213 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { END_STATE(); case 3: if (lookahead == 'n') ADVANCE(19); + if (lookahead == 's') ADVANCE(20); END_STATE(); case 4: - if (lookahead == 'r') ADVANCE(20); + if (lookahead == 'r') ADVANCE(21); END_STATE(); case 5: - if (lookahead == 'o') ADVANCE(21); + if (lookahead == 'o') ADVANCE(22); END_STATE(); case 6: - if (lookahead == 'l') ADVANCE(22); + if (lookahead == 'l') ADVANCE(23); END_STATE(); case 7: - if (lookahead == 'a') ADVANCE(23); - if (lookahead == 'n') ADVANCE(24); - if (lookahead == 'o') ADVANCE(25); + if (lookahead == 'a') ADVANCE(24); + if (lookahead == 'n') ADVANCE(25); + if (lookahead == 'o') ADVANCE(26); END_STATE(); case 8: - if (lookahead == 'f') ADVANCE(26); - if (lookahead == 'n') ADVANCE(27); + if (lookahead == 'f') ADVANCE(27); + if (lookahead == 'n') ADVANCE(28); END_STATE(); case 9: - if (lookahead == 'e') ADVANCE(28); + if (lookahead == 'e') ADVANCE(29); END_STATE(); case 10: - if (lookahead == 'o') ADVANCE(29); + if (lookahead == 'o') ADVANCE(30); END_STATE(); case 11: - if (lookahead == 'r') ADVANCE(30); + if (lookahead == 'r') ADVANCE(31); END_STATE(); case 12: - if (lookahead == 'u') ADVANCE(31); + if (lookahead == 'u') ADVANCE(32); END_STATE(); case 13: - if (lookahead == 'e') ADVANCE(32); + if (lookahead == 'e') ADVANCE(33); END_STATE(); case 14: - if (lookahead == 't') ADVANCE(33); + if (lookahead == 't') ADVANCE(34); END_STATE(); case 15: - if (lookahead == 'r') ADVANCE(34); + if (lookahead == 'r') ADVANCE(35); END_STATE(); case 16: - if (lookahead == 'h') ADVANCE(35); + if (lookahead == 'h') ADVANCE(36); END_STATE(); case 17: - if (lookahead == 'f') ADVANCE(36); + if (lookahead == 'f') ADVANCE(37); END_STATE(); case 18: - if (lookahead == 'N') ADVANCE(37); + if (lookahead == 'N') ADVANCE(38); END_STATE(); case 19: - if (lookahead == 'd') ADVANCE(38); + if (lookahead == 'd') ADVANCE(39); END_STATE(); case 20: - if (lookahead == 'e') ADVANCE(39); + ACCEPT_TOKEN(anon_sym_as); END_STATE(); case 21: - if (lookahead == 'n') ADVANCE(40); + if (lookahead == 'e') ADVANCE(40); END_STATE(); case 22: - if (lookahead == 's') ADVANCE(41); + if (lookahead == 'n') ADVANCE(41); END_STATE(); case 23: - if (lookahead == 'l') ADVANCE(42); + if (lookahead == 's') ADVANCE(42); END_STATE(); case 24: - ACCEPT_TOKEN(anon_sym_fn); + if (lookahead == 'l') ADVANCE(43); END_STATE(); case 25: - if (lookahead == 'r') ADVANCE(43); + ACCEPT_TOKEN(anon_sym_fn); END_STATE(); case 26: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'r') ADVANCE(44); END_STATE(); case 27: - ACCEPT_TOKEN(anon_sym_in); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 28: - if (lookahead == 't') ADVANCE(44); + ACCEPT_TOKEN(anon_sym_in); END_STATE(); case 29: if (lookahead == 't') ADVANCE(45); END_STATE(); case 30: - ACCEPT_TOKEN(anon_sym_or); + if (lookahead == 't') ADVANCE(46); END_STATE(); case 31: - if (lookahead == 'r') ADVANCE(46); + ACCEPT_TOKEN(anon_sym_or); END_STATE(); case 32: - if (lookahead == 't') ADVANCE(47); + if (lookahead == 'r') ADVANCE(47); END_STATE(); case 33: - if (lookahead == 'r') ADVANCE(48); + if (lookahead == 't') ADVANCE(48); END_STATE(); case 34: - if (lookahead == 'u') ADVANCE(49); + if (lookahead == 'r') ADVANCE(49); END_STATE(); case 35: - if (lookahead == 'i') ADVANCE(50); + if (lookahead == 'u') ADVANCE(50); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_Inf); + if (lookahead == 'i') ADVANCE(51); END_STATE(); case 37: - ACCEPT_TOKEN(anon_sym_NaN); + ACCEPT_TOKEN(anon_sym_Inf); END_STATE(); case 38: - ACCEPT_TOKEN(anon_sym_and); + ACCEPT_TOKEN(anon_sym_NaN); END_STATE(); case 39: - if (lookahead == 'a') ADVANCE(51); + ACCEPT_TOKEN(anon_sym_and); END_STATE(); case 40: - if (lookahead == 't') ADVANCE(52); + if (lookahead == 'a') ADVANCE(52); END_STATE(); case 41: - if (lookahead == 'e') ADVANCE(53); + if (lookahead == 't') ADVANCE(53); END_STATE(); case 42: - if (lookahead == 's') ADVANCE(54); + if (lookahead == 'e') ADVANCE(54); END_STATE(); case 43: - ACCEPT_TOKEN(anon_sym_for); + if (lookahead == 's') ADVANCE(55); END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_let); + ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 45: - ACCEPT_TOKEN(anon_sym_not); + ACCEPT_TOKEN(anon_sym_let); END_STATE(); case 46: - if (lookahead == 'e') ADVANCE(55); + ACCEPT_TOKEN(anon_sym_not); END_STATE(); case 47: - if (lookahead == 'u') ADVANCE(56); + if (lookahead == 'e') ADVANCE(56); END_STATE(); case 48: if (lookahead == 'u') ADVANCE(57); END_STATE(); case 49: - if (lookahead == 'e') ADVANCE(58); + if (lookahead == 'u') ADVANCE(58); END_STATE(); case 50: - if (lookahead == 'l') ADVANCE(59); + if (lookahead == 'e') ADVANCE(59); END_STATE(); case 51: - if (lookahead == 'k') ADVANCE(60); + if (lookahead == 'l') ADVANCE(60); END_STATE(); case 52: - if (lookahead == 'i') ADVANCE(61); + if (lookahead == 'k') ADVANCE(61); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 'i') ADVANCE(62); END_STATE(); case 54: - if (lookahead == 'e') ADVANCE(62); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_pure); + if (lookahead == 'e') ADVANCE(63); END_STATE(); case 56: - if (lookahead == 'r') ADVANCE(63); + ACCEPT_TOKEN(anon_sym_pure); END_STATE(); case 57: - if (lookahead == 'c') ADVANCE(64); + if (lookahead == 'r') ADVANCE(64); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_true); + if (lookahead == 'c') ADVANCE(65); END_STATE(); case 59: - if (lookahead == 'e') ADVANCE(65); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 60: - ACCEPT_TOKEN(sym_break_expression); + if (lookahead == 'e') ADVANCE(66); END_STATE(); case 61: - if (lookahead == 'n') ADVANCE(66); + ACCEPT_TOKEN(sym_break_expression); END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_false); + if (lookahead == 'n') ADVANCE(67); END_STATE(); case 63: - if (lookahead == 'n') ADVANCE(67); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 64: - if (lookahead == 't') ADVANCE(68); + if (lookahead == 'n') ADVANCE(68); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_while); + if (lookahead == 't') ADVANCE(69); END_STATE(); case 66: - if (lookahead == 'u') ADVANCE(69); + ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_return); + if (lookahead == 'u') ADVANCE(70); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_struct); + ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 69: - if (lookahead == 'e') ADVANCE(70); + ACCEPT_TOKEN(anon_sym_struct); END_STATE(); case 70: + if (lookahead == 'e') ADVANCE(71); + END_STATE(); + case 71: ACCEPT_TOKEN(sym_continue_expression); END_STATE(); default: @@ -2980,16 +3048,16 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [93] = {.lex_state = 16, .external_lex_state = 1}, [94] = {.lex_state = 16, .external_lex_state = 1}, [95] = {.lex_state = 16, .external_lex_state = 1}, - [96] = {.lex_state = 16, .external_lex_state = 2}, - [97] = {.lex_state = 16, .external_lex_state = 2}, - [98] = {.lex_state = 16, .external_lex_state = 2}, - [99] = {.lex_state = 16, .external_lex_state = 2}, - [100] = {.lex_state = 16, .external_lex_state = 2}, - [101] = {.lex_state = 16, .external_lex_state = 2}, - [102] = {.lex_state = 16, .external_lex_state = 2}, - [103] = {.lex_state = 16, .external_lex_state = 2}, - [104] = {.lex_state = 16, .external_lex_state = 2}, - [105] = {.lex_state = 16, .external_lex_state = 2}, + [96] = {.lex_state = 16, .external_lex_state = 1}, + [97] = {.lex_state = 16, .external_lex_state = 1}, + [98] = {.lex_state = 16, .external_lex_state = 1}, + [99] = {.lex_state = 16, .external_lex_state = 1}, + [100] = {.lex_state = 16, .external_lex_state = 1}, + [101] = {.lex_state = 16, .external_lex_state = 1}, + [102] = {.lex_state = 16, .external_lex_state = 1}, + [103] = {.lex_state = 16, .external_lex_state = 1}, + [104] = {.lex_state = 16, .external_lex_state = 1}, + [105] = {.lex_state = 16, .external_lex_state = 1}, [106] = {.lex_state = 16, .external_lex_state = 2}, [107] = {.lex_state = 16, .external_lex_state = 2}, [108] = {.lex_state = 16, .external_lex_state = 2}, @@ -3054,10 +3122,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [167] = {.lex_state = 16, .external_lex_state = 2}, [168] = {.lex_state = 16, .external_lex_state = 2}, [169] = {.lex_state = 16, .external_lex_state = 2}, - [170] = {.lex_state = 2, .external_lex_state = 3}, - [171] = {.lex_state = 2, .external_lex_state = 3}, + [170] = {.lex_state = 16, .external_lex_state = 2}, + [171] = {.lex_state = 16, .external_lex_state = 2}, [172] = {.lex_state = 16, .external_lex_state = 2}, - [173] = {.lex_state = 2, .external_lex_state = 3}, + [173] = {.lex_state = 16, .external_lex_state = 2}, [174] = {.lex_state = 16, .external_lex_state = 2}, [175] = {.lex_state = 16, .external_lex_state = 2}, [176] = {.lex_state = 16, .external_lex_state = 2}, @@ -3079,10 +3147,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [192] = {.lex_state = 16, .external_lex_state = 2}, [193] = {.lex_state = 16, .external_lex_state = 2}, [194] = {.lex_state = 16, .external_lex_state = 2}, - [195] = {.lex_state = 16, .external_lex_state = 2}, - [196] = {.lex_state = 16, .external_lex_state = 2}, + [195] = {.lex_state = 2, .external_lex_state = 3}, + [196] = {.lex_state = 2, .external_lex_state = 3}, [197] = {.lex_state = 16, .external_lex_state = 2}, - [198] = {.lex_state = 16, .external_lex_state = 2}, + [198] = {.lex_state = 2, .external_lex_state = 3}, [199] = {.lex_state = 16, .external_lex_state = 2}, [200] = {.lex_state = 16, .external_lex_state = 2}, [201] = {.lex_state = 16, .external_lex_state = 2}, @@ -3107,8 +3175,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [220] = {.lex_state = 16, .external_lex_state = 2}, [221] = {.lex_state = 16, .external_lex_state = 2}, [222] = {.lex_state = 16, .external_lex_state = 2}, - [223] = {.lex_state = 2, .external_lex_state = 3}, - [224] = {.lex_state = 2, .external_lex_state = 3}, + [223] = {.lex_state = 16, .external_lex_state = 2}, + [224] = {.lex_state = 16, .external_lex_state = 2}, [225] = {.lex_state = 16, .external_lex_state = 2}, [226] = {.lex_state = 16, .external_lex_state = 2}, [227] = {.lex_state = 16, .external_lex_state = 2}, @@ -3199,10 +3267,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [312] = {.lex_state = 16, .external_lex_state = 2}, [313] = {.lex_state = 16, .external_lex_state = 2}, [314] = {.lex_state = 16, .external_lex_state = 2}, - [315] = {.lex_state = 16, .external_lex_state = 2}, + [315] = {.lex_state = 2, .external_lex_state = 3}, [316] = {.lex_state = 16, .external_lex_state = 2}, [317] = {.lex_state = 16, .external_lex_state = 2}, - [318] = {.lex_state = 16, .external_lex_state = 2}, + [318] = {.lex_state = 2, .external_lex_state = 3}, [319] = {.lex_state = 16, .external_lex_state = 2}, [320] = {.lex_state = 16, .external_lex_state = 2}, [321] = {.lex_state = 16, .external_lex_state = 2}, @@ -3210,16 +3278,16 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [323] = {.lex_state = 16, .external_lex_state = 2}, [324] = {.lex_state = 16, .external_lex_state = 2}, [325] = {.lex_state = 16, .external_lex_state = 2}, - [326] = {.lex_state = 2, .external_lex_state = 3}, - [327] = {.lex_state = 2, .external_lex_state = 3}, - [328] = {.lex_state = 2, .external_lex_state = 3}, - [329] = {.lex_state = 2, .external_lex_state = 3}, - [330] = {.lex_state = 2, .external_lex_state = 3}, - [331] = {.lex_state = 2, .external_lex_state = 3}, - [332] = {.lex_state = 2, .external_lex_state = 3}, - [333] = {.lex_state = 2, .external_lex_state = 3}, - [334] = {.lex_state = 2, .external_lex_state = 3}, - [335] = {.lex_state = 2, .external_lex_state = 3}, + [326] = {.lex_state = 16, .external_lex_state = 2}, + [327] = {.lex_state = 16, .external_lex_state = 2}, + [328] = {.lex_state = 16, .external_lex_state = 2}, + [329] = {.lex_state = 16, .external_lex_state = 2}, + [330] = {.lex_state = 16, .external_lex_state = 2}, + [331] = {.lex_state = 16, .external_lex_state = 2}, + [332] = {.lex_state = 16, .external_lex_state = 2}, + [333] = {.lex_state = 16, .external_lex_state = 2}, + [334] = {.lex_state = 16, .external_lex_state = 2}, + [335] = {.lex_state = 16, .external_lex_state = 2}, [336] = {.lex_state = 2, .external_lex_state = 3}, [337] = {.lex_state = 2, .external_lex_state = 3}, [338] = {.lex_state = 2, .external_lex_state = 3}, @@ -3419,209 +3487,209 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [532] = {.lex_state = 2, .external_lex_state = 3}, [533] = {.lex_state = 2, .external_lex_state = 3}, [534] = {.lex_state = 2, .external_lex_state = 3}, - [535] = {.lex_state = 16, .external_lex_state = 2}, - [536] = {.lex_state = 16, .external_lex_state = 2}, - [537] = {.lex_state = 16, .external_lex_state = 2}, - [538] = {.lex_state = 16, .external_lex_state = 2}, - [539] = {.lex_state = 16, .external_lex_state = 2}, - [540] = {.lex_state = 16, .external_lex_state = 2}, - [541] = {.lex_state = 16, .external_lex_state = 2}, - [542] = {.lex_state = 16, .external_lex_state = 2}, - [543] = {.lex_state = 5}, - [544] = {.lex_state = 0}, - [545] = {.lex_state = 3}, - [546] = {.lex_state = 5}, - [547] = {.lex_state = 5}, - [548] = {.lex_state = 3}, - [549] = {.lex_state = 5}, - [550] = {.lex_state = 5}, - [551] = {.lex_state = 0}, - [552] = {.lex_state = 5}, - [553] = {.lex_state = 3}, - [554] = {.lex_state = 0}, - [555] = {.lex_state = 3}, - [556] = {.lex_state = 5}, - [557] = {.lex_state = 5}, - [558] = {.lex_state = 3}, - [559] = {.lex_state = 5}, - [560] = {.lex_state = 5}, - [561] = {.lex_state = 5}, - [562] = {.lex_state = 3}, + [535] = {.lex_state = 2, .external_lex_state = 3}, + [536] = {.lex_state = 2, .external_lex_state = 3}, + [537] = {.lex_state = 2, .external_lex_state = 3}, + [538] = {.lex_state = 2, .external_lex_state = 3}, + [539] = {.lex_state = 2, .external_lex_state = 3}, + [540] = {.lex_state = 2, .external_lex_state = 3}, + [541] = {.lex_state = 2, .external_lex_state = 3}, + [542] = {.lex_state = 2, .external_lex_state = 3}, + [543] = {.lex_state = 2, .external_lex_state = 3}, + [544] = {.lex_state = 2, .external_lex_state = 3}, + [545] = {.lex_state = 2, .external_lex_state = 3}, + [546] = {.lex_state = 2, .external_lex_state = 3}, + [547] = {.lex_state = 2, .external_lex_state = 3}, + [548] = {.lex_state = 2, .external_lex_state = 3}, + [549] = {.lex_state = 2, .external_lex_state = 3}, + [550] = {.lex_state = 2, .external_lex_state = 3}, + [551] = {.lex_state = 2, .external_lex_state = 3}, + [552] = {.lex_state = 2, .external_lex_state = 3}, + [553] = {.lex_state = 2, .external_lex_state = 3}, + [554] = {.lex_state = 2, .external_lex_state = 3}, + [555] = {.lex_state = 16, .external_lex_state = 2}, + [556] = {.lex_state = 16, .external_lex_state = 2}, + [557] = {.lex_state = 16, .external_lex_state = 2}, + [558] = {.lex_state = 16, .external_lex_state = 2}, + [559] = {.lex_state = 16, .external_lex_state = 2}, + [560] = {.lex_state = 16, .external_lex_state = 2}, + [561] = {.lex_state = 16, .external_lex_state = 2}, + [562] = {.lex_state = 16, .external_lex_state = 2}, [563] = {.lex_state = 5}, - [564] = {.lex_state = 5}, + [564] = {.lex_state = 0}, [565] = {.lex_state = 5}, [566] = {.lex_state = 5}, - [567] = {.lex_state = 0}, + [567] = {.lex_state = 5}, [568] = {.lex_state = 5}, [569] = {.lex_state = 5}, - [570] = {.lex_state = 5}, + [570] = {.lex_state = 0}, [571] = {.lex_state = 5}, [572] = {.lex_state = 5}, [573] = {.lex_state = 5}, [574] = {.lex_state = 5}, - [575] = {.lex_state = 0}, + [575] = {.lex_state = 3}, [576] = {.lex_state = 5}, - [577] = {.lex_state = 5}, - [578] = {.lex_state = 5}, - [579] = {.lex_state = 0}, - [580] = {.lex_state = 5}, - [581] = {.lex_state = 5}, + [577] = {.lex_state = 3}, + [578] = {.lex_state = 0}, + [579] = {.lex_state = 3}, + [580] = {.lex_state = 3}, + [581] = {.lex_state = 3}, [582] = {.lex_state = 5}, [583] = {.lex_state = 5}, [584] = {.lex_state = 5}, [585] = {.lex_state = 5}, - [586] = {.lex_state = 0}, - [587] = {.lex_state = 5}, + [586] = {.lex_state = 3}, + [587] = {.lex_state = 0}, [588] = {.lex_state = 5}, [589] = {.lex_state = 5}, [590] = {.lex_state = 5}, [591] = {.lex_state = 5}, [592] = {.lex_state = 5}, - [593] = {.lex_state = 0}, + [593] = {.lex_state = 5}, [594] = {.lex_state = 5}, [595] = {.lex_state = 5}, [596] = {.lex_state = 5}, [597] = {.lex_state = 5}, [598] = {.lex_state = 5}, [599] = {.lex_state = 5}, - [600] = {.lex_state = 3}, - [601] = {.lex_state = 3}, - [602] = {.lex_state = 0}, - [603] = {.lex_state = 0}, - [604] = {.lex_state = 0}, - [605] = {.lex_state = 0}, - [606] = {.lex_state = 16}, - [607] = {.lex_state = 3}, - [608] = {.lex_state = 16}, - [609] = {.lex_state = 16}, - [610] = {.lex_state = 0}, - [611] = {.lex_state = 0}, - [612] = {.lex_state = 3}, - [613] = {.lex_state = 16}, - [614] = {.lex_state = 3}, - [615] = {.lex_state = 0}, - [616] = {.lex_state = 0}, + [600] = {.lex_state = 5}, + [601] = {.lex_state = 5}, + [602] = {.lex_state = 5}, + [603] = {.lex_state = 5}, + [604] = {.lex_state = 5}, + [605] = {.lex_state = 5}, + [606] = {.lex_state = 5}, + [607] = {.lex_state = 5}, + [608] = {.lex_state = 5}, + [609] = {.lex_state = 5}, + [610] = {.lex_state = 5}, + [611] = {.lex_state = 5}, + [612] = {.lex_state = 5}, + [613] = {.lex_state = 5}, + [614] = {.lex_state = 0}, + [615] = {.lex_state = 5}, + [616] = {.lex_state = 5}, [617] = {.lex_state = 5}, - [618] = {.lex_state = 4}, - [619] = {.lex_state = 4}, - [620] = {.lex_state = 3}, - [621] = {.lex_state = 3}, - [622] = {.lex_state = 3}, - [623] = {.lex_state = 3}, - [624] = {.lex_state = 3}, - [625] = {.lex_state = 3}, - [626] = {.lex_state = 3}, - [627] = {.lex_state = 3}, - [628] = {.lex_state = 3}, - [629] = {.lex_state = 3}, - [630] = {.lex_state = 3}, - [631] = {.lex_state = 3}, - [632] = {.lex_state = 3}, - [633] = {.lex_state = 0}, - [634] = {.lex_state = 4}, + [618] = {.lex_state = 5}, + [619] = {.lex_state = 5}, + [620] = {.lex_state = 5}, + [621] = {.lex_state = 0}, + [622] = {.lex_state = 5}, + [623] = {.lex_state = 5}, + [624] = {.lex_state = 5}, + [625] = {.lex_state = 0}, + [626] = {.lex_state = 5}, + [627] = {.lex_state = 0}, + [628] = {.lex_state = 5}, + [629] = {.lex_state = 5}, + [630] = {.lex_state = 5}, + [631] = {.lex_state = 5}, + [632] = {.lex_state = 5}, + [633] = {.lex_state = 5}, + [634] = {.lex_state = 3}, [635] = {.lex_state = 3}, [636] = {.lex_state = 3}, [637] = {.lex_state = 3}, [638] = {.lex_state = 3}, [639] = {.lex_state = 0}, - [640] = {.lex_state = 0}, + [640] = {.lex_state = 3}, [641] = {.lex_state = 0}, - [642] = {.lex_state = 4}, - [643] = {.lex_state = 0}, + [642] = {.lex_state = 16}, + [643] = {.lex_state = 3}, [644] = {.lex_state = 3}, [645] = {.lex_state = 3}, - [646] = {.lex_state = 0}, - [647] = {.lex_state = 4}, - [648] = {.lex_state = 0}, - [649] = {.lex_state = 3}, - [650] = {.lex_state = 0}, - [651] = {.lex_state = 0}, + [646] = {.lex_state = 3}, + [647] = {.lex_state = 16}, + [648] = {.lex_state = 3}, + [649] = {.lex_state = 4}, + [650] = {.lex_state = 3}, + [651] = {.lex_state = 3}, [652] = {.lex_state = 3}, [653] = {.lex_state = 0}, [654] = {.lex_state = 3}, [655] = {.lex_state = 0}, [656] = {.lex_state = 0}, - [657] = {.lex_state = 0}, + [657] = {.lex_state = 16}, [658] = {.lex_state = 0}, - [659] = {.lex_state = 0}, - [660] = {.lex_state = 0}, - [661] = {.lex_state = 0}, - [662] = {.lex_state = 0}, + [659] = {.lex_state = 3}, + [660] = {.lex_state = 3}, + [661] = {.lex_state = 3}, + [662] = {.lex_state = 3}, [663] = {.lex_state = 0}, - [664] = {.lex_state = 3}, + [664] = {.lex_state = 0}, [665] = {.lex_state = 0}, [666] = {.lex_state = 3}, - [667] = {.lex_state = 3}, - [668] = {.lex_state = 0}, - [669] = {.lex_state = 0}, - [670] = {.lex_state = 5}, - [671] = {.lex_state = 3}, - [672] = {.lex_state = 0}, + [667] = {.lex_state = 16}, + [668] = {.lex_state = 4}, + [669] = {.lex_state = 3}, + [670] = {.lex_state = 0}, + [671] = {.lex_state = 0}, + [672] = {.lex_state = 4}, [673] = {.lex_state = 0}, - [674] = {.lex_state = 0}, - [675] = {.lex_state = 0}, - [676] = {.lex_state = 0}, + [674] = {.lex_state = 3}, + [675] = {.lex_state = 3}, + [676] = {.lex_state = 3}, [677] = {.lex_state = 0}, - [678] = {.lex_state = 3}, - [679] = {.lex_state = 0}, - [680] = {.lex_state = 0}, - [681] = {.lex_state = 0}, - [682] = {.lex_state = 5}, - [683] = {.lex_state = 0}, + [678] = {.lex_state = 0}, + [679] = {.lex_state = 4}, + [680] = {.lex_state = 4}, + [681] = {.lex_state = 5}, + [682] = {.lex_state = 3}, + [683] = {.lex_state = 3}, [684] = {.lex_state = 0}, - [685] = {.lex_state = 3}, - [686] = {.lex_state = 3}, + [685] = {.lex_state = 5}, + [686] = {.lex_state = 0}, [687] = {.lex_state = 0}, - [688] = {.lex_state = 0}, + [688] = {.lex_state = 3}, [689] = {.lex_state = 0}, - [690] = {.lex_state = 0}, - [691] = {.lex_state = 3}, + [690] = {.lex_state = 3}, + [691] = {.lex_state = 5}, [692] = {.lex_state = 3}, - [693] = {.lex_state = 0}, - [694] = {.lex_state = 0}, - [695] = {.lex_state = 0}, + [693] = {.lex_state = 3}, + [694] = {.lex_state = 3}, + [695] = {.lex_state = 3}, [696] = {.lex_state = 0}, [697] = {.lex_state = 0}, - [698] = {.lex_state = 5}, + [698] = {.lex_state = 0}, [699] = {.lex_state = 0}, [700] = {.lex_state = 3}, - [701] = {.lex_state = 3}, - [702] = {.lex_state = 3}, - [703] = {.lex_state = 3}, - [704] = {.lex_state = 3}, + [701] = {.lex_state = 0}, + [702] = {.lex_state = 0}, + [703] = {.lex_state = 5}, + [704] = {.lex_state = 5}, [705] = {.lex_state = 3}, - [706] = {.lex_state = 3}, + [706] = {.lex_state = 0}, [707] = {.lex_state = 0}, - [708] = {.lex_state = 3}, - [709] = {.lex_state = 3}, - [710] = {.lex_state = 3}, + [708] = {.lex_state = 0}, + [709] = {.lex_state = 5}, + [710] = {.lex_state = 0}, [711] = {.lex_state = 0}, - [712] = {.lex_state = 3}, - [713] = {.lex_state = 0}, + [712] = {.lex_state = 5}, + [713] = {.lex_state = 3}, [714] = {.lex_state = 0}, - [715] = {.lex_state = 0}, + [715] = {.lex_state = 3}, [716] = {.lex_state = 0}, - [717] = {.lex_state = 0}, + [717] = {.lex_state = 3}, [718] = {.lex_state = 0}, - [719] = {.lex_state = 0}, + [719] = {.lex_state = 5}, [720] = {.lex_state = 0}, [721] = {.lex_state = 0}, [722] = {.lex_state = 0}, [723] = {.lex_state = 0}, - [724] = {.lex_state = 3}, + [724] = {.lex_state = 0}, [725] = {.lex_state = 0}, - [726] = {.lex_state = 3}, - [727] = {.lex_state = 3}, + [726] = {.lex_state = 0}, + [727] = {.lex_state = 0}, [728] = {.lex_state = 0}, - [729] = {.lex_state = 3}, - [730] = {.lex_state = 3}, + [729] = {.lex_state = 0}, + [730] = {.lex_state = 0}, [731] = {.lex_state = 0}, [732] = {.lex_state = 0}, - [733] = {.lex_state = 0}, - [734] = {.lex_state = 0}, - [735] = {.lex_state = 0}, - [736] = {.lex_state = 16}, - [737] = {.lex_state = 0}, + [733] = {.lex_state = 3}, + [734] = {.lex_state = 3}, + [735] = {.lex_state = 3}, + [736] = {.lex_state = 3}, + [737] = {.lex_state = 3}, [738] = {.lex_state = 0}, [739] = {.lex_state = 0}, [740] = {.lex_state = 0}, @@ -3635,26 +3703,26 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [748] = {.lex_state = 0}, [749] = {.lex_state = 0}, [750] = {.lex_state = 0}, - [751] = {.lex_state = 0}, + [751] = {.lex_state = 3}, [752] = {.lex_state = 0}, - [753] = {.lex_state = 0}, + [753] = {.lex_state = 3}, [754] = {.lex_state = 0}, - [755] = {.lex_state = 0}, + [755] = {.lex_state = 3}, [756] = {.lex_state = 0}, - [757] = {.lex_state = 5}, - [758] = {.lex_state = 0}, - [759] = {.lex_state = 5}, + [757] = {.lex_state = 0}, + [758] = {.lex_state = 3}, + [759] = {.lex_state = 3}, [760] = {.lex_state = 0}, [761] = {.lex_state = 0}, [762] = {.lex_state = 0}, - [763] = {.lex_state = 0}, + [763] = {.lex_state = 3}, [764] = {.lex_state = 0}, - [765] = {.lex_state = 5}, - [766] = {.lex_state = 0}, - [767] = {.lex_state = 0}, + [765] = {.lex_state = 3}, + [766] = {.lex_state = 3}, + [767] = {.lex_state = 3}, [768] = {.lex_state = 0}, [769] = {.lex_state = 0}, - [770] = {.lex_state = 16}, + [770] = {.lex_state = 3}, [771] = {.lex_state = 0}, [772] = {.lex_state = 0}, [773] = {.lex_state = 0}, @@ -3666,6 +3734,52 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [779] = {.lex_state = 0}, [780] = {.lex_state = 0}, [781] = {.lex_state = 0}, + [782] = {.lex_state = 0}, + [783] = {.lex_state = 0}, + [784] = {.lex_state = 0}, + [785] = {.lex_state = 0}, + [786] = {.lex_state = 16}, + [787] = {.lex_state = 0}, + [788] = {.lex_state = 0}, + [789] = {.lex_state = 0}, + [790] = {.lex_state = 0}, + [791] = {.lex_state = 0}, + [792] = {.lex_state = 0}, + [793] = {.lex_state = 0}, + [794] = {.lex_state = 0}, + [795] = {.lex_state = 0}, + [796] = {.lex_state = 0}, + [797] = {.lex_state = 0}, + [798] = {.lex_state = 0}, + [799] = {.lex_state = 0}, + [800] = {.lex_state = 5}, + [801] = {.lex_state = 0}, + [802] = {.lex_state = 0}, + [803] = {.lex_state = 5}, + [804] = {.lex_state = 0}, + [805] = {.lex_state = 0}, + [806] = {.lex_state = 0}, + [807] = {.lex_state = 5}, + [808] = {.lex_state = 0}, + [809] = {.lex_state = 0}, + [810] = {.lex_state = 0}, + [811] = {.lex_state = 0}, + [812] = {.lex_state = 5}, + [813] = {.lex_state = 0}, + [814] = {.lex_state = 0}, + [815] = {.lex_state = 0}, + [816] = {.lex_state = 0}, + [817] = {.lex_state = 0}, + [818] = {.lex_state = 0}, + [819] = {.lex_state = 16}, + [820] = {.lex_state = 0}, + [821] = {.lex_state = 0}, + [822] = {.lex_state = 0}, + [823] = {.lex_state = 0}, + [824] = {.lex_state = 0}, + [825] = {.lex_state = 0}, + [826] = {.lex_state = 5}, + [827] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3703,6 +3817,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(1), [anon_sym_LT_LT_EQ] = ACTIONS(1), [anon_sym_GT_GT_EQ] = ACTIONS(1), + [anon_sym_as] = ACTIONS(1), [anon_sym_BANG] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_TILDE] = ACTIONS(1), @@ -3755,85 +3870,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_raw_string] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(777), - [sym__statement] = STATE(97), - [sym_variable_declaration] = STATE(97), - [sym_function_definition] = STATE(15), - [sym_struct_definition] = STATE(15), - [sym__expression_or_sequence] = STATE(537), - [sym_tuple_expression] = STATE(537), - [sym__expression] = STATE(15), - [sym_parenthesized_expression] = STATE(15), - [sym_unit] = STATE(15), - [sym_tuple] = STATE(15), - [sym_assignment] = STATE(15), - [sym_augmented_assignment] = STATE(15), - [sym_unary_expression] = STATE(15), - [sym_not_expression] = STATE(15), - [sym_binary_expression] = STATE(15), - [sym_range_expression] = STATE(15), - [sym_call] = STATE(15), - [sym_index] = STATE(15), - [sym_member_expression] = STATE(15), - [sym_list] = STATE(15), - [sym_list_comprehension] = STATE(15), - [sym_map] = STATE(15), - [sym_map_comprehension] = STATE(15), - [sym_if_expression] = STATE(15), - [sym_while_expression] = STATE(15), - [sym_for_expression] = STATE(15), - [sym_block] = STATE(15), - [sym_return_expression] = STATE(15), - [sym__literal] = STATE(15), - [sym_boolean] = STATE(15), - [sym_special_constant] = STATE(15), - [sym_string] = STATE(15), - [aux_sym_source_file_repeat1] = STATE(97), - [ts_builtin_sym_end] = ACTIONS(5), - [sym_identifier] = ACTIONS(7), - [anon_sym_SEMI] = ACTIONS(9), - [anon_sym_let] = ACTIONS(11), - [anon_sym_pure] = ACTIONS(13), - [anon_sym_fn] = ACTIONS(15), - [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_struct] = ACTIONS(19), - [anon_sym_LBRACE] = ACTIONS(21), - [anon_sym_BANG] = ACTIONS(23), - [anon_sym_DASH] = ACTIONS(23), - [anon_sym_TILDE] = ACTIONS(23), - [anon_sym_not] = ACTIONS(25), - [anon_sym_DOT_DOT] = ACTIONS(27), - [anon_sym_DOT_DOT_EQ] = ACTIONS(29), - [anon_sym_LBRACK] = ACTIONS(31), - [anon_sym_PERCENT_LBRACE] = ACTIONS(33), - [anon_sym_for] = ACTIONS(35), - [anon_sym_if] = ACTIONS(37), - [anon_sym_while] = ACTIONS(39), - [anon_sym_return] = ACTIONS(41), - [sym_break_expression] = ACTIONS(7), - [sym_continue_expression] = ACTIONS(7), - [sym_integer] = ACTIONS(7), - [sym_float] = ACTIONS(7), - [sym_complex] = ACTIONS(43), - [anon_sym_true] = ACTIONS(45), - [anon_sym_false] = ACTIONS(45), - [anon_sym_Inf] = ACTIONS(47), - [anon_sym_NaN] = ACTIONS(47), - [anon_sym_DQUOTE] = ACTIONS(49), - [sym_comment] = ACTIONS(3), - [sym_raw_string] = ACTIONS(43), - }, - [2] = { + [sym_source_file] = STATE(813), + [sym__statement] = STATE(109), + [sym_variable_declaration] = STATE(109), [sym_function_definition] = STATE(14), [sym_struct_definition] = STATE(14), - [sym__expression_or_sequence] = STATE(52), - [sym_tuple_expression] = STATE(52), + [sym__expression_or_sequence] = STATE(561), + [sym_tuple_expression] = STATE(561), [sym__expression] = STATE(14), [sym_parenthesized_expression] = STATE(14), [sym_unit] = STATE(14), [sym_tuple] = STATE(14), [sym_assignment] = STATE(14), [sym_augmented_assignment] = STATE(14), + [sym_cast_expression] = STATE(14), [sym_unary_expression] = STATE(14), [sym_not_expression] = STATE(14), [sym_binary_expression] = STATE(14), @@ -3854,125 +3904,84 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_boolean] = STATE(14), [sym_special_constant] = STATE(14), [sym_string] = STATE(14), - [ts_builtin_sym_end] = ACTIONS(51), - [sym_identifier] = ACTIONS(53), - [anon_sym_SEMI] = ACTIONS(51), - [anon_sym_let] = ACTIONS(55), - [anon_sym_EQ] = ACTIONS(55), - [anon_sym_COMMA] = ACTIONS(51), + [aux_sym_source_file_repeat1] = STATE(109), + [ts_builtin_sym_end] = ACTIONS(5), + [sym_identifier] = ACTIONS(7), + [anon_sym_SEMI] = ACTIONS(9), + [anon_sym_let] = ACTIONS(11), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), [anon_sym_struct] = ACTIONS(19), [anon_sym_LBRACE] = ACTIONS(21), - [anon_sym_RBRACE] = ACTIONS(51), - [anon_sym_LT] = ACTIONS(55), - [anon_sym_GT] = ACTIONS(55), - [anon_sym_PLUS_EQ] = ACTIONS(51), - [anon_sym_DASH_EQ] = ACTIONS(51), - [anon_sym_STAR_EQ] = ACTIONS(51), - [anon_sym_SLASH_EQ] = ACTIONS(51), - [anon_sym_BSLASH_EQ] = ACTIONS(51), - [anon_sym_PERCENT_EQ] = ACTIONS(51), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(51), - [anon_sym_CARET_EQ] = ACTIONS(51), - [anon_sym_AMP_EQ] = ACTIONS(51), - [anon_sym_PIPE_EQ] = ACTIONS(51), - [anon_sym_TILDE_EQ] = ACTIONS(51), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(51), - [anon_sym_LT_GT_EQ] = ACTIONS(51), - [anon_sym_LT_LT_EQ] = ACTIONS(51), - [anon_sym_GT_GT_EQ] = ACTIONS(51), - [anon_sym_BANG] = ACTIONS(57), - [anon_sym_DASH] = ACTIONS(57), - [anon_sym_TILDE] = ACTIONS(57), + [anon_sym_BANG] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_TILDE] = ACTIONS(23), [anon_sym_not] = ACTIONS(25), - [anon_sym_or] = ACTIONS(55), - [anon_sym_and] = ACTIONS(55), - [anon_sym_LT_EQ_GT] = ACTIONS(51), - [anon_sym_GT_EQ_LT] = ACTIONS(51), - [anon_sym_LT_LT] = ACTIONS(55), - [anon_sym_GT_GT] = ACTIONS(55), - [anon_sym_PIPE] = ACTIONS(55), - [anon_sym_AMP] = ACTIONS(55), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_PLUS_PLUS] = ACTIONS(55), - [anon_sym_LT_GT] = ACTIONS(55), - [anon_sym_STAR] = ACTIONS(55), - [anon_sym_SLASH] = ACTIONS(55), - [anon_sym_BSLASH] = ACTIONS(55), - [anon_sym_PERCENT] = ACTIONS(55), - [anon_sym_PERCENT_PERCENT] = ACTIONS(55), - [anon_sym_EQ_EQ] = ACTIONS(51), - [anon_sym_BANG_EQ] = ACTIONS(51), - [anon_sym_GT_EQ] = ACTIONS(55), - [anon_sym_LT_EQ] = ACTIONS(55), - [anon_sym_in] = ACTIONS(55), - [anon_sym_CARET] = ACTIONS(55), [anon_sym_DOT_DOT] = ACTIONS(27), [anon_sym_DOT_DOT_EQ] = ACTIONS(29), [anon_sym_LBRACK] = ACTIONS(31), - [anon_sym_DOT] = ACTIONS(55), [anon_sym_PERCENT_LBRACE] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_if] = ACTIONS(37), [anon_sym_while] = ACTIONS(39), [anon_sym_return] = ACTIONS(41), - [sym_break_expression] = ACTIONS(53), - [sym_continue_expression] = ACTIONS(53), - [sym_integer] = ACTIONS(53), - [sym_float] = ACTIONS(53), - [sym_complex] = ACTIONS(59), + [sym_break_expression] = ACTIONS(7), + [sym_continue_expression] = ACTIONS(7), + [sym_integer] = ACTIONS(7), + [sym_float] = ACTIONS(7), + [sym_complex] = ACTIONS(43), [anon_sym_true] = ACTIONS(45), [anon_sym_false] = ACTIONS(45), [anon_sym_Inf] = ACTIONS(47), [anon_sym_NaN] = ACTIONS(47), [anon_sym_DQUOTE] = ACTIONS(49), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(51), - [sym_raw_string] = ACTIONS(59), + [sym_raw_string] = ACTIONS(43), }, - [3] = { - [sym_function_definition] = STATE(346), - [sym_struct_definition] = STATE(346), - [sym__expression_or_sequence] = STATE(350), - [sym_tuple_expression] = STATE(350), - [sym__expression] = STATE(346), - [sym_parenthesized_expression] = STATE(346), - [sym_unit] = STATE(346), - [sym_tuple] = STATE(346), - [sym_assignment] = STATE(346), - [sym_augmented_assignment] = STATE(346), - [sym_unary_expression] = STATE(346), - [sym_not_expression] = STATE(346), - [sym_binary_expression] = STATE(346), - [sym_range_expression] = STATE(346), - [sym_call] = STATE(346), - [sym_index] = STATE(346), - [sym_member_expression] = STATE(346), - [sym_list] = STATE(346), - [sym_list_comprehension] = STATE(346), - [sym_map] = STATE(346), - [sym_map_comprehension] = STATE(346), - [sym_if_expression] = STATE(346), - [sym_while_expression] = STATE(346), - [sym_for_expression] = STATE(346), - [sym_block] = STATE(346), - [sym_return_expression] = STATE(346), - [sym__literal] = STATE(346), - [sym_boolean] = STATE(346), - [sym_special_constant] = STATE(346), - [sym_string] = STATE(346), - [sym_identifier] = ACTIONS(61), - [anon_sym_COLON] = ACTIONS(51), + [2] = { + [sym_function_definition] = STATE(15), + [sym_struct_definition] = STATE(15), + [sym__expression_or_sequence] = STATE(53), + [sym_tuple_expression] = STATE(53), + [sym__expression] = STATE(15), + [sym_parenthesized_expression] = STATE(15), + [sym_unit] = STATE(15), + [sym_tuple] = STATE(15), + [sym_assignment] = STATE(15), + [sym_augmented_assignment] = STATE(15), + [sym_cast_expression] = STATE(15), + [sym_unary_expression] = STATE(15), + [sym_not_expression] = STATE(15), + [sym_binary_expression] = STATE(15), + [sym_range_expression] = STATE(15), + [sym_call] = STATE(15), + [sym_index] = STATE(15), + [sym_member_expression] = STATE(15), + [sym_list] = STATE(15), + [sym_list_comprehension] = STATE(15), + [sym_map] = STATE(15), + [sym_map_comprehension] = STATE(15), + [sym_if_expression] = STATE(15), + [sym_while_expression] = STATE(15), + [sym_for_expression] = STATE(15), + [sym_block] = STATE(15), + [sym_return_expression] = STATE(15), + [sym__literal] = STATE(15), + [sym_boolean] = STATE(15), + [sym_special_constant] = STATE(15), + [sym_string] = STATE(15), + [ts_builtin_sym_end] = ACTIONS(51), + [sym_identifier] = ACTIONS(53), + [anon_sym_SEMI] = ACTIONS(51), + [anon_sym_let] = ACTIONS(55), [anon_sym_EQ] = ACTIONS(55), [anon_sym_COMMA] = ACTIONS(51), - [anon_sym_pure] = ACTIONS(63), - [anon_sym_fn] = ACTIONS(65), - [anon_sym_LPAREN] = ACTIONS(67), - [anon_sym_RPAREN] = ACTIONS(51), - [anon_sym_struct] = ACTIONS(69), - [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_pure] = ACTIONS(13), + [anon_sym_fn] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(17), + [anon_sym_struct] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), [anon_sym_RBRACE] = ACTIONS(51), [anon_sym_LT] = ACTIONS(55), [anon_sym_GT] = ACTIONS(55), @@ -3991,10 +4000,121 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(51), [anon_sym_LT_LT_EQ] = ACTIONS(51), [anon_sym_GT_GT_EQ] = ACTIONS(51), - [anon_sym_BANG] = ACTIONS(73), - [anon_sym_DASH] = ACTIONS(73), - [anon_sym_TILDE] = ACTIONS(73), - [anon_sym_not] = ACTIONS(75), + [anon_sym_as] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(57), + [anon_sym_DASH] = ACTIONS(57), + [anon_sym_TILDE] = ACTIONS(57), + [anon_sym_not] = ACTIONS(25), + [anon_sym_or] = ACTIONS(55), + [anon_sym_and] = ACTIONS(55), + [anon_sym_LT_EQ_GT] = ACTIONS(51), + [anon_sym_GT_EQ_LT] = ACTIONS(51), + [anon_sym_LT_LT] = ACTIONS(55), + [anon_sym_GT_GT] = ACTIONS(55), + [anon_sym_PIPE] = ACTIONS(55), + [anon_sym_AMP] = ACTIONS(55), + [anon_sym_PLUS] = ACTIONS(55), + [anon_sym_PLUS_PLUS] = ACTIONS(55), + [anon_sym_LT_GT] = ACTIONS(55), + [anon_sym_STAR] = ACTIONS(55), + [anon_sym_SLASH] = ACTIONS(55), + [anon_sym_BSLASH] = ACTIONS(55), + [anon_sym_PERCENT] = ACTIONS(55), + [anon_sym_PERCENT_PERCENT] = ACTIONS(55), + [anon_sym_EQ_EQ] = ACTIONS(51), + [anon_sym_BANG_EQ] = ACTIONS(51), + [anon_sym_GT_EQ] = ACTIONS(55), + [anon_sym_LT_EQ] = ACTIONS(55), + [anon_sym_in] = ACTIONS(55), + [anon_sym_CARET] = ACTIONS(55), + [anon_sym_DOT_DOT] = ACTIONS(27), + [anon_sym_DOT_DOT_EQ] = ACTIONS(29), + [anon_sym_LBRACK] = ACTIONS(31), + [anon_sym_DOT] = ACTIONS(55), + [anon_sym_PERCENT_LBRACE] = ACTIONS(33), + [anon_sym_for] = ACTIONS(35), + [anon_sym_if] = ACTIONS(37), + [anon_sym_while] = ACTIONS(39), + [anon_sym_return] = ACTIONS(41), + [sym_break_expression] = ACTIONS(53), + [sym_continue_expression] = ACTIONS(53), + [sym_integer] = ACTIONS(53), + [sym_float] = ACTIONS(53), + [sym_complex] = ACTIONS(59), + [anon_sym_true] = ACTIONS(45), + [anon_sym_false] = ACTIONS(45), + [anon_sym_Inf] = ACTIONS(47), + [anon_sym_NaN] = ACTIONS(47), + [anon_sym_DQUOTE] = ACTIONS(49), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(51), + [sym_raw_string] = ACTIONS(59), + }, + [3] = { + [sym_function_definition] = STATE(373), + [sym_struct_definition] = STATE(373), + [sym__expression_or_sequence] = STATE(342), + [sym_tuple_expression] = STATE(342), + [sym__expression] = STATE(373), + [sym_parenthesized_expression] = STATE(373), + [sym_unit] = STATE(373), + [sym_tuple] = STATE(373), + [sym_assignment] = STATE(373), + [sym_augmented_assignment] = STATE(373), + [sym_cast_expression] = STATE(373), + [sym_unary_expression] = STATE(373), + [sym_not_expression] = STATE(373), + [sym_binary_expression] = STATE(373), + [sym_range_expression] = STATE(373), + [sym_call] = STATE(373), + [sym_index] = STATE(373), + [sym_member_expression] = STATE(373), + [sym_list] = STATE(373), + [sym_list_comprehension] = STATE(373), + [sym_map] = STATE(373), + [sym_map_comprehension] = STATE(373), + [sym_if_expression] = STATE(373), + [sym_while_expression] = STATE(373), + [sym_for_expression] = STATE(373), + [sym_block] = STATE(373), + [sym_return_expression] = STATE(373), + [sym__literal] = STATE(373), + [sym_boolean] = STATE(373), + [sym_special_constant] = STATE(373), + [sym_string] = STATE(373), + [sym_identifier] = ACTIONS(61), + [anon_sym_COLON] = ACTIONS(51), + [anon_sym_EQ] = ACTIONS(55), + [anon_sym_COMMA] = ACTIONS(51), + [anon_sym_pure] = ACTIONS(63), + [anon_sym_fn] = ACTIONS(65), + [anon_sym_LPAREN] = ACTIONS(67), + [anon_sym_RPAREN] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_RBRACE] = ACTIONS(51), + [anon_sym_LT] = ACTIONS(55), + [anon_sym_GT] = ACTIONS(55), + [anon_sym_PLUS_EQ] = ACTIONS(51), + [anon_sym_DASH_EQ] = ACTIONS(51), + [anon_sym_STAR_EQ] = ACTIONS(51), + [anon_sym_SLASH_EQ] = ACTIONS(51), + [anon_sym_BSLASH_EQ] = ACTIONS(51), + [anon_sym_PERCENT_EQ] = ACTIONS(51), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(51), + [anon_sym_CARET_EQ] = ACTIONS(51), + [anon_sym_AMP_EQ] = ACTIONS(51), + [anon_sym_PIPE_EQ] = ACTIONS(51), + [anon_sym_TILDE_EQ] = ACTIONS(51), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(51), + [anon_sym_LT_GT_EQ] = ACTIONS(51), + [anon_sym_LT_LT_EQ] = ACTIONS(51), + [anon_sym_GT_GT_EQ] = ACTIONS(51), + [anon_sym_as] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_TILDE] = ACTIONS(73), + [anon_sym_not] = ACTIONS(75), [anon_sym_or] = ACTIONS(55), [anon_sym_and] = ACTIONS(55), [anon_sym_LT_EQ_GT] = ACTIONS(51), @@ -4042,36 +4162,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_raw_string] = ACTIONS(93), }, [4] = { - [sym_function_definition] = STATE(364), - [sym_struct_definition] = STATE(364), - [sym__expression_or_sequence] = STATE(350), - [sym_tuple_expression] = STATE(350), - [sym__expression] = STATE(364), - [sym_parenthesized_expression] = STATE(364), - [sym_unit] = STATE(364), - [sym_tuple] = STATE(364), - [sym_assignment] = STATE(364), - [sym_augmented_assignment] = STATE(364), - [sym_unary_expression] = STATE(364), - [sym_not_expression] = STATE(364), - [sym_binary_expression] = STATE(364), - [sym_range_expression] = STATE(364), - [sym_call] = STATE(364), - [sym_index] = STATE(364), - [sym_member_expression] = STATE(364), - [sym_list] = STATE(364), - [sym_list_comprehension] = STATE(364), - [sym_map] = STATE(364), - [sym_map_comprehension] = STATE(364), - [sym_if_expression] = STATE(364), - [sym_while_expression] = STATE(364), - [sym_for_expression] = STATE(364), - [sym_block] = STATE(364), - [sym_return_expression] = STATE(364), - [sym__literal] = STATE(364), - [sym_boolean] = STATE(364), - [sym_special_constant] = STATE(364), - [sym_string] = STATE(364), + [sym_function_definition] = STATE(393), + [sym_struct_definition] = STATE(393), + [sym__expression_or_sequence] = STATE(342), + [sym_tuple_expression] = STATE(342), + [sym__expression] = STATE(393), + [sym_parenthesized_expression] = STATE(393), + [sym_unit] = STATE(393), + [sym_tuple] = STATE(393), + [sym_assignment] = STATE(393), + [sym_augmented_assignment] = STATE(393), + [sym_cast_expression] = STATE(393), + [sym_unary_expression] = STATE(393), + [sym_not_expression] = STATE(393), + [sym_binary_expression] = STATE(393), + [sym_range_expression] = STATE(393), + [sym_call] = STATE(393), + [sym_index] = STATE(393), + [sym_member_expression] = STATE(393), + [sym_list] = STATE(393), + [sym_list_comprehension] = STATE(393), + [sym_map] = STATE(393), + [sym_map_comprehension] = STATE(393), + [sym_if_expression] = STATE(393), + [sym_while_expression] = STATE(393), + [sym_for_expression] = STATE(393), + [sym_block] = STATE(393), + [sym_return_expression] = STATE(393), + [sym__literal] = STATE(393), + [sym_boolean] = STATE(393), + [sym_special_constant] = STATE(393), + [sym_string] = STATE(393), [sym_identifier] = ACTIONS(101), [anon_sym_COLON] = ACTIONS(51), [anon_sym_EQ] = ACTIONS(55), @@ -4099,6 +4220,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(51), [anon_sym_LT_LT_EQ] = ACTIONS(51), [anon_sym_GT_GT_EQ] = ACTIONS(51), + [anon_sym_as] = ACTIONS(55), [anon_sym_BANG] = ACTIONS(107), [anon_sym_DASH] = ACTIONS(107), [anon_sym_TILDE] = ACTIONS(107), @@ -4150,113 +4272,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_raw_string] = ACTIONS(117), }, [5] = { - [sym_function_definition] = STATE(421), - [sym_struct_definition] = STATE(421), - [sym__expression] = STATE(421), - [sym_parenthesized_expression] = STATE(421), - [sym_unit] = STATE(421), - [sym_tuple] = STATE(421), - [sym_assignment] = STATE(421), - [sym_augmented_assignment] = STATE(421), - [sym_unary_expression] = STATE(421), - [sym_not_expression] = STATE(421), - [sym_binary_expression] = STATE(421), - [sym_range_expression] = STATE(421), - [sym_call] = STATE(421), - [sym_index] = STATE(421), - [sym_member_expression] = STATE(421), - [sym_list] = STATE(421), - [sym_list_comprehension] = STATE(421), - [sym_map] = STATE(421), - [sym_map_comprehension] = STATE(421), - [sym_if_expression] = STATE(421), - [sym_while_expression] = STATE(421), - [sym_for_expression] = STATE(421), - [sym_block] = STATE(421), - [sym_return_expression] = STATE(421), - [sym__literal] = STATE(421), - [sym_boolean] = STATE(421), - [sym_special_constant] = STATE(421), - [sym_string] = STATE(421), - [sym_identifier] = ACTIONS(119), - [anon_sym_COLON] = ACTIONS(121), - [anon_sym_EQ] = ACTIONS(123), - [anon_sym_COMMA] = ACTIONS(121), - [anon_sym_pure] = ACTIONS(63), - [anon_sym_fn] = ACTIONS(65), - [anon_sym_LPAREN] = ACTIONS(121), - [anon_sym_RPAREN] = ACTIONS(121), - [anon_sym_struct] = ACTIONS(69), - [anon_sym_LBRACE] = ACTIONS(71), - [anon_sym_RBRACE] = ACTIONS(121), - [anon_sym_LT] = ACTIONS(123), - [anon_sym_GT] = ACTIONS(123), - [anon_sym_PLUS_EQ] = ACTIONS(121), - [anon_sym_DASH_EQ] = ACTIONS(121), - [anon_sym_STAR_EQ] = ACTIONS(121), - [anon_sym_SLASH_EQ] = ACTIONS(121), - [anon_sym_BSLASH_EQ] = ACTIONS(121), - [anon_sym_PERCENT_EQ] = ACTIONS(121), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(121), - [anon_sym_CARET_EQ] = ACTIONS(121), - [anon_sym_AMP_EQ] = ACTIONS(121), - [anon_sym_PIPE_EQ] = ACTIONS(121), - [anon_sym_TILDE_EQ] = ACTIONS(121), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(121), - [anon_sym_LT_GT_EQ] = ACTIONS(121), - [anon_sym_LT_LT_EQ] = ACTIONS(121), - [anon_sym_GT_GT_EQ] = ACTIONS(121), - [anon_sym_BANG] = ACTIONS(73), - [anon_sym_DASH] = ACTIONS(123), - [anon_sym_TILDE] = ACTIONS(123), - [anon_sym_not] = ACTIONS(123), - [anon_sym_or] = ACTIONS(123), - [anon_sym_and] = ACTIONS(123), - [anon_sym_LT_EQ_GT] = ACTIONS(121), - [anon_sym_GT_EQ_LT] = ACTIONS(121), - [anon_sym_LT_LT] = ACTIONS(123), - [anon_sym_GT_GT] = ACTIONS(123), - [anon_sym_PIPE] = ACTIONS(123), - [anon_sym_AMP] = ACTIONS(123), - [anon_sym_PLUS] = ACTIONS(123), - [anon_sym_PLUS_PLUS] = ACTIONS(123), - [anon_sym_LT_GT] = ACTIONS(123), - [anon_sym_STAR] = ACTIONS(123), - [anon_sym_SLASH] = ACTIONS(123), - [anon_sym_BSLASH] = ACTIONS(123), - [anon_sym_PERCENT] = ACTIONS(123), - [anon_sym_PERCENT_PERCENT] = ACTIONS(123), - [anon_sym_EQ_EQ] = ACTIONS(121), - [anon_sym_BANG_EQ] = ACTIONS(121), - [anon_sym_GT_EQ] = ACTIONS(123), - [anon_sym_LT_EQ] = ACTIONS(123), - [anon_sym_in] = ACTIONS(123), - [anon_sym_CARET] = ACTIONS(123), - [anon_sym_DOT_DOT] = ACTIONS(123), - [anon_sym_DOT_DOT_EQ] = ACTIONS(121), - [anon_sym_LBRACK] = ACTIONS(121), - [anon_sym_RBRACK] = ACTIONS(121), - [anon_sym_DOT] = ACTIONS(123), - [anon_sym_PERCENT_LBRACE] = ACTIONS(83), - [anon_sym_for] = ACTIONS(85), - [anon_sym_if] = ACTIONS(87), - [anon_sym_while] = ACTIONS(89), - [anon_sym_return] = ACTIONS(91), - [sym_break_expression] = ACTIONS(119), - [sym_continue_expression] = ACTIONS(119), - [sym_integer] = ACTIONS(119), - [sym_float] = ACTIONS(119), - [sym_complex] = ACTIONS(125), - [anon_sym_true] = ACTIONS(95), - [anon_sym_false] = ACTIONS(95), - [anon_sym_Inf] = ACTIONS(97), - [anon_sym_NaN] = ACTIONS(97), - [anon_sym_DQUOTE] = ACTIONS(99), - [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(121), - [sym_raw_string] = ACTIONS(125), - }, - [6] = { [sym_function_definition] = STATE(23), [sym_struct_definition] = STATE(23), [sym__expression] = STATE(23), @@ -4265,6 +4280,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_tuple] = STATE(23), [sym_assignment] = STATE(23), [sym_augmented_assignment] = STATE(23), + [sym_cast_expression] = STATE(23), [sym_unary_expression] = STATE(23), [sym_not_expression] = STATE(23), [sym_binary_expression] = STATE(23), @@ -4285,115 +4301,226 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_boolean] = STATE(23), [sym_special_constant] = STATE(23), [sym_string] = STATE(23), - [ts_builtin_sym_end] = ACTIONS(121), + [ts_builtin_sym_end] = ACTIONS(119), + [sym_identifier] = ACTIONS(121), + [anon_sym_SEMI] = ACTIONS(119), + [anon_sym_let] = ACTIONS(121), + [anon_sym_EQ] = ACTIONS(121), + [anon_sym_COMMA] = ACTIONS(119), + [anon_sym_pure] = ACTIONS(121), + [anon_sym_fn] = ACTIONS(121), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_struct] = ACTIONS(121), + [anon_sym_LBRACE] = ACTIONS(119), + [anon_sym_RBRACE] = ACTIONS(119), + [anon_sym_LT] = ACTIONS(121), + [anon_sym_GT] = ACTIONS(121), + [anon_sym_PLUS_EQ] = ACTIONS(119), + [anon_sym_DASH_EQ] = ACTIONS(119), + [anon_sym_STAR_EQ] = ACTIONS(119), + [anon_sym_SLASH_EQ] = ACTIONS(119), + [anon_sym_BSLASH_EQ] = ACTIONS(119), + [anon_sym_PERCENT_EQ] = ACTIONS(119), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(119), + [anon_sym_CARET_EQ] = ACTIONS(119), + [anon_sym_AMP_EQ] = ACTIONS(119), + [anon_sym_PIPE_EQ] = ACTIONS(119), + [anon_sym_TILDE_EQ] = ACTIONS(119), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(119), + [anon_sym_LT_GT_EQ] = ACTIONS(119), + [anon_sym_LT_LT_EQ] = ACTIONS(119), + [anon_sym_GT_GT_EQ] = ACTIONS(119), + [anon_sym_as] = ACTIONS(121), + [anon_sym_BANG] = ACTIONS(121), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_not] = ACTIONS(121), + [anon_sym_or] = ACTIONS(121), + [anon_sym_and] = ACTIONS(121), + [anon_sym_LT_EQ_GT] = ACTIONS(119), + [anon_sym_GT_EQ_LT] = ACTIONS(119), + [anon_sym_LT_LT] = ACTIONS(121), + [anon_sym_GT_GT] = ACTIONS(121), + [anon_sym_PIPE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_PLUS_PLUS] = ACTIONS(121), + [anon_sym_LT_GT] = ACTIONS(121), + [anon_sym_STAR] = ACTIONS(121), + [anon_sym_SLASH] = ACTIONS(121), + [anon_sym_BSLASH] = ACTIONS(121), + [anon_sym_PERCENT] = ACTIONS(121), + [anon_sym_PERCENT_PERCENT] = ACTIONS(121), + [anon_sym_EQ_EQ] = ACTIONS(119), + [anon_sym_BANG_EQ] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(121), + [anon_sym_LT_EQ] = ACTIONS(121), + [anon_sym_in] = ACTIONS(121), + [anon_sym_CARET] = ACTIONS(121), + [anon_sym_DOT_DOT] = ACTIONS(121), + [anon_sym_DOT_DOT_EQ] = ACTIONS(119), + [anon_sym_LBRACK] = ACTIONS(119), + [anon_sym_DOT] = ACTIONS(121), + [anon_sym_PERCENT_LBRACE] = ACTIONS(119), + [anon_sym_for] = ACTIONS(121), + [anon_sym_if] = ACTIONS(121), + [anon_sym_while] = ACTIONS(121), + [anon_sym_return] = ACTIONS(121), + [sym_break_expression] = ACTIONS(121), + [sym_continue_expression] = ACTIONS(121), + [sym_integer] = ACTIONS(121), + [sym_float] = ACTIONS(121), + [sym_complex] = ACTIONS(119), + [anon_sym_true] = ACTIONS(121), + [anon_sym_false] = ACTIONS(121), + [anon_sym_Inf] = ACTIONS(121), + [anon_sym_NaN] = ACTIONS(121), + [anon_sym_DQUOTE] = ACTIONS(119), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(119), + [sym_raw_string] = ACTIONS(119), + }, + [6] = { + [sym_function_definition] = STATE(442), + [sym_struct_definition] = STATE(442), + [sym__expression] = STATE(442), + [sym_parenthesized_expression] = STATE(442), + [sym_unit] = STATE(442), + [sym_tuple] = STATE(442), + [sym_assignment] = STATE(442), + [sym_augmented_assignment] = STATE(442), + [sym_cast_expression] = STATE(442), + [sym_unary_expression] = STATE(442), + [sym_not_expression] = STATE(442), + [sym_binary_expression] = STATE(442), + [sym_range_expression] = STATE(442), + [sym_call] = STATE(442), + [sym_index] = STATE(442), + [sym_member_expression] = STATE(442), + [sym_list] = STATE(442), + [sym_list_comprehension] = STATE(442), + [sym_map] = STATE(442), + [sym_map_comprehension] = STATE(442), + [sym_if_expression] = STATE(442), + [sym_while_expression] = STATE(442), + [sym_for_expression] = STATE(442), + [sym_block] = STATE(442), + [sym_return_expression] = STATE(442), + [sym__literal] = STATE(442), + [sym_boolean] = STATE(442), + [sym_special_constant] = STATE(442), + [sym_string] = STATE(442), [sym_identifier] = ACTIONS(123), - [anon_sym_SEMI] = ACTIONS(121), - [anon_sym_let] = ACTIONS(123), - [anon_sym_EQ] = ACTIONS(123), - [anon_sym_COMMA] = ACTIONS(121), - [anon_sym_pure] = ACTIONS(123), - [anon_sym_fn] = ACTIONS(123), - [anon_sym_LPAREN] = ACTIONS(121), - [anon_sym_struct] = ACTIONS(123), - [anon_sym_LBRACE] = ACTIONS(121), - [anon_sym_RBRACE] = ACTIONS(121), - [anon_sym_LT] = ACTIONS(123), - [anon_sym_GT] = ACTIONS(123), - [anon_sym_PLUS_EQ] = ACTIONS(121), - [anon_sym_DASH_EQ] = ACTIONS(121), - [anon_sym_STAR_EQ] = ACTIONS(121), - [anon_sym_SLASH_EQ] = ACTIONS(121), - [anon_sym_BSLASH_EQ] = ACTIONS(121), - [anon_sym_PERCENT_EQ] = ACTIONS(121), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(121), - [anon_sym_CARET_EQ] = ACTIONS(121), - [anon_sym_AMP_EQ] = ACTIONS(121), - [anon_sym_PIPE_EQ] = ACTIONS(121), - [anon_sym_TILDE_EQ] = ACTIONS(121), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(121), - [anon_sym_LT_GT_EQ] = ACTIONS(121), - [anon_sym_LT_LT_EQ] = ACTIONS(121), - [anon_sym_GT_GT_EQ] = ACTIONS(121), - [anon_sym_BANG] = ACTIONS(123), - [anon_sym_DASH] = ACTIONS(123), - [anon_sym_TILDE] = ACTIONS(123), - [anon_sym_not] = ACTIONS(123), - [anon_sym_or] = ACTIONS(123), - [anon_sym_and] = ACTIONS(123), - [anon_sym_LT_EQ_GT] = ACTIONS(121), - [anon_sym_GT_EQ_LT] = ACTIONS(121), - [anon_sym_LT_LT] = ACTIONS(123), - [anon_sym_GT_GT] = ACTIONS(123), - [anon_sym_PIPE] = ACTIONS(123), - [anon_sym_AMP] = ACTIONS(123), - [anon_sym_PLUS] = ACTIONS(123), - [anon_sym_PLUS_PLUS] = ACTIONS(123), - [anon_sym_LT_GT] = ACTIONS(123), - [anon_sym_STAR] = ACTIONS(123), - [anon_sym_SLASH] = ACTIONS(123), - [anon_sym_BSLASH] = ACTIONS(123), - [anon_sym_PERCENT] = ACTIONS(123), - [anon_sym_PERCENT_PERCENT] = ACTIONS(123), - [anon_sym_EQ_EQ] = ACTIONS(121), - [anon_sym_BANG_EQ] = ACTIONS(121), - [anon_sym_GT_EQ] = ACTIONS(123), - [anon_sym_LT_EQ] = ACTIONS(123), - [anon_sym_in] = ACTIONS(123), - [anon_sym_CARET] = ACTIONS(123), - [anon_sym_DOT_DOT] = ACTIONS(123), - [anon_sym_DOT_DOT_EQ] = ACTIONS(121), - [anon_sym_LBRACK] = ACTIONS(121), - [anon_sym_DOT] = ACTIONS(123), - [anon_sym_PERCENT_LBRACE] = ACTIONS(121), - [anon_sym_for] = ACTIONS(123), - [anon_sym_if] = ACTIONS(123), - [anon_sym_while] = ACTIONS(123), - [anon_sym_return] = ACTIONS(123), + [anon_sym_COLON] = ACTIONS(119), + [anon_sym_EQ] = ACTIONS(121), + [anon_sym_COMMA] = ACTIONS(119), + [anon_sym_pure] = ACTIONS(63), + [anon_sym_fn] = ACTIONS(65), + [anon_sym_LPAREN] = ACTIONS(119), + [anon_sym_RPAREN] = ACTIONS(119), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_RBRACE] = ACTIONS(119), + [anon_sym_LT] = ACTIONS(121), + [anon_sym_GT] = ACTIONS(121), + [anon_sym_PLUS_EQ] = ACTIONS(119), + [anon_sym_DASH_EQ] = ACTIONS(119), + [anon_sym_STAR_EQ] = ACTIONS(119), + [anon_sym_SLASH_EQ] = ACTIONS(119), + [anon_sym_BSLASH_EQ] = ACTIONS(119), + [anon_sym_PERCENT_EQ] = ACTIONS(119), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(119), + [anon_sym_CARET_EQ] = ACTIONS(119), + [anon_sym_AMP_EQ] = ACTIONS(119), + [anon_sym_PIPE_EQ] = ACTIONS(119), + [anon_sym_TILDE_EQ] = ACTIONS(119), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(119), + [anon_sym_LT_GT_EQ] = ACTIONS(119), + [anon_sym_LT_LT_EQ] = ACTIONS(119), + [anon_sym_GT_GT_EQ] = ACTIONS(119), + [anon_sym_as] = ACTIONS(121), + [anon_sym_BANG] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_not] = ACTIONS(121), + [anon_sym_or] = ACTIONS(121), + [anon_sym_and] = ACTIONS(121), + [anon_sym_LT_EQ_GT] = ACTIONS(119), + [anon_sym_GT_EQ_LT] = ACTIONS(119), + [anon_sym_LT_LT] = ACTIONS(121), + [anon_sym_GT_GT] = ACTIONS(121), + [anon_sym_PIPE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_PLUS_PLUS] = ACTIONS(121), + [anon_sym_LT_GT] = ACTIONS(121), + [anon_sym_STAR] = ACTIONS(121), + [anon_sym_SLASH] = ACTIONS(121), + [anon_sym_BSLASH] = ACTIONS(121), + [anon_sym_PERCENT] = ACTIONS(121), + [anon_sym_PERCENT_PERCENT] = ACTIONS(121), + [anon_sym_EQ_EQ] = ACTIONS(119), + [anon_sym_BANG_EQ] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(121), + [anon_sym_LT_EQ] = ACTIONS(121), + [anon_sym_in] = ACTIONS(121), + [anon_sym_CARET] = ACTIONS(121), + [anon_sym_DOT_DOT] = ACTIONS(121), + [anon_sym_DOT_DOT_EQ] = ACTIONS(119), + [anon_sym_LBRACK] = ACTIONS(119), + [anon_sym_RBRACK] = ACTIONS(119), + [anon_sym_DOT] = ACTIONS(121), + [anon_sym_PERCENT_LBRACE] = ACTIONS(83), + [anon_sym_for] = ACTIONS(85), + [anon_sym_if] = ACTIONS(87), + [anon_sym_while] = ACTIONS(89), + [anon_sym_return] = ACTIONS(91), [sym_break_expression] = ACTIONS(123), [sym_continue_expression] = ACTIONS(123), [sym_integer] = ACTIONS(123), [sym_float] = ACTIONS(123), - [sym_complex] = ACTIONS(121), - [anon_sym_true] = ACTIONS(123), - [anon_sym_false] = ACTIONS(123), - [anon_sym_Inf] = ACTIONS(123), - [anon_sym_NaN] = ACTIONS(123), - [anon_sym_DQUOTE] = ACTIONS(121), + [sym_complex] = ACTIONS(125), + [anon_sym_true] = ACTIONS(95), + [anon_sym_false] = ACTIONS(95), + [anon_sym_Inf] = ACTIONS(97), + [anon_sym_NaN] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(99), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(121), - [sym_raw_string] = ACTIONS(121), + [sym_named_op_assign] = ACTIONS(119), + [sym_raw_string] = ACTIONS(125), }, [7] = { - [sym_function_definition] = STATE(389), - [sym_struct_definition] = STATE(389), - [sym__expression_or_sequence] = STATE(350), - [sym_tuple_expression] = STATE(350), - [sym__expression] = STATE(389), - [sym_parenthesized_expression] = STATE(389), - [sym_unit] = STATE(389), - [sym_tuple] = STATE(389), - [sym_assignment] = STATE(389), - [sym_augmented_assignment] = STATE(389), - [sym_unary_expression] = STATE(389), - [sym_not_expression] = STATE(389), - [sym_binary_expression] = STATE(389), - [sym_range_expression] = STATE(389), - [sym_call] = STATE(389), - [sym_index] = STATE(389), - [sym_member_expression] = STATE(389), - [sym_list] = STATE(389), - [sym_list_comprehension] = STATE(389), - [sym_map] = STATE(389), - [sym_map_comprehension] = STATE(389), - [sym_if_expression] = STATE(389), - [sym_while_expression] = STATE(389), - [sym_for_expression] = STATE(389), - [sym_block] = STATE(389), - [sym_return_expression] = STATE(389), - [sym__literal] = STATE(389), - [sym_boolean] = STATE(389), - [sym_special_constant] = STATE(389), - [sym_string] = STATE(389), + [sym_function_definition] = STATE(447), + [sym_struct_definition] = STATE(447), + [sym__expression_or_sequence] = STATE(342), + [sym_tuple_expression] = STATE(342), + [sym__expression] = STATE(447), + [sym_parenthesized_expression] = STATE(447), + [sym_unit] = STATE(447), + [sym_tuple] = STATE(447), + [sym_assignment] = STATE(447), + [sym_augmented_assignment] = STATE(447), + [sym_cast_expression] = STATE(447), + [sym_unary_expression] = STATE(447), + [sym_not_expression] = STATE(447), + [sym_binary_expression] = STATE(447), + [sym_range_expression] = STATE(447), + [sym_call] = STATE(447), + [sym_index] = STATE(447), + [sym_member_expression] = STATE(447), + [sym_list] = STATE(447), + [sym_list_comprehension] = STATE(447), + [sym_map] = STATE(447), + [sym_map_comprehension] = STATE(447), + [sym_if_expression] = STATE(447), + [sym_while_expression] = STATE(447), + [sym_for_expression] = STATE(447), + [sym_block] = STATE(447), + [sym_return_expression] = STATE(447), + [sym__literal] = STATE(447), + [sym_boolean] = STATE(447), + [sym_special_constant] = STATE(447), + [sym_string] = STATE(447), [sym_identifier] = ACTIONS(127), [anon_sym_EQ] = ACTIONS(55), [anon_sym_COMMA] = ACTIONS(51), @@ -4420,6 +4547,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(51), [anon_sym_LT_LT_EQ] = ACTIONS(51), [anon_sym_GT_GT_EQ] = ACTIONS(51), + [anon_sym_as] = ACTIONS(55), [anon_sym_BANG] = ACTIONS(133), [anon_sym_DASH] = ACTIONS(133), [anon_sym_TILDE] = ACTIONS(133), @@ -4471,94 +4599,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_raw_string] = ACTIONS(143), }, [8] = { - [sym_function_definition] = STATE(400), - [sym_struct_definition] = STATE(400), - [sym__expression] = STATE(400), - [sym_parenthesized_expression] = STATE(400), - [sym_unit] = STATE(400), - [sym_tuple] = STATE(400), - [sym_assignment] = STATE(400), - [sym_augmented_assignment] = STATE(400), - [sym_unary_expression] = STATE(400), - [sym_not_expression] = STATE(400), - [sym_binary_expression] = STATE(400), - [sym_range_expression] = STATE(400), - [sym_call] = STATE(400), - [sym_index] = STATE(400), - [sym_member_expression] = STATE(400), - [sym_list] = STATE(400), - [sym_list_comprehension] = STATE(400), - [sym_map] = STATE(400), - [sym_map_comprehension] = STATE(400), - [sym_if_expression] = STATE(400), - [sym_while_expression] = STATE(400), - [sym_for_expression] = STATE(400), - [sym_block] = STATE(400), - [sym_return_expression] = STATE(400), - [sym__literal] = STATE(400), - [sym_boolean] = STATE(400), - [sym_special_constant] = STATE(400), - [sym_string] = STATE(400), + [sym_function_definition] = STATE(419), + [sym_struct_definition] = STATE(419), + [sym__expression] = STATE(419), + [sym_parenthesized_expression] = STATE(419), + [sym_unit] = STATE(419), + [sym_tuple] = STATE(419), + [sym_assignment] = STATE(419), + [sym_augmented_assignment] = STATE(419), + [sym_cast_expression] = STATE(419), + [sym_unary_expression] = STATE(419), + [sym_not_expression] = STATE(419), + [sym_binary_expression] = STATE(419), + [sym_range_expression] = STATE(419), + [sym_call] = STATE(419), + [sym_index] = STATE(419), + [sym_member_expression] = STATE(419), + [sym_list] = STATE(419), + [sym_list_comprehension] = STATE(419), + [sym_map] = STATE(419), + [sym_map_comprehension] = STATE(419), + [sym_if_expression] = STATE(419), + [sym_while_expression] = STATE(419), + [sym_for_expression] = STATE(419), + [sym_block] = STATE(419), + [sym_return_expression] = STATE(419), + [sym__literal] = STATE(419), + [sym_boolean] = STATE(419), + [sym_special_constant] = STATE(419), + [sym_string] = STATE(419), [sym_identifier] = ACTIONS(145), - [anon_sym_COLON] = ACTIONS(121), - [anon_sym_EQ] = ACTIONS(123), - [anon_sym_COMMA] = ACTIONS(121), + [anon_sym_COLON] = ACTIONS(119), + [anon_sym_EQ] = ACTIONS(121), + [anon_sym_COMMA] = ACTIONS(119), [anon_sym_pure] = ACTIONS(103), [anon_sym_fn] = ACTIONS(105), - [anon_sym_LPAREN] = ACTIONS(121), + [anon_sym_LPAREN] = ACTIONS(119), [anon_sym_struct] = ACTIONS(69), [anon_sym_LBRACE] = ACTIONS(71), - [anon_sym_RBRACE] = ACTIONS(121), - [anon_sym_LT] = ACTIONS(123), - [anon_sym_GT] = ACTIONS(123), - [anon_sym_PLUS_EQ] = ACTIONS(121), - [anon_sym_DASH_EQ] = ACTIONS(121), - [anon_sym_STAR_EQ] = ACTIONS(121), - [anon_sym_SLASH_EQ] = ACTIONS(121), - [anon_sym_BSLASH_EQ] = ACTIONS(121), - [anon_sym_PERCENT_EQ] = ACTIONS(121), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(121), - [anon_sym_CARET_EQ] = ACTIONS(121), - [anon_sym_AMP_EQ] = ACTIONS(121), - [anon_sym_PIPE_EQ] = ACTIONS(121), - [anon_sym_TILDE_EQ] = ACTIONS(121), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(121), - [anon_sym_LT_GT_EQ] = ACTIONS(121), - [anon_sym_LT_LT_EQ] = ACTIONS(121), - [anon_sym_GT_GT_EQ] = ACTIONS(121), + [anon_sym_RBRACE] = ACTIONS(119), + [anon_sym_LT] = ACTIONS(121), + [anon_sym_GT] = ACTIONS(121), + [anon_sym_PLUS_EQ] = ACTIONS(119), + [anon_sym_DASH_EQ] = ACTIONS(119), + [anon_sym_STAR_EQ] = ACTIONS(119), + [anon_sym_SLASH_EQ] = ACTIONS(119), + [anon_sym_BSLASH_EQ] = ACTIONS(119), + [anon_sym_PERCENT_EQ] = ACTIONS(119), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(119), + [anon_sym_CARET_EQ] = ACTIONS(119), + [anon_sym_AMP_EQ] = ACTIONS(119), + [anon_sym_PIPE_EQ] = ACTIONS(119), + [anon_sym_TILDE_EQ] = ACTIONS(119), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(119), + [anon_sym_LT_GT_EQ] = ACTIONS(119), + [anon_sym_LT_LT_EQ] = ACTIONS(119), + [anon_sym_GT_GT_EQ] = ACTIONS(119), + [anon_sym_as] = ACTIONS(121), [anon_sym_BANG] = ACTIONS(107), - [anon_sym_DASH] = ACTIONS(123), - [anon_sym_TILDE] = ACTIONS(123), - [anon_sym_not] = ACTIONS(123), - [anon_sym_or] = ACTIONS(123), - [anon_sym_and] = ACTIONS(123), - [anon_sym_LT_EQ_GT] = ACTIONS(121), - [anon_sym_GT_EQ_LT] = ACTIONS(121), - [anon_sym_LT_LT] = ACTIONS(123), - [anon_sym_GT_GT] = ACTIONS(123), - [anon_sym_PIPE] = ACTIONS(123), - [anon_sym_AMP] = ACTIONS(123), - [anon_sym_PLUS] = ACTIONS(123), - [anon_sym_PLUS_PLUS] = ACTIONS(123), - [anon_sym_LT_GT] = ACTIONS(123), - [anon_sym_STAR] = ACTIONS(123), - [anon_sym_SLASH] = ACTIONS(123), - [anon_sym_BSLASH] = ACTIONS(123), - [anon_sym_PERCENT] = ACTIONS(123), - [anon_sym_PERCENT_PERCENT] = ACTIONS(123), - [anon_sym_EQ_EQ] = ACTIONS(121), - [anon_sym_BANG_EQ] = ACTIONS(121), - [anon_sym_GT_EQ] = ACTIONS(123), - [anon_sym_LT_EQ] = ACTIONS(123), - [anon_sym_in] = ACTIONS(123), - [anon_sym_CARET] = ACTIONS(123), - [anon_sym_DOT_DOT] = ACTIONS(123), - [anon_sym_DOT_DOT_EQ] = ACTIONS(121), - [anon_sym_LBRACK] = ACTIONS(121), - [anon_sym_RBRACK] = ACTIONS(121), - [anon_sym_DOT] = ACTIONS(123), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_not] = ACTIONS(121), + [anon_sym_or] = ACTIONS(121), + [anon_sym_and] = ACTIONS(121), + [anon_sym_LT_EQ_GT] = ACTIONS(119), + [anon_sym_GT_EQ_LT] = ACTIONS(119), + [anon_sym_LT_LT] = ACTIONS(121), + [anon_sym_GT_GT] = ACTIONS(121), + [anon_sym_PIPE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_PLUS_PLUS] = ACTIONS(121), + [anon_sym_LT_GT] = ACTIONS(121), + [anon_sym_STAR] = ACTIONS(121), + [anon_sym_SLASH] = ACTIONS(121), + [anon_sym_BSLASH] = ACTIONS(121), + [anon_sym_PERCENT] = ACTIONS(121), + [anon_sym_PERCENT_PERCENT] = ACTIONS(121), + [anon_sym_EQ_EQ] = ACTIONS(119), + [anon_sym_BANG_EQ] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(121), + [anon_sym_LT_EQ] = ACTIONS(121), + [anon_sym_in] = ACTIONS(121), + [anon_sym_CARET] = ACTIONS(121), + [anon_sym_DOT_DOT] = ACTIONS(121), + [anon_sym_DOT_DOT_EQ] = ACTIONS(119), + [anon_sym_LBRACK] = ACTIONS(119), + [anon_sym_RBRACK] = ACTIONS(119), + [anon_sym_DOT] = ACTIONS(121), [anon_sym_PERCENT_LBRACE] = ACTIONS(83), - [anon_sym_for] = ACTIONS(123), + [anon_sym_for] = ACTIONS(121), [anon_sym_if] = ACTIONS(87), [anon_sym_while] = ACTIONS(89), [anon_sym_return] = ACTIONS(115), @@ -4573,40 +4703,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_NaN] = ACTIONS(97), [anon_sym_DQUOTE] = ACTIONS(99), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(121), + [sym_named_op_assign] = ACTIONS(119), [sym_raw_string] = ACTIONS(147), }, [9] = { - [sym_function_definition] = STATE(467), - [sym_struct_definition] = STATE(467), - [sym__expression_or_sequence] = STATE(350), - [sym_tuple_expression] = STATE(350), - [sym__expression] = STATE(467), - [sym_parenthesized_expression] = STATE(467), - [sym_unit] = STATE(467), - [sym_tuple] = STATE(467), - [sym_assignment] = STATE(467), - [sym_augmented_assignment] = STATE(467), - [sym_unary_expression] = STATE(467), - [sym_not_expression] = STATE(467), - [sym_binary_expression] = STATE(467), - [sym_range_expression] = STATE(467), - [sym_call] = STATE(467), - [sym_index] = STATE(467), - [sym_member_expression] = STATE(467), - [sym_list] = STATE(467), - [sym_list_comprehension] = STATE(467), - [sym_map] = STATE(467), - [sym_map_comprehension] = STATE(467), - [sym_if_expression] = STATE(467), - [sym_while_expression] = STATE(467), - [sym_for_expression] = STATE(467), - [sym_block] = STATE(467), - [sym_return_expression] = STATE(467), - [sym__literal] = STATE(467), - [sym_boolean] = STATE(467), - [sym_special_constant] = STATE(467), - [sym_string] = STATE(467), + [sym_function_definition] = STATE(481), + [sym_struct_definition] = STATE(481), + [sym__expression_or_sequence] = STATE(342), + [sym_tuple_expression] = STATE(342), + [sym__expression] = STATE(481), + [sym_parenthesized_expression] = STATE(481), + [sym_unit] = STATE(481), + [sym_tuple] = STATE(481), + [sym_assignment] = STATE(481), + [sym_augmented_assignment] = STATE(481), + [sym_cast_expression] = STATE(481), + [sym_unary_expression] = STATE(481), + [sym_not_expression] = STATE(481), + [sym_binary_expression] = STATE(481), + [sym_range_expression] = STATE(481), + [sym_call] = STATE(481), + [sym_index] = STATE(481), + [sym_member_expression] = STATE(481), + [sym_list] = STATE(481), + [sym_list_comprehension] = STATE(481), + [sym_map] = STATE(481), + [sym_map_comprehension] = STATE(481), + [sym_if_expression] = STATE(481), + [sym_while_expression] = STATE(481), + [sym_for_expression] = STATE(481), + [sym_block] = STATE(481), + [sym_return_expression] = STATE(481), + [sym__literal] = STATE(481), + [sym_boolean] = STATE(481), + [sym_special_constant] = STATE(481), + [sym_string] = STATE(481), [sym_identifier] = ACTIONS(149), [anon_sym_EQ] = ACTIONS(55), [anon_sym_pure] = ACTIONS(63), @@ -4631,6 +4762,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(51), [anon_sym_LT_LT_EQ] = ACTIONS(51), [anon_sym_GT_GT_EQ] = ACTIONS(51), + [anon_sym_as] = ACTIONS(55), [anon_sym_BANG] = ACTIONS(73), [anon_sym_DASH] = ACTIONS(73), [anon_sym_TILDE] = ACTIONS(73), @@ -4682,91 +4814,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_raw_string] = ACTIONS(151), }, [10] = { - [sym_function_definition] = STATE(447), - [sym_struct_definition] = STATE(447), - [sym__expression] = STATE(447), - [sym_parenthesized_expression] = STATE(447), - [sym_unit] = STATE(447), - [sym_tuple] = STATE(447), - [sym_assignment] = STATE(447), - [sym_augmented_assignment] = STATE(447), - [sym_unary_expression] = STATE(447), - [sym_not_expression] = STATE(447), - [sym_binary_expression] = STATE(447), - [sym_range_expression] = STATE(447), - [sym_call] = STATE(447), - [sym_index] = STATE(447), - [sym_member_expression] = STATE(447), - [sym_list] = STATE(447), - [sym_list_comprehension] = STATE(447), - [sym_map] = STATE(447), - [sym_map_comprehension] = STATE(447), - [sym_if_expression] = STATE(447), - [sym_while_expression] = STATE(447), - [sym_for_expression] = STATE(447), - [sym_block] = STATE(447), - [sym_return_expression] = STATE(447), - [sym__literal] = STATE(447), - [sym_boolean] = STATE(447), - [sym_special_constant] = STATE(447), - [sym_string] = STATE(447), + [sym_function_definition] = STATE(466), + [sym_struct_definition] = STATE(466), + [sym__expression] = STATE(466), + [sym_parenthesized_expression] = STATE(466), + [sym_unit] = STATE(466), + [sym_tuple] = STATE(466), + [sym_assignment] = STATE(466), + [sym_augmented_assignment] = STATE(466), + [sym_cast_expression] = STATE(466), + [sym_unary_expression] = STATE(466), + [sym_not_expression] = STATE(466), + [sym_binary_expression] = STATE(466), + [sym_range_expression] = STATE(466), + [sym_call] = STATE(466), + [sym_index] = STATE(466), + [sym_member_expression] = STATE(466), + [sym_list] = STATE(466), + [sym_list_comprehension] = STATE(466), + [sym_map] = STATE(466), + [sym_map_comprehension] = STATE(466), + [sym_if_expression] = STATE(466), + [sym_while_expression] = STATE(466), + [sym_for_expression] = STATE(466), + [sym_block] = STATE(466), + [sym_return_expression] = STATE(466), + [sym__literal] = STATE(466), + [sym_boolean] = STATE(466), + [sym_special_constant] = STATE(466), + [sym_string] = STATE(466), [sym_identifier] = ACTIONS(153), - [anon_sym_EQ] = ACTIONS(123), - [anon_sym_COMMA] = ACTIONS(121), + [anon_sym_EQ] = ACTIONS(121), + [anon_sym_COMMA] = ACTIONS(119), [anon_sym_pure] = ACTIONS(129), [anon_sym_fn] = ACTIONS(131), - [anon_sym_LPAREN] = ACTIONS(121), + [anon_sym_LPAREN] = ACTIONS(119), [anon_sym_struct] = ACTIONS(69), - [anon_sym_LBRACE] = ACTIONS(121), - [anon_sym_RBRACE] = ACTIONS(121), - [anon_sym_LT] = ACTIONS(123), - [anon_sym_GT] = ACTIONS(123), - [anon_sym_PLUS_EQ] = ACTIONS(121), - [anon_sym_DASH_EQ] = ACTIONS(121), - [anon_sym_STAR_EQ] = ACTIONS(121), - [anon_sym_SLASH_EQ] = ACTIONS(121), - [anon_sym_BSLASH_EQ] = ACTIONS(121), - [anon_sym_PERCENT_EQ] = ACTIONS(121), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(121), - [anon_sym_CARET_EQ] = ACTIONS(121), - [anon_sym_AMP_EQ] = ACTIONS(121), - [anon_sym_PIPE_EQ] = ACTIONS(121), - [anon_sym_TILDE_EQ] = ACTIONS(121), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(121), - [anon_sym_LT_GT_EQ] = ACTIONS(121), - [anon_sym_LT_LT_EQ] = ACTIONS(121), - [anon_sym_GT_GT_EQ] = ACTIONS(121), + [anon_sym_LBRACE] = ACTIONS(119), + [anon_sym_RBRACE] = ACTIONS(119), + [anon_sym_LT] = ACTIONS(121), + [anon_sym_GT] = ACTIONS(121), + [anon_sym_PLUS_EQ] = ACTIONS(119), + [anon_sym_DASH_EQ] = ACTIONS(119), + [anon_sym_STAR_EQ] = ACTIONS(119), + [anon_sym_SLASH_EQ] = ACTIONS(119), + [anon_sym_BSLASH_EQ] = ACTIONS(119), + [anon_sym_PERCENT_EQ] = ACTIONS(119), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(119), + [anon_sym_CARET_EQ] = ACTIONS(119), + [anon_sym_AMP_EQ] = ACTIONS(119), + [anon_sym_PIPE_EQ] = ACTIONS(119), + [anon_sym_TILDE_EQ] = ACTIONS(119), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(119), + [anon_sym_LT_GT_EQ] = ACTIONS(119), + [anon_sym_LT_LT_EQ] = ACTIONS(119), + [anon_sym_GT_GT_EQ] = ACTIONS(119), + [anon_sym_as] = ACTIONS(121), [anon_sym_BANG] = ACTIONS(133), - [anon_sym_DASH] = ACTIONS(123), - [anon_sym_TILDE] = ACTIONS(123), - [anon_sym_not] = ACTIONS(123), - [anon_sym_or] = ACTIONS(123), - [anon_sym_and] = ACTIONS(123), - [anon_sym_LT_EQ_GT] = ACTIONS(121), - [anon_sym_GT_EQ_LT] = ACTIONS(121), - [anon_sym_LT_LT] = ACTIONS(123), - [anon_sym_GT_GT] = ACTIONS(123), - [anon_sym_PIPE] = ACTIONS(123), - [anon_sym_AMP] = ACTIONS(123), - [anon_sym_PLUS] = ACTIONS(123), - [anon_sym_PLUS_PLUS] = ACTIONS(123), - [anon_sym_LT_GT] = ACTIONS(123), - [anon_sym_STAR] = ACTIONS(123), - [anon_sym_SLASH] = ACTIONS(123), - [anon_sym_BSLASH] = ACTIONS(123), - [anon_sym_PERCENT] = ACTIONS(123), - [anon_sym_PERCENT_PERCENT] = ACTIONS(123), - [anon_sym_EQ_EQ] = ACTIONS(121), - [anon_sym_BANG_EQ] = ACTIONS(121), - [anon_sym_GT_EQ] = ACTIONS(123), - [anon_sym_LT_EQ] = ACTIONS(123), - [anon_sym_in] = ACTIONS(123), - [anon_sym_CARET] = ACTIONS(123), - [anon_sym_DOT_DOT] = ACTIONS(123), - [anon_sym_DOT_DOT_EQ] = ACTIONS(121), - [anon_sym_LBRACK] = ACTIONS(121), - [anon_sym_RBRACK] = ACTIONS(121), - [anon_sym_DOT] = ACTIONS(123), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_not] = ACTIONS(121), + [anon_sym_or] = ACTIONS(121), + [anon_sym_and] = ACTIONS(121), + [anon_sym_LT_EQ_GT] = ACTIONS(119), + [anon_sym_GT_EQ_LT] = ACTIONS(119), + [anon_sym_LT_LT] = ACTIONS(121), + [anon_sym_GT_GT] = ACTIONS(121), + [anon_sym_PIPE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_PLUS_PLUS] = ACTIONS(121), + [anon_sym_LT_GT] = ACTIONS(121), + [anon_sym_STAR] = ACTIONS(121), + [anon_sym_SLASH] = ACTIONS(121), + [anon_sym_BSLASH] = ACTIONS(121), + [anon_sym_PERCENT] = ACTIONS(121), + [anon_sym_PERCENT_PERCENT] = ACTIONS(121), + [anon_sym_EQ_EQ] = ACTIONS(119), + [anon_sym_BANG_EQ] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(121), + [anon_sym_LT_EQ] = ACTIONS(121), + [anon_sym_in] = ACTIONS(121), + [anon_sym_CARET] = ACTIONS(121), + [anon_sym_DOT_DOT] = ACTIONS(121), + [anon_sym_DOT_DOT_EQ] = ACTIONS(119), + [anon_sym_LBRACK] = ACTIONS(119), + [anon_sym_RBRACK] = ACTIONS(119), + [anon_sym_DOT] = ACTIONS(121), [anon_sym_PERCENT_LBRACE] = ACTIONS(83), [anon_sym_for] = ACTIONS(85), [anon_sym_if] = ACTIONS(87), @@ -4783,40 +4917,41 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_NaN] = ACTIONS(97), [anon_sym_DQUOTE] = ACTIONS(99), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(121), + [sym_named_op_assign] = ACTIONS(119), [sym_raw_string] = ACTIONS(155), }, [11] = { - [sym_function_definition] = STATE(463), - [sym_struct_definition] = STATE(463), - [sym__expression_or_sequence] = STATE(350), - [sym_tuple_expression] = STATE(350), - [sym__expression] = STATE(463), - [sym_parenthesized_expression] = STATE(463), - [sym_unit] = STATE(463), - [sym_tuple] = STATE(463), - [sym_assignment] = STATE(463), - [sym_augmented_assignment] = STATE(463), - [sym_unary_expression] = STATE(463), - [sym_not_expression] = STATE(463), - [sym_binary_expression] = STATE(463), - [sym_range_expression] = STATE(463), - [sym_call] = STATE(463), - [sym_index] = STATE(463), - [sym_member_expression] = STATE(463), - [sym_list] = STATE(463), - [sym_list_comprehension] = STATE(463), - [sym_map] = STATE(463), - [sym_map_comprehension] = STATE(463), - [sym_if_expression] = STATE(463), - [sym_while_expression] = STATE(463), - [sym_for_expression] = STATE(463), - [sym_block] = STATE(463), - [sym_return_expression] = STATE(463), - [sym__literal] = STATE(463), - [sym_boolean] = STATE(463), - [sym_special_constant] = STATE(463), - [sym_string] = STATE(463), + [sym_function_definition] = STATE(487), + [sym_struct_definition] = STATE(487), + [sym__expression_or_sequence] = STATE(342), + [sym_tuple_expression] = STATE(342), + [sym__expression] = STATE(487), + [sym_parenthesized_expression] = STATE(487), + [sym_unit] = STATE(487), + [sym_tuple] = STATE(487), + [sym_assignment] = STATE(487), + [sym_augmented_assignment] = STATE(487), + [sym_cast_expression] = STATE(487), + [sym_unary_expression] = STATE(487), + [sym_not_expression] = STATE(487), + [sym_binary_expression] = STATE(487), + [sym_range_expression] = STATE(487), + [sym_call] = STATE(487), + [sym_index] = STATE(487), + [sym_member_expression] = STATE(487), + [sym_list] = STATE(487), + [sym_list_comprehension] = STATE(487), + [sym_map] = STATE(487), + [sym_map_comprehension] = STATE(487), + [sym_if_expression] = STATE(487), + [sym_while_expression] = STATE(487), + [sym_for_expression] = STATE(487), + [sym_block] = STATE(487), + [sym_return_expression] = STATE(487), + [sym__literal] = STATE(487), + [sym_boolean] = STATE(487), + [sym_special_constant] = STATE(487), + [sym_string] = STATE(487), [sym_identifier] = ACTIONS(157), [anon_sym_EQ] = ACTIONS(55), [anon_sym_pure] = ACTIONS(129), @@ -4841,6 +4976,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(51), [anon_sym_LT_LT_EQ] = ACTIONS(51), [anon_sym_GT_GT_EQ] = ACTIONS(51), + [anon_sym_as] = ACTIONS(55), [anon_sym_BANG] = ACTIONS(133), [anon_sym_DASH] = ACTIONS(133), [anon_sym_TILDE] = ACTIONS(133), @@ -4891,89 +5027,91 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_raw_string] = ACTIONS(159), }, [12] = { - [sym_function_definition] = STATE(496), - [sym_struct_definition] = STATE(496), - [sym__expression] = STATE(496), - [sym_parenthesized_expression] = STATE(496), - [sym_unit] = STATE(496), - [sym_tuple] = STATE(496), - [sym_assignment] = STATE(496), - [sym_augmented_assignment] = STATE(496), - [sym_unary_expression] = STATE(496), - [sym_not_expression] = STATE(496), - [sym_binary_expression] = STATE(496), - [sym_range_expression] = STATE(496), - [sym_call] = STATE(496), - [sym_index] = STATE(496), - [sym_member_expression] = STATE(496), - [sym_list] = STATE(496), - [sym_list_comprehension] = STATE(496), - [sym_map] = STATE(496), - [sym_map_comprehension] = STATE(496), - [sym_if_expression] = STATE(496), - [sym_while_expression] = STATE(496), - [sym_for_expression] = STATE(496), - [sym_block] = STATE(496), - [sym_return_expression] = STATE(496), - [sym__literal] = STATE(496), - [sym_boolean] = STATE(496), - [sym_special_constant] = STATE(496), - [sym_string] = STATE(496), + [sym_function_definition] = STATE(512), + [sym_struct_definition] = STATE(512), + [sym__expression] = STATE(512), + [sym_parenthesized_expression] = STATE(512), + [sym_unit] = STATE(512), + [sym_tuple] = STATE(512), + [sym_assignment] = STATE(512), + [sym_augmented_assignment] = STATE(512), + [sym_cast_expression] = STATE(512), + [sym_unary_expression] = STATE(512), + [sym_not_expression] = STATE(512), + [sym_binary_expression] = STATE(512), + [sym_range_expression] = STATE(512), + [sym_call] = STATE(512), + [sym_index] = STATE(512), + [sym_member_expression] = STATE(512), + [sym_list] = STATE(512), + [sym_list_comprehension] = STATE(512), + [sym_map] = STATE(512), + [sym_map_comprehension] = STATE(512), + [sym_if_expression] = STATE(512), + [sym_while_expression] = STATE(512), + [sym_for_expression] = STATE(512), + [sym_block] = STATE(512), + [sym_return_expression] = STATE(512), + [sym__literal] = STATE(512), + [sym_boolean] = STATE(512), + [sym_special_constant] = STATE(512), + [sym_string] = STATE(512), [sym_identifier] = ACTIONS(161), - [anon_sym_EQ] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(121), [anon_sym_pure] = ACTIONS(163), [anon_sym_fn] = ACTIONS(165), - [anon_sym_LPAREN] = ACTIONS(121), + [anon_sym_LPAREN] = ACTIONS(119), [anon_sym_struct] = ACTIONS(69), [anon_sym_LBRACE] = ACTIONS(71), - [anon_sym_LT] = ACTIONS(123), - [anon_sym_GT] = ACTIONS(123), - [anon_sym_PLUS_EQ] = ACTIONS(121), - [anon_sym_DASH_EQ] = ACTIONS(121), - [anon_sym_STAR_EQ] = ACTIONS(121), - [anon_sym_SLASH_EQ] = ACTIONS(121), - [anon_sym_BSLASH_EQ] = ACTIONS(121), - [anon_sym_PERCENT_EQ] = ACTIONS(121), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(121), - [anon_sym_CARET_EQ] = ACTIONS(121), - [anon_sym_AMP_EQ] = ACTIONS(121), - [anon_sym_PIPE_EQ] = ACTIONS(121), - [anon_sym_TILDE_EQ] = ACTIONS(121), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(121), - [anon_sym_LT_GT_EQ] = ACTIONS(121), - [anon_sym_LT_LT_EQ] = ACTIONS(121), - [anon_sym_GT_GT_EQ] = ACTIONS(121), + [anon_sym_LT] = ACTIONS(121), + [anon_sym_GT] = ACTIONS(121), + [anon_sym_PLUS_EQ] = ACTIONS(119), + [anon_sym_DASH_EQ] = ACTIONS(119), + [anon_sym_STAR_EQ] = ACTIONS(119), + [anon_sym_SLASH_EQ] = ACTIONS(119), + [anon_sym_BSLASH_EQ] = ACTIONS(119), + [anon_sym_PERCENT_EQ] = ACTIONS(119), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(119), + [anon_sym_CARET_EQ] = ACTIONS(119), + [anon_sym_AMP_EQ] = ACTIONS(119), + [anon_sym_PIPE_EQ] = ACTIONS(119), + [anon_sym_TILDE_EQ] = ACTIONS(119), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(119), + [anon_sym_LT_GT_EQ] = ACTIONS(119), + [anon_sym_LT_LT_EQ] = ACTIONS(119), + [anon_sym_GT_GT_EQ] = ACTIONS(119), + [anon_sym_as] = ACTIONS(121), [anon_sym_BANG] = ACTIONS(167), - [anon_sym_DASH] = ACTIONS(123), - [anon_sym_TILDE] = ACTIONS(123), - [anon_sym_not] = ACTIONS(123), - [anon_sym_or] = ACTIONS(123), - [anon_sym_and] = ACTIONS(123), - [anon_sym_LT_EQ_GT] = ACTIONS(121), - [anon_sym_GT_EQ_LT] = ACTIONS(121), - [anon_sym_LT_LT] = ACTIONS(123), - [anon_sym_GT_GT] = ACTIONS(123), - [anon_sym_PIPE] = ACTIONS(123), - [anon_sym_AMP] = ACTIONS(123), - [anon_sym_PLUS] = ACTIONS(123), - [anon_sym_PLUS_PLUS] = ACTIONS(123), - [anon_sym_LT_GT] = ACTIONS(123), - [anon_sym_STAR] = ACTIONS(123), - [anon_sym_SLASH] = ACTIONS(123), - [anon_sym_BSLASH] = ACTIONS(123), - [anon_sym_PERCENT] = ACTIONS(123), - [anon_sym_PERCENT_PERCENT] = ACTIONS(123), - [anon_sym_EQ_EQ] = ACTIONS(121), - [anon_sym_BANG_EQ] = ACTIONS(121), - [anon_sym_GT_EQ] = ACTIONS(123), - [anon_sym_LT_EQ] = ACTIONS(123), - [anon_sym_in] = ACTIONS(123), - [anon_sym_CARET] = ACTIONS(123), - [anon_sym_DOT_DOT] = ACTIONS(123), - [anon_sym_DOT_DOT_EQ] = ACTIONS(121), - [anon_sym_LBRACK] = ACTIONS(121), - [anon_sym_RBRACK] = ACTIONS(121), - [anon_sym_DOT] = ACTIONS(123), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_not] = ACTIONS(121), + [anon_sym_or] = ACTIONS(121), + [anon_sym_and] = ACTIONS(121), + [anon_sym_LT_EQ_GT] = ACTIONS(119), + [anon_sym_GT_EQ_LT] = ACTIONS(119), + [anon_sym_LT_LT] = ACTIONS(121), + [anon_sym_GT_GT] = ACTIONS(121), + [anon_sym_PIPE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_PLUS_PLUS] = ACTIONS(121), + [anon_sym_LT_GT] = ACTIONS(121), + [anon_sym_STAR] = ACTIONS(121), + [anon_sym_SLASH] = ACTIONS(121), + [anon_sym_BSLASH] = ACTIONS(121), + [anon_sym_PERCENT] = ACTIONS(121), + [anon_sym_PERCENT_PERCENT] = ACTIONS(121), + [anon_sym_EQ_EQ] = ACTIONS(119), + [anon_sym_BANG_EQ] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(121), + [anon_sym_LT_EQ] = ACTIONS(121), + [anon_sym_in] = ACTIONS(121), + [anon_sym_CARET] = ACTIONS(121), + [anon_sym_DOT_DOT] = ACTIONS(121), + [anon_sym_DOT_DOT_EQ] = ACTIONS(119), + [anon_sym_LBRACK] = ACTIONS(119), + [anon_sym_RBRACK] = ACTIONS(119), + [anon_sym_DOT] = ACTIONS(121), [anon_sym_PERCENT_LBRACE] = ACTIONS(83), [anon_sym_for] = ACTIONS(85), [anon_sym_if] = ACTIONS(87), @@ -4990,92 +5128,94 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_NaN] = ACTIONS(97), [anon_sym_DQUOTE] = ACTIONS(99), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(121), + [sym_named_op_assign] = ACTIONS(119), [sym_raw_string] = ACTIONS(171), }, [13] = { - [sym_function_definition] = STATE(526), - [sym_struct_definition] = STATE(526), - [sym__expression] = STATE(526), - [sym_parenthesized_expression] = STATE(526), - [sym_unit] = STATE(526), - [sym_tuple] = STATE(526), - [sym_assignment] = STATE(526), - [sym_augmented_assignment] = STATE(526), - [sym_unary_expression] = STATE(526), - [sym_not_expression] = STATE(526), - [sym_binary_expression] = STATE(526), - [sym_range_expression] = STATE(526), - [sym_call] = STATE(526), - [sym_index] = STATE(526), - [sym_member_expression] = STATE(526), - [sym_list] = STATE(526), - [sym_list_comprehension] = STATE(526), - [sym_map] = STATE(526), - [sym_map_comprehension] = STATE(526), - [sym_if_expression] = STATE(526), - [sym_while_expression] = STATE(526), - [sym_for_expression] = STATE(526), - [sym_block] = STATE(526), - [sym_return_expression] = STATE(526), - [sym__literal] = STATE(526), - [sym_boolean] = STATE(526), - [sym_special_constant] = STATE(526), - [sym_string] = STATE(526), + [sym_function_definition] = STATE(543), + [sym_struct_definition] = STATE(543), + [sym__expression] = STATE(543), + [sym_parenthesized_expression] = STATE(543), + [sym_unit] = STATE(543), + [sym_tuple] = STATE(543), + [sym_assignment] = STATE(543), + [sym_augmented_assignment] = STATE(543), + [sym_cast_expression] = STATE(543), + [sym_unary_expression] = STATE(543), + [sym_not_expression] = STATE(543), + [sym_binary_expression] = STATE(543), + [sym_range_expression] = STATE(543), + [sym_call] = STATE(543), + [sym_index] = STATE(543), + [sym_member_expression] = STATE(543), + [sym_list] = STATE(543), + [sym_list_comprehension] = STATE(543), + [sym_map] = STATE(543), + [sym_map_comprehension] = STATE(543), + [sym_if_expression] = STATE(543), + [sym_while_expression] = STATE(543), + [sym_for_expression] = STATE(543), + [sym_block] = STATE(543), + [sym_return_expression] = STATE(543), + [sym__literal] = STATE(543), + [sym_boolean] = STATE(543), + [sym_special_constant] = STATE(543), + [sym_string] = STATE(543), [sym_identifier] = ACTIONS(173), - [anon_sym_EQ] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(121), [anon_sym_pure] = ACTIONS(175), [anon_sym_fn] = ACTIONS(177), - [anon_sym_LPAREN] = ACTIONS(121), + [anon_sym_LPAREN] = ACTIONS(119), [anon_sym_struct] = ACTIONS(69), - [anon_sym_LBRACE] = ACTIONS(121), - [anon_sym_LT] = ACTIONS(123), - [anon_sym_GT] = ACTIONS(123), - [anon_sym_PLUS_EQ] = ACTIONS(121), - [anon_sym_DASH_EQ] = ACTIONS(121), - [anon_sym_STAR_EQ] = ACTIONS(121), - [anon_sym_SLASH_EQ] = ACTIONS(121), - [anon_sym_BSLASH_EQ] = ACTIONS(121), - [anon_sym_PERCENT_EQ] = ACTIONS(121), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(121), - [anon_sym_CARET_EQ] = ACTIONS(121), - [anon_sym_AMP_EQ] = ACTIONS(121), - [anon_sym_PIPE_EQ] = ACTIONS(121), - [anon_sym_TILDE_EQ] = ACTIONS(121), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(121), - [anon_sym_LT_GT_EQ] = ACTIONS(121), - [anon_sym_LT_LT_EQ] = ACTIONS(121), - [anon_sym_GT_GT_EQ] = ACTIONS(121), + [anon_sym_LBRACE] = ACTIONS(119), + [anon_sym_LT] = ACTIONS(121), + [anon_sym_GT] = ACTIONS(121), + [anon_sym_PLUS_EQ] = ACTIONS(119), + [anon_sym_DASH_EQ] = ACTIONS(119), + [anon_sym_STAR_EQ] = ACTIONS(119), + [anon_sym_SLASH_EQ] = ACTIONS(119), + [anon_sym_BSLASH_EQ] = ACTIONS(119), + [anon_sym_PERCENT_EQ] = ACTIONS(119), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(119), + [anon_sym_CARET_EQ] = ACTIONS(119), + [anon_sym_AMP_EQ] = ACTIONS(119), + [anon_sym_PIPE_EQ] = ACTIONS(119), + [anon_sym_TILDE_EQ] = ACTIONS(119), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(119), + [anon_sym_LT_GT_EQ] = ACTIONS(119), + [anon_sym_LT_LT_EQ] = ACTIONS(119), + [anon_sym_GT_GT_EQ] = ACTIONS(119), + [anon_sym_as] = ACTIONS(121), [anon_sym_BANG] = ACTIONS(179), - [anon_sym_DASH] = ACTIONS(123), - [anon_sym_TILDE] = ACTIONS(123), - [anon_sym_not] = ACTIONS(123), - [anon_sym_or] = ACTIONS(123), - [anon_sym_and] = ACTIONS(123), - [anon_sym_LT_EQ_GT] = ACTIONS(121), - [anon_sym_GT_EQ_LT] = ACTIONS(121), - [anon_sym_LT_LT] = ACTIONS(123), - [anon_sym_GT_GT] = ACTIONS(123), - [anon_sym_PIPE] = ACTIONS(123), - [anon_sym_AMP] = ACTIONS(123), - [anon_sym_PLUS] = ACTIONS(123), - [anon_sym_PLUS_PLUS] = ACTIONS(123), - [anon_sym_LT_GT] = ACTIONS(123), - [anon_sym_STAR] = ACTIONS(123), - [anon_sym_SLASH] = ACTIONS(123), - [anon_sym_BSLASH] = ACTIONS(123), - [anon_sym_PERCENT] = ACTIONS(123), - [anon_sym_PERCENT_PERCENT] = ACTIONS(123), - [anon_sym_EQ_EQ] = ACTIONS(121), - [anon_sym_BANG_EQ] = ACTIONS(121), - [anon_sym_GT_EQ] = ACTIONS(123), - [anon_sym_LT_EQ] = ACTIONS(123), - [anon_sym_in] = ACTIONS(123), - [anon_sym_CARET] = ACTIONS(123), - [anon_sym_DOT_DOT] = ACTIONS(123), - [anon_sym_DOT_DOT_EQ] = ACTIONS(121), - [anon_sym_LBRACK] = ACTIONS(121), - [anon_sym_DOT] = ACTIONS(123), + [anon_sym_DASH] = ACTIONS(121), + [anon_sym_TILDE] = ACTIONS(121), + [anon_sym_not] = ACTIONS(121), + [anon_sym_or] = ACTIONS(121), + [anon_sym_and] = ACTIONS(121), + [anon_sym_LT_EQ_GT] = ACTIONS(119), + [anon_sym_GT_EQ_LT] = ACTIONS(119), + [anon_sym_LT_LT] = ACTIONS(121), + [anon_sym_GT_GT] = ACTIONS(121), + [anon_sym_PIPE] = ACTIONS(121), + [anon_sym_AMP] = ACTIONS(121), + [anon_sym_PLUS] = ACTIONS(121), + [anon_sym_PLUS_PLUS] = ACTIONS(121), + [anon_sym_LT_GT] = ACTIONS(121), + [anon_sym_STAR] = ACTIONS(121), + [anon_sym_SLASH] = ACTIONS(121), + [anon_sym_BSLASH] = ACTIONS(121), + [anon_sym_PERCENT] = ACTIONS(121), + [anon_sym_PERCENT_PERCENT] = ACTIONS(121), + [anon_sym_EQ_EQ] = ACTIONS(119), + [anon_sym_BANG_EQ] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(121), + [anon_sym_LT_EQ] = ACTIONS(121), + [anon_sym_in] = ACTIONS(121), + [anon_sym_CARET] = ACTIONS(121), + [anon_sym_DOT_DOT] = ACTIONS(121), + [anon_sym_DOT_DOT_EQ] = ACTIONS(119), + [anon_sym_LBRACK] = ACTIONS(119), + [anon_sym_DOT] = ACTIONS(121), [anon_sym_PERCENT_LBRACE] = ACTIONS(83), [anon_sym_for] = ACTIONS(85), [anon_sym_if] = ACTIONS(87), @@ -5092,12 +5232,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_NaN] = ACTIONS(97), [anon_sym_DQUOTE] = ACTIONS(99), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(121), + [sym_named_op_assign] = ACTIONS(119), [sym_raw_string] = ACTIONS(183), }, [14] = { - [sym_arguments] = STATE(54), - [aux_sym_tuple_expression_repeat1] = STATE(36), + [sym_arguments] = STATE(57), + [aux_sym_tuple_expression_repeat1] = STATE(555), [ts_builtin_sym_end] = ACTIONS(185), [sym_identifier] = ACTIONS(187), [anon_sym_SEMI] = ACTIONS(185), @@ -5127,36 +5267,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), + [anon_sym_as] = ACTIONS(199), [anon_sym_BANG] = ACTIONS(187), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), [anon_sym_PERCENT_LBRACE] = ACTIONS(185), [anon_sym_for] = ACTIONS(187), [anon_sym_if] = ACTIONS(187), @@ -5177,8 +5318,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_raw_string] = ACTIONS(185), }, [15] = { - [sym_arguments] = STATE(54), - [aux_sym_tuple_expression_repeat1] = STATE(535), + [sym_arguments] = STATE(57), + [aux_sym_tuple_expression_repeat1] = STATE(36), [ts_builtin_sym_end] = ACTIONS(185), [sym_identifier] = ACTIONS(187), [anon_sym_SEMI] = ACTIONS(185), @@ -5208,36 +5349,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), + [anon_sym_as] = ACTIONS(199), [anon_sym_BANG] = ACTIONS(187), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), [anon_sym_PERCENT_LBRACE] = ACTIONS(185), [anon_sym_for] = ACTIONS(187), [anon_sym_if] = ACTIONS(187), @@ -5258,19 +5400,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_raw_string] = ACTIONS(185), }, [16] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(231), - [sym_identifier] = ACTIONS(233), - [anon_sym_SEMI] = ACTIONS(231), - [anon_sym_let] = ACTIONS(233), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(233), + [sym_identifier] = ACTIONS(235), + [anon_sym_SEMI] = ACTIONS(233), + [anon_sym_let] = ACTIONS(235), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(231), - [anon_sym_pure] = ACTIONS(233), - [anon_sym_fn] = ACTIONS(233), + [anon_sym_COMMA] = ACTIONS(233), + [anon_sym_pure] = ACTIONS(235), + [anon_sym_fn] = ACTIONS(235), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(233), - [anon_sym_LBRACE] = ACTIONS(231), - [anon_sym_RBRACE] = ACTIONS(231), + [anon_sym_struct] = ACTIONS(235), + [anon_sym_LBRACE] = ACTIONS(233), + [anon_sym_RBRACE] = ACTIONS(233), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -5288,709 +5430,718 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(233), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(235), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(231), - [anon_sym_for] = ACTIONS(233), - [anon_sym_if] = ACTIONS(233), - [anon_sym_while] = ACTIONS(233), - [anon_sym_return] = ACTIONS(233), - [sym_break_expression] = ACTIONS(233), - [sym_continue_expression] = ACTIONS(233), - [sym_integer] = ACTIONS(233), - [sym_float] = ACTIONS(233), - [sym_complex] = ACTIONS(231), - [anon_sym_true] = ACTIONS(233), - [anon_sym_false] = ACTIONS(233), - [anon_sym_Inf] = ACTIONS(233), - [anon_sym_NaN] = ACTIONS(233), - [anon_sym_DQUOTE] = ACTIONS(231), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(233), + [anon_sym_for] = ACTIONS(235), + [anon_sym_if] = ACTIONS(235), + [anon_sym_while] = ACTIONS(235), + [anon_sym_return] = ACTIONS(235), + [sym_break_expression] = ACTIONS(235), + [sym_continue_expression] = ACTIONS(235), + [sym_integer] = ACTIONS(235), + [sym_float] = ACTIONS(235), + [sym_complex] = ACTIONS(233), + [anon_sym_true] = ACTIONS(235), + [anon_sym_false] = ACTIONS(235), + [anon_sym_Inf] = ACTIONS(235), + [anon_sym_NaN] = ACTIONS(235), + [anon_sym_DQUOTE] = ACTIONS(233), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(231), + [sym_raw_string] = ACTIONS(233), }, [17] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(237), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(235), - [anon_sym_GT_EQ_LT] = ACTIONS(235), - [anon_sym_LT_LT] = ACTIONS(237), - [anon_sym_GT_GT] = ACTIONS(237), - [anon_sym_PIPE] = ACTIONS(237), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(239), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(237), + [anon_sym_GT_EQ_LT] = ACTIONS(237), + [anon_sym_LT_LT] = ACTIONS(239), + [anon_sym_GT_GT] = ACTIONS(239), + [anon_sym_PIPE] = ACTIONS(239), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [18] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(235), - [anon_sym_GT_EQ_LT] = ACTIONS(235), - [anon_sym_LT_LT] = ACTIONS(237), - [anon_sym_GT_GT] = ACTIONS(237), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(237), + [anon_sym_GT_EQ_LT] = ACTIONS(237), + [anon_sym_LT_LT] = ACTIONS(239), + [anon_sym_GT_GT] = ACTIONS(239), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [19] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(235), - [anon_sym_GT_EQ_LT] = ACTIONS(235), - [anon_sym_LT_LT] = ACTIONS(237), - [anon_sym_GT_GT] = ACTIONS(237), - [anon_sym_PIPE] = ACTIONS(237), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(237), + [anon_sym_GT_EQ_LT] = ACTIONS(237), + [anon_sym_LT_LT] = ACTIONS(239), + [anon_sym_GT_GT] = ACTIONS(239), + [anon_sym_PIPE] = ACTIONS(239), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [20] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(237), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(235), - [anon_sym_GT_EQ_LT] = ACTIONS(235), - [anon_sym_LT_LT] = ACTIONS(237), - [anon_sym_GT_GT] = ACTIONS(237), - [anon_sym_PIPE] = ACTIONS(237), - [anon_sym_AMP] = ACTIONS(237), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(239), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(237), + [anon_sym_GT_EQ_LT] = ACTIONS(237), + [anon_sym_LT_LT] = ACTIONS(239), + [anon_sym_GT_GT] = ACTIONS(239), + [anon_sym_PIPE] = ACTIONS(239), + [anon_sym_AMP] = ACTIONS(239), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [21] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(237), - [anon_sym_TILDE] = ACTIONS(237), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(235), - [anon_sym_GT_EQ_LT] = ACTIONS(235), - [anon_sym_LT_LT] = ACTIONS(237), - [anon_sym_GT_GT] = ACTIONS(237), - [anon_sym_PIPE] = ACTIONS(237), - [anon_sym_AMP] = ACTIONS(237), - [anon_sym_PLUS] = ACTIONS(237), - [anon_sym_PLUS_PLUS] = ACTIONS(237), - [anon_sym_LT_GT] = ACTIONS(237), - [anon_sym_STAR] = ACTIONS(237), - [anon_sym_SLASH] = ACTIONS(237), - [anon_sym_BSLASH] = ACTIONS(237), - [anon_sym_PERCENT] = ACTIONS(237), - [anon_sym_PERCENT_PERCENT] = ACTIONS(237), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(239), + [anon_sym_TILDE] = ACTIONS(239), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(237), + [anon_sym_GT_EQ_LT] = ACTIONS(237), + [anon_sym_LT_LT] = ACTIONS(239), + [anon_sym_GT_GT] = ACTIONS(239), + [anon_sym_PIPE] = ACTIONS(239), + [anon_sym_AMP] = ACTIONS(239), + [anon_sym_PLUS] = ACTIONS(239), + [anon_sym_PLUS_PLUS] = ACTIONS(239), + [anon_sym_LT_GT] = ACTIONS(239), + [anon_sym_STAR] = ACTIONS(239), + [anon_sym_SLASH] = ACTIONS(239), + [anon_sym_BSLASH] = ACTIONS(239), + [anon_sym_PERCENT] = ACTIONS(239), + [anon_sym_PERCENT_PERCENT] = ACTIONS(239), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [22] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(237), - [anon_sym_TILDE] = ACTIONS(237), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(235), - [anon_sym_GT_EQ_LT] = ACTIONS(235), - [anon_sym_LT_LT] = ACTIONS(237), - [anon_sym_GT_GT] = ACTIONS(237), - [anon_sym_PIPE] = ACTIONS(237), - [anon_sym_AMP] = ACTIONS(237), - [anon_sym_PLUS] = ACTIONS(237), - [anon_sym_PLUS_PLUS] = ACTIONS(237), - [anon_sym_LT_GT] = ACTIONS(237), - [anon_sym_STAR] = ACTIONS(237), - [anon_sym_SLASH] = ACTIONS(237), - [anon_sym_BSLASH] = ACTIONS(237), - [anon_sym_PERCENT] = ACTIONS(237), - [anon_sym_PERCENT_PERCENT] = ACTIONS(237), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(239), + [anon_sym_TILDE] = ACTIONS(239), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(237), + [anon_sym_GT_EQ_LT] = ACTIONS(237), + [anon_sym_LT_LT] = ACTIONS(239), + [anon_sym_GT_GT] = ACTIONS(239), + [anon_sym_PIPE] = ACTIONS(239), + [anon_sym_AMP] = ACTIONS(239), + [anon_sym_PLUS] = ACTIONS(239), + [anon_sym_PLUS_PLUS] = ACTIONS(239), + [anon_sym_LT_GT] = ACTIONS(239), + [anon_sym_STAR] = ACTIONS(239), + [anon_sym_SLASH] = ACTIONS(239), + [anon_sym_BSLASH] = ACTIONS(239), + [anon_sym_PERCENT] = ACTIONS(239), + [anon_sym_PERCENT_PERCENT] = ACTIONS(239), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [23] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(239), - [sym_identifier] = ACTIONS(241), - [anon_sym_SEMI] = ACTIONS(239), - [anon_sym_let] = ACTIONS(241), - [anon_sym_EQ] = ACTIONS(241), - [anon_sym_COMMA] = ACTIONS(239), - [anon_sym_pure] = ACTIONS(241), - [anon_sym_fn] = ACTIONS(241), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(241), + [sym_identifier] = ACTIONS(243), + [anon_sym_SEMI] = ACTIONS(241), + [anon_sym_let] = ACTIONS(243), + [anon_sym_EQ] = ACTIONS(243), + [anon_sym_COMMA] = ACTIONS(241), + [anon_sym_pure] = ACTIONS(243), + [anon_sym_fn] = ACTIONS(243), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(241), - [anon_sym_LBRACE] = ACTIONS(239), - [anon_sym_RBRACE] = ACTIONS(239), + [anon_sym_struct] = ACTIONS(243), + [anon_sym_LBRACE] = ACTIONS(241), + [anon_sym_RBRACE] = ACTIONS(241), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), - [anon_sym_PLUS_EQ] = ACTIONS(239), - [anon_sym_DASH_EQ] = ACTIONS(239), - [anon_sym_STAR_EQ] = ACTIONS(239), - [anon_sym_SLASH_EQ] = ACTIONS(239), - [anon_sym_BSLASH_EQ] = ACTIONS(239), - [anon_sym_PERCENT_EQ] = ACTIONS(239), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(239), - [anon_sym_CARET_EQ] = ACTIONS(239), - [anon_sym_AMP_EQ] = ACTIONS(239), - [anon_sym_PIPE_EQ] = ACTIONS(239), - [anon_sym_TILDE_EQ] = ACTIONS(239), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(239), - [anon_sym_LT_GT_EQ] = ACTIONS(239), - [anon_sym_LT_LT_EQ] = ACTIONS(239), - [anon_sym_GT_GT_EQ] = ACTIONS(239), - [anon_sym_BANG] = ACTIONS(241), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(241), - [anon_sym_and] = ACTIONS(241), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_PLUS_EQ] = ACTIONS(241), + [anon_sym_DASH_EQ] = ACTIONS(241), + [anon_sym_STAR_EQ] = ACTIONS(241), + [anon_sym_SLASH_EQ] = ACTIONS(241), + [anon_sym_BSLASH_EQ] = ACTIONS(241), + [anon_sym_PERCENT_EQ] = ACTIONS(241), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(241), + [anon_sym_CARET_EQ] = ACTIONS(241), + [anon_sym_AMP_EQ] = ACTIONS(241), + [anon_sym_PIPE_EQ] = ACTIONS(241), + [anon_sym_TILDE_EQ] = ACTIONS(241), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(241), + [anon_sym_LT_GT_EQ] = ACTIONS(241), + [anon_sym_LT_LT_EQ] = ACTIONS(241), + [anon_sym_GT_GT_EQ] = ACTIONS(241), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(243), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(243), + [anon_sym_and] = ACTIONS(243), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(241), - [anon_sym_DOT_DOT_EQ] = ACTIONS(239), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(239), - [anon_sym_for] = ACTIONS(241), - [anon_sym_if] = ACTIONS(241), - [anon_sym_while] = ACTIONS(241), - [anon_sym_return] = ACTIONS(241), - [sym_break_expression] = ACTIONS(241), - [sym_continue_expression] = ACTIONS(241), - [sym_integer] = ACTIONS(241), - [sym_float] = ACTIONS(241), - [sym_complex] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [anon_sym_Inf] = ACTIONS(241), - [anon_sym_NaN] = ACTIONS(241), - [anon_sym_DQUOTE] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(243), + [anon_sym_DOT_DOT_EQ] = ACTIONS(241), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(241), + [anon_sym_for] = ACTIONS(243), + [anon_sym_if] = ACTIONS(243), + [anon_sym_while] = ACTIONS(243), + [anon_sym_return] = ACTIONS(243), + [sym_break_expression] = ACTIONS(243), + [sym_continue_expression] = ACTIONS(243), + [sym_integer] = ACTIONS(243), + [sym_float] = ACTIONS(243), + [sym_complex] = ACTIONS(241), + [anon_sym_true] = ACTIONS(243), + [anon_sym_false] = ACTIONS(243), + [anon_sym_Inf] = ACTIONS(243), + [anon_sym_NaN] = ACTIONS(243), + [anon_sym_DQUOTE] = ACTIONS(241), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(239), - [sym_raw_string] = ACTIONS(239), + [sym_named_op_assign] = ACTIONS(241), + [sym_raw_string] = ACTIONS(241), }, [24] = { - [sym_arguments] = STATE(66), - [ts_builtin_sym_end] = ACTIONS(243), - [sym_identifier] = ACTIONS(245), - [anon_sym_SEMI] = ACTIONS(243), - [anon_sym_let] = ACTIONS(245), - [anon_sym_EQ] = ACTIONS(245), - [anon_sym_COMMA] = ACTIONS(243), - [anon_sym_pure] = ACTIONS(245), - [anon_sym_fn] = ACTIONS(245), + [sym_arguments] = STATE(68), + [ts_builtin_sym_end] = ACTIONS(245), + [sym_identifier] = ACTIONS(247), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_let] = ACTIONS(247), + [anon_sym_EQ] = ACTIONS(247), + [anon_sym_COMMA] = ACTIONS(245), + [anon_sym_pure] = ACTIONS(247), + [anon_sym_fn] = ACTIONS(247), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(245), - [anon_sym_LBRACE] = ACTIONS(243), - [anon_sym_RBRACE] = ACTIONS(243), - [anon_sym_LT] = ACTIONS(245), - [anon_sym_GT] = ACTIONS(245), - [anon_sym_PLUS_EQ] = ACTIONS(243), - [anon_sym_DASH_EQ] = ACTIONS(243), - [anon_sym_STAR_EQ] = ACTIONS(243), - [anon_sym_SLASH_EQ] = ACTIONS(243), - [anon_sym_BSLASH_EQ] = ACTIONS(243), - [anon_sym_PERCENT_EQ] = ACTIONS(243), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(243), - [anon_sym_CARET_EQ] = ACTIONS(243), - [anon_sym_AMP_EQ] = ACTIONS(243), - [anon_sym_PIPE_EQ] = ACTIONS(243), - [anon_sym_TILDE_EQ] = ACTIONS(243), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(243), - [anon_sym_LT_GT_EQ] = ACTIONS(243), - [anon_sym_LT_LT_EQ] = ACTIONS(243), - [anon_sym_GT_GT_EQ] = ACTIONS(243), - [anon_sym_BANG] = ACTIONS(245), - [anon_sym_DASH] = ACTIONS(245), - [anon_sym_TILDE] = ACTIONS(245), - [anon_sym_not] = ACTIONS(245), - [anon_sym_or] = ACTIONS(245), - [anon_sym_and] = ACTIONS(245), - [anon_sym_LT_EQ_GT] = ACTIONS(243), - [anon_sym_GT_EQ_LT] = ACTIONS(243), - [anon_sym_LT_LT] = ACTIONS(245), - [anon_sym_GT_GT] = ACTIONS(245), - [anon_sym_PIPE] = ACTIONS(245), - [anon_sym_AMP] = ACTIONS(245), - [anon_sym_PLUS] = ACTIONS(245), - [anon_sym_PLUS_PLUS] = ACTIONS(245), - [anon_sym_LT_GT] = ACTIONS(245), - [anon_sym_STAR] = ACTIONS(245), - [anon_sym_SLASH] = ACTIONS(245), - [anon_sym_BSLASH] = ACTIONS(245), - [anon_sym_PERCENT] = ACTIONS(245), - [anon_sym_PERCENT_PERCENT] = ACTIONS(245), - [anon_sym_EQ_EQ] = ACTIONS(243), - [anon_sym_BANG_EQ] = ACTIONS(243), - [anon_sym_GT_EQ] = ACTIONS(245), - [anon_sym_LT_EQ] = ACTIONS(245), - [anon_sym_in] = ACTIONS(245), - [anon_sym_CARET] = ACTIONS(245), - [anon_sym_DOT_DOT] = ACTIONS(245), - [anon_sym_DOT_DOT_EQ] = ACTIONS(243), - [anon_sym_LBRACK] = ACTIONS(243), - [anon_sym_DOT] = ACTIONS(245), - [anon_sym_PERCENT_LBRACE] = ACTIONS(243), - [anon_sym_for] = ACTIONS(245), - [anon_sym_if] = ACTIONS(245), - [anon_sym_while] = ACTIONS(245), - [anon_sym_return] = ACTIONS(245), - [sym_break_expression] = ACTIONS(245), - [sym_continue_expression] = ACTIONS(245), - [sym_integer] = ACTIONS(245), - [sym_float] = ACTIONS(245), - [sym_complex] = ACTIONS(243), - [anon_sym_true] = ACTIONS(245), - [anon_sym_false] = ACTIONS(245), - [anon_sym_Inf] = ACTIONS(245), - [anon_sym_NaN] = ACTIONS(245), - [anon_sym_DQUOTE] = ACTIONS(243), + [anon_sym_struct] = ACTIONS(247), + [anon_sym_LBRACE] = ACTIONS(245), + [anon_sym_RBRACE] = ACTIONS(245), + [anon_sym_LT] = ACTIONS(247), + [anon_sym_GT] = ACTIONS(247), + [anon_sym_PLUS_EQ] = ACTIONS(245), + [anon_sym_DASH_EQ] = ACTIONS(245), + [anon_sym_STAR_EQ] = ACTIONS(245), + [anon_sym_SLASH_EQ] = ACTIONS(245), + [anon_sym_BSLASH_EQ] = ACTIONS(245), + [anon_sym_PERCENT_EQ] = ACTIONS(245), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(245), + [anon_sym_CARET_EQ] = ACTIONS(245), + [anon_sym_AMP_EQ] = ACTIONS(245), + [anon_sym_PIPE_EQ] = ACTIONS(245), + [anon_sym_TILDE_EQ] = ACTIONS(245), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(245), + [anon_sym_LT_GT_EQ] = ACTIONS(245), + [anon_sym_LT_LT_EQ] = ACTIONS(245), + [anon_sym_GT_GT_EQ] = ACTIONS(245), + [anon_sym_as] = ACTIONS(247), + [anon_sym_BANG] = ACTIONS(247), + [anon_sym_DASH] = ACTIONS(247), + [anon_sym_TILDE] = ACTIONS(247), + [anon_sym_not] = ACTIONS(247), + [anon_sym_or] = ACTIONS(247), + [anon_sym_and] = ACTIONS(247), + [anon_sym_LT_EQ_GT] = ACTIONS(245), + [anon_sym_GT_EQ_LT] = ACTIONS(245), + [anon_sym_LT_LT] = ACTIONS(247), + [anon_sym_GT_GT] = ACTIONS(247), + [anon_sym_PIPE] = ACTIONS(247), + [anon_sym_AMP] = ACTIONS(247), + [anon_sym_PLUS] = ACTIONS(247), + [anon_sym_PLUS_PLUS] = ACTIONS(247), + [anon_sym_LT_GT] = ACTIONS(247), + [anon_sym_STAR] = ACTIONS(247), + [anon_sym_SLASH] = ACTIONS(247), + [anon_sym_BSLASH] = ACTIONS(247), + [anon_sym_PERCENT] = ACTIONS(247), + [anon_sym_PERCENT_PERCENT] = ACTIONS(247), + [anon_sym_EQ_EQ] = ACTIONS(245), + [anon_sym_BANG_EQ] = ACTIONS(245), + [anon_sym_GT_EQ] = ACTIONS(247), + [anon_sym_LT_EQ] = ACTIONS(247), + [anon_sym_in] = ACTIONS(247), + [anon_sym_CARET] = ACTIONS(247), + [anon_sym_DOT_DOT] = ACTIONS(247), + [anon_sym_DOT_DOT_EQ] = ACTIONS(245), + [anon_sym_LBRACK] = ACTIONS(245), + [anon_sym_DOT] = ACTIONS(247), + [anon_sym_PERCENT_LBRACE] = ACTIONS(245), + [anon_sym_for] = ACTIONS(247), + [anon_sym_if] = ACTIONS(247), + [anon_sym_while] = ACTIONS(247), + [anon_sym_return] = ACTIONS(247), + [sym_break_expression] = ACTIONS(247), + [sym_continue_expression] = ACTIONS(247), + [sym_integer] = ACTIONS(247), + [sym_float] = ACTIONS(247), + [sym_complex] = ACTIONS(245), + [anon_sym_true] = ACTIONS(247), + [anon_sym_false] = ACTIONS(247), + [anon_sym_Inf] = ACTIONS(247), + [anon_sym_NaN] = ACTIONS(247), + [anon_sym_DQUOTE] = ACTIONS(245), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(243), - [sym_raw_string] = ACTIONS(243), + [sym_named_op_assign] = ACTIONS(245), + [sym_raw_string] = ACTIONS(245), }, [25] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(247), - [sym_identifier] = ACTIONS(249), - [anon_sym_SEMI] = ACTIONS(247), - [anon_sym_let] = ACTIONS(249), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(249), + [sym_identifier] = ACTIONS(251), + [anon_sym_SEMI] = ACTIONS(249), + [anon_sym_let] = ACTIONS(251), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(247), - [anon_sym_pure] = ACTIONS(249), - [anon_sym_fn] = ACTIONS(249), + [anon_sym_COMMA] = ACTIONS(249), + [anon_sym_pure] = ACTIONS(251), + [anon_sym_fn] = ACTIONS(251), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(249), - [anon_sym_LBRACE] = ACTIONS(247), - [anon_sym_RBRACE] = ACTIONS(247), + [anon_sym_struct] = ACTIONS(251), + [anon_sym_LBRACE] = ACTIONS(249), + [anon_sym_RBRACE] = ACTIONS(249), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -6008,149 +6159,151 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(249), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(251), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(247), - [anon_sym_for] = ACTIONS(249), - [anon_sym_if] = ACTIONS(249), - [anon_sym_while] = ACTIONS(249), - [anon_sym_return] = ACTIONS(249), - [sym_break_expression] = ACTIONS(249), - [sym_continue_expression] = ACTIONS(249), - [sym_integer] = ACTIONS(249), - [sym_float] = ACTIONS(249), - [sym_complex] = ACTIONS(247), - [anon_sym_true] = ACTIONS(249), - [anon_sym_false] = ACTIONS(249), - [anon_sym_Inf] = ACTIONS(249), - [anon_sym_NaN] = ACTIONS(249), - [anon_sym_DQUOTE] = ACTIONS(247), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(249), + [anon_sym_for] = ACTIONS(251), + [anon_sym_if] = ACTIONS(251), + [anon_sym_while] = ACTIONS(251), + [anon_sym_return] = ACTIONS(251), + [sym_break_expression] = ACTIONS(251), + [sym_continue_expression] = ACTIONS(251), + [sym_integer] = ACTIONS(251), + [sym_float] = ACTIONS(251), + [sym_complex] = ACTIONS(249), + [anon_sym_true] = ACTIONS(251), + [anon_sym_false] = ACTIONS(251), + [anon_sym_Inf] = ACTIONS(251), + [anon_sym_NaN] = ACTIONS(251), + [anon_sym_DQUOTE] = ACTIONS(249), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(247), + [sym_raw_string] = ACTIONS(249), }, [26] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(251), - [sym_identifier] = ACTIONS(253), - [anon_sym_SEMI] = ACTIONS(251), - [anon_sym_let] = ACTIONS(253), - [anon_sym_EQ] = ACTIONS(253), - [anon_sym_COMMA] = ACTIONS(251), - [anon_sym_pure] = ACTIONS(253), - [anon_sym_fn] = ACTIONS(253), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(253), + [sym_identifier] = ACTIONS(255), + [anon_sym_SEMI] = ACTIONS(253), + [anon_sym_let] = ACTIONS(255), + [anon_sym_EQ] = ACTIONS(255), + [anon_sym_COMMA] = ACTIONS(253), + [anon_sym_pure] = ACTIONS(255), + [anon_sym_fn] = ACTIONS(255), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(253), - [anon_sym_LBRACE] = ACTIONS(251), - [anon_sym_RBRACE] = ACTIONS(251), - [anon_sym_LT] = ACTIONS(253), - [anon_sym_GT] = ACTIONS(253), - [anon_sym_PLUS_EQ] = ACTIONS(251), - [anon_sym_DASH_EQ] = ACTIONS(251), - [anon_sym_STAR_EQ] = ACTIONS(251), - [anon_sym_SLASH_EQ] = ACTIONS(251), - [anon_sym_BSLASH_EQ] = ACTIONS(251), - [anon_sym_PERCENT_EQ] = ACTIONS(251), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(251), - [anon_sym_CARET_EQ] = ACTIONS(251), - [anon_sym_AMP_EQ] = ACTIONS(251), - [anon_sym_PIPE_EQ] = ACTIONS(251), - [anon_sym_TILDE_EQ] = ACTIONS(251), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(251), - [anon_sym_LT_GT_EQ] = ACTIONS(251), - [anon_sym_LT_LT_EQ] = ACTIONS(251), - [anon_sym_GT_GT_EQ] = ACTIONS(251), - [anon_sym_BANG] = ACTIONS(253), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(253), - [anon_sym_or] = ACTIONS(253), - [anon_sym_and] = ACTIONS(253), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(251), - [anon_sym_BANG_EQ] = ACTIONS(251), - [anon_sym_GT_EQ] = ACTIONS(253), - [anon_sym_LT_EQ] = ACTIONS(253), - [anon_sym_in] = ACTIONS(253), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(253), - [anon_sym_DOT_DOT_EQ] = ACTIONS(251), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(251), - [anon_sym_for] = ACTIONS(253), - [anon_sym_if] = ACTIONS(253), - [anon_sym_while] = ACTIONS(253), - [anon_sym_return] = ACTIONS(253), - [sym_break_expression] = ACTIONS(253), - [sym_continue_expression] = ACTIONS(253), - [sym_integer] = ACTIONS(253), - [sym_float] = ACTIONS(253), - [sym_complex] = ACTIONS(251), - [anon_sym_true] = ACTIONS(253), - [anon_sym_false] = ACTIONS(253), - [anon_sym_Inf] = ACTIONS(253), - [anon_sym_NaN] = ACTIONS(253), - [anon_sym_DQUOTE] = ACTIONS(251), + [anon_sym_struct] = ACTIONS(255), + [anon_sym_LBRACE] = ACTIONS(253), + [anon_sym_RBRACE] = ACTIONS(253), + [anon_sym_LT] = ACTIONS(255), + [anon_sym_GT] = ACTIONS(255), + [anon_sym_PLUS_EQ] = ACTIONS(253), + [anon_sym_DASH_EQ] = ACTIONS(253), + [anon_sym_STAR_EQ] = ACTIONS(253), + [anon_sym_SLASH_EQ] = ACTIONS(253), + [anon_sym_BSLASH_EQ] = ACTIONS(253), + [anon_sym_PERCENT_EQ] = ACTIONS(253), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(253), + [anon_sym_CARET_EQ] = ACTIONS(253), + [anon_sym_AMP_EQ] = ACTIONS(253), + [anon_sym_PIPE_EQ] = ACTIONS(253), + [anon_sym_TILDE_EQ] = ACTIONS(253), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(253), + [anon_sym_LT_GT_EQ] = ACTIONS(253), + [anon_sym_LT_LT_EQ] = ACTIONS(253), + [anon_sym_GT_GT_EQ] = ACTIONS(253), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(255), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(255), + [anon_sym_or] = ACTIONS(255), + [anon_sym_and] = ACTIONS(255), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(253), + [anon_sym_BANG_EQ] = ACTIONS(253), + [anon_sym_GT_EQ] = ACTIONS(255), + [anon_sym_LT_EQ] = ACTIONS(255), + [anon_sym_in] = ACTIONS(255), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(255), + [anon_sym_DOT_DOT_EQ] = ACTIONS(253), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(253), + [anon_sym_for] = ACTIONS(255), + [anon_sym_if] = ACTIONS(255), + [anon_sym_while] = ACTIONS(255), + [anon_sym_return] = ACTIONS(255), + [sym_break_expression] = ACTIONS(255), + [sym_continue_expression] = ACTIONS(255), + [sym_integer] = ACTIONS(255), + [sym_float] = ACTIONS(255), + [sym_complex] = ACTIONS(253), + [anon_sym_true] = ACTIONS(255), + [anon_sym_false] = ACTIONS(255), + [anon_sym_Inf] = ACTIONS(255), + [anon_sym_NaN] = ACTIONS(255), + [anon_sym_DQUOTE] = ACTIONS(253), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(251), - [sym_raw_string] = ACTIONS(251), + [sym_named_op_assign] = ACTIONS(253), + [sym_raw_string] = ACTIONS(253), }, [27] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(255), - [sym_identifier] = ACTIONS(257), - [anon_sym_SEMI] = ACTIONS(255), - [anon_sym_let] = ACTIONS(257), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(257), + [sym_identifier] = ACTIONS(259), + [anon_sym_SEMI] = ACTIONS(257), + [anon_sym_let] = ACTIONS(259), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(255), - [anon_sym_pure] = ACTIONS(257), - [anon_sym_fn] = ACTIONS(257), + [anon_sym_COMMA] = ACTIONS(257), + [anon_sym_pure] = ACTIONS(259), + [anon_sym_fn] = ACTIONS(259), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(257), - [anon_sym_LBRACE] = ACTIONS(255), - [anon_sym_RBRACE] = ACTIONS(255), + [anon_sym_struct] = ACTIONS(259), + [anon_sym_LBRACE] = ACTIONS(257), + [anon_sym_RBRACE] = ACTIONS(257), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -6168,69 +6321,70 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(259), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(255), - [anon_sym_for] = ACTIONS(257), - [anon_sym_if] = ACTIONS(257), - [anon_sym_while] = ACTIONS(257), - [anon_sym_return] = ACTIONS(257), - [sym_break_expression] = ACTIONS(257), - [sym_continue_expression] = ACTIONS(257), - [sym_integer] = ACTIONS(257), - [sym_float] = ACTIONS(257), - [sym_complex] = ACTIONS(255), - [anon_sym_true] = ACTIONS(257), - [anon_sym_false] = ACTIONS(257), - [anon_sym_Inf] = ACTIONS(257), - [anon_sym_NaN] = ACTIONS(257), - [anon_sym_DQUOTE] = ACTIONS(255), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(257), + [anon_sym_for] = ACTIONS(259), + [anon_sym_if] = ACTIONS(259), + [anon_sym_while] = ACTIONS(259), + [anon_sym_return] = ACTIONS(259), + [sym_break_expression] = ACTIONS(259), + [sym_continue_expression] = ACTIONS(259), + [sym_integer] = ACTIONS(259), + [sym_float] = ACTIONS(259), + [sym_complex] = ACTIONS(257), + [anon_sym_true] = ACTIONS(259), + [anon_sym_false] = ACTIONS(259), + [anon_sym_Inf] = ACTIONS(259), + [anon_sym_NaN] = ACTIONS(259), + [anon_sym_DQUOTE] = ACTIONS(257), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(255), + [sym_raw_string] = ACTIONS(257), }, [28] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(259), - [sym_identifier] = ACTIONS(261), - [anon_sym_SEMI] = ACTIONS(259), - [anon_sym_let] = ACTIONS(261), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(261), + [sym_identifier] = ACTIONS(263), + [anon_sym_SEMI] = ACTIONS(261), + [anon_sym_let] = ACTIONS(263), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(259), - [anon_sym_pure] = ACTIONS(261), - [anon_sym_fn] = ACTIONS(261), + [anon_sym_COMMA] = ACTIONS(261), + [anon_sym_pure] = ACTIONS(263), + [anon_sym_fn] = ACTIONS(263), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(261), - [anon_sym_LBRACE] = ACTIONS(259), - [anon_sym_RBRACE] = ACTIONS(259), + [anon_sym_struct] = ACTIONS(263), + [anon_sym_LBRACE] = ACTIONS(261), + [anon_sym_RBRACE] = ACTIONS(261), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -6248,149 +6402,151 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(261), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(263), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(259), - [anon_sym_for] = ACTIONS(261), - [anon_sym_if] = ACTIONS(261), - [anon_sym_while] = ACTIONS(261), - [anon_sym_return] = ACTIONS(261), - [sym_break_expression] = ACTIONS(261), - [sym_continue_expression] = ACTIONS(261), - [sym_integer] = ACTIONS(261), - [sym_float] = ACTIONS(261), - [sym_complex] = ACTIONS(259), - [anon_sym_true] = ACTIONS(261), - [anon_sym_false] = ACTIONS(261), - [anon_sym_Inf] = ACTIONS(261), - [anon_sym_NaN] = ACTIONS(261), - [anon_sym_DQUOTE] = ACTIONS(259), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(261), + [anon_sym_for] = ACTIONS(263), + [anon_sym_if] = ACTIONS(263), + [anon_sym_while] = ACTIONS(263), + [anon_sym_return] = ACTIONS(263), + [sym_break_expression] = ACTIONS(263), + [sym_continue_expression] = ACTIONS(263), + [sym_integer] = ACTIONS(263), + [sym_float] = ACTIONS(263), + [sym_complex] = ACTIONS(261), + [anon_sym_true] = ACTIONS(263), + [anon_sym_false] = ACTIONS(263), + [anon_sym_Inf] = ACTIONS(263), + [anon_sym_NaN] = ACTIONS(263), + [anon_sym_DQUOTE] = ACTIONS(261), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(259), + [sym_raw_string] = ACTIONS(261), }, [29] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(237), - [anon_sym_TILDE] = ACTIONS(237), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(235), - [anon_sym_GT_EQ_LT] = ACTIONS(235), - [anon_sym_LT_LT] = ACTIONS(237), - [anon_sym_GT_GT] = ACTIONS(237), - [anon_sym_PIPE] = ACTIONS(237), - [anon_sym_AMP] = ACTIONS(237), - [anon_sym_PLUS] = ACTIONS(237), - [anon_sym_PLUS_PLUS] = ACTIONS(237), - [anon_sym_LT_GT] = ACTIONS(237), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(239), + [anon_sym_TILDE] = ACTIONS(239), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(237), + [anon_sym_GT_EQ_LT] = ACTIONS(237), + [anon_sym_LT_LT] = ACTIONS(239), + [anon_sym_GT_GT] = ACTIONS(239), + [anon_sym_PIPE] = ACTIONS(239), + [anon_sym_AMP] = ACTIONS(239), + [anon_sym_PLUS] = ACTIONS(239), + [anon_sym_PLUS_PLUS] = ACTIONS(239), + [anon_sym_LT_GT] = ACTIONS(239), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [30] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(263), - [sym_identifier] = ACTIONS(265), - [anon_sym_SEMI] = ACTIONS(263), - [anon_sym_let] = ACTIONS(265), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(265), + [sym_identifier] = ACTIONS(267), + [anon_sym_SEMI] = ACTIONS(265), + [anon_sym_let] = ACTIONS(267), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(263), - [anon_sym_pure] = ACTIONS(265), - [anon_sym_fn] = ACTIONS(265), + [anon_sym_COMMA] = ACTIONS(265), + [anon_sym_pure] = ACTIONS(267), + [anon_sym_fn] = ACTIONS(267), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(265), - [anon_sym_LBRACE] = ACTIONS(263), - [anon_sym_RBRACE] = ACTIONS(263), + [anon_sym_struct] = ACTIONS(267), + [anon_sym_LBRACE] = ACTIONS(265), + [anon_sym_RBRACE] = ACTIONS(265), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -6408,69 +6564,70 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(265), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(267), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(263), - [anon_sym_for] = ACTIONS(265), - [anon_sym_if] = ACTIONS(265), - [anon_sym_while] = ACTIONS(265), - [anon_sym_return] = ACTIONS(265), - [sym_break_expression] = ACTIONS(265), - [sym_continue_expression] = ACTIONS(265), - [sym_integer] = ACTIONS(265), - [sym_float] = ACTIONS(265), - [sym_complex] = ACTIONS(263), - [anon_sym_true] = ACTIONS(265), - [anon_sym_false] = ACTIONS(265), - [anon_sym_Inf] = ACTIONS(265), - [anon_sym_NaN] = ACTIONS(265), - [anon_sym_DQUOTE] = ACTIONS(263), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(265), + [anon_sym_for] = ACTIONS(267), + [anon_sym_if] = ACTIONS(267), + [anon_sym_while] = ACTIONS(267), + [anon_sym_return] = ACTIONS(267), + [sym_break_expression] = ACTIONS(267), + [sym_continue_expression] = ACTIONS(267), + [sym_integer] = ACTIONS(267), + [sym_float] = ACTIONS(267), + [sym_complex] = ACTIONS(265), + [anon_sym_true] = ACTIONS(267), + [anon_sym_false] = ACTIONS(267), + [anon_sym_Inf] = ACTIONS(267), + [anon_sym_NaN] = ACTIONS(267), + [anon_sym_DQUOTE] = ACTIONS(265), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(263), + [sym_raw_string] = ACTIONS(265), }, [31] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(267), - [sym_identifier] = ACTIONS(269), - [anon_sym_SEMI] = ACTIONS(267), - [anon_sym_let] = ACTIONS(269), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(269), + [sym_identifier] = ACTIONS(271), + [anon_sym_SEMI] = ACTIONS(269), + [anon_sym_let] = ACTIONS(271), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(267), - [anon_sym_pure] = ACTIONS(269), - [anon_sym_fn] = ACTIONS(269), + [anon_sym_COMMA] = ACTIONS(269), + [anon_sym_pure] = ACTIONS(271), + [anon_sym_fn] = ACTIONS(271), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(269), - [anon_sym_LBRACE] = ACTIONS(267), - [anon_sym_RBRACE] = ACTIONS(267), + [anon_sym_struct] = ACTIONS(271), + [anon_sym_LBRACE] = ACTIONS(269), + [anon_sym_RBRACE] = ACTIONS(269), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -6488,69 +6645,70 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(269), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(271), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(267), - [anon_sym_for] = ACTIONS(269), - [anon_sym_if] = ACTIONS(269), - [anon_sym_while] = ACTIONS(269), - [anon_sym_return] = ACTIONS(269), - [sym_break_expression] = ACTIONS(269), - [sym_continue_expression] = ACTIONS(269), - [sym_integer] = ACTIONS(269), - [sym_float] = ACTIONS(269), - [sym_complex] = ACTIONS(267), - [anon_sym_true] = ACTIONS(269), - [anon_sym_false] = ACTIONS(269), - [anon_sym_Inf] = ACTIONS(269), - [anon_sym_NaN] = ACTIONS(269), - [anon_sym_DQUOTE] = ACTIONS(267), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(269), + [anon_sym_for] = ACTIONS(271), + [anon_sym_if] = ACTIONS(271), + [anon_sym_while] = ACTIONS(271), + [anon_sym_return] = ACTIONS(271), + [sym_break_expression] = ACTIONS(271), + [sym_continue_expression] = ACTIONS(271), + [sym_integer] = ACTIONS(271), + [sym_float] = ACTIONS(271), + [sym_complex] = ACTIONS(269), + [anon_sym_true] = ACTIONS(271), + [anon_sym_false] = ACTIONS(271), + [anon_sym_Inf] = ACTIONS(271), + [anon_sym_NaN] = ACTIONS(271), + [anon_sym_DQUOTE] = ACTIONS(269), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(267), + [sym_raw_string] = ACTIONS(269), }, [32] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(271), - [sym_identifier] = ACTIONS(273), - [anon_sym_SEMI] = ACTIONS(271), - [anon_sym_let] = ACTIONS(273), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(273), + [sym_identifier] = ACTIONS(275), + [anon_sym_SEMI] = ACTIONS(273), + [anon_sym_let] = ACTIONS(275), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(271), - [anon_sym_pure] = ACTIONS(273), - [anon_sym_fn] = ACTIONS(273), + [anon_sym_COMMA] = ACTIONS(273), + [anon_sym_pure] = ACTIONS(275), + [anon_sym_fn] = ACTIONS(275), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(273), - [anon_sym_LBRACE] = ACTIONS(271), - [anon_sym_RBRACE] = ACTIONS(271), + [anon_sym_struct] = ACTIONS(275), + [anon_sym_LBRACE] = ACTIONS(273), + [anon_sym_RBRACE] = ACTIONS(273), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -6568,69 +6726,70 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(273), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(275), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(271), - [anon_sym_for] = ACTIONS(273), - [anon_sym_if] = ACTIONS(273), - [anon_sym_while] = ACTIONS(273), - [anon_sym_return] = ACTIONS(273), - [sym_break_expression] = ACTIONS(273), - [sym_continue_expression] = ACTIONS(273), - [sym_integer] = ACTIONS(273), - [sym_float] = ACTIONS(273), - [sym_complex] = ACTIONS(271), - [anon_sym_true] = ACTIONS(273), - [anon_sym_false] = ACTIONS(273), - [anon_sym_Inf] = ACTIONS(273), - [anon_sym_NaN] = ACTIONS(273), - [anon_sym_DQUOTE] = ACTIONS(271), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(273), + [anon_sym_for] = ACTIONS(275), + [anon_sym_if] = ACTIONS(275), + [anon_sym_while] = ACTIONS(275), + [anon_sym_return] = ACTIONS(275), + [sym_break_expression] = ACTIONS(275), + [sym_continue_expression] = ACTIONS(275), + [sym_integer] = ACTIONS(275), + [sym_float] = ACTIONS(275), + [sym_complex] = ACTIONS(273), + [anon_sym_true] = ACTIONS(275), + [anon_sym_false] = ACTIONS(275), + [anon_sym_Inf] = ACTIONS(275), + [anon_sym_NaN] = ACTIONS(275), + [anon_sym_DQUOTE] = ACTIONS(273), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(271), + [sym_raw_string] = ACTIONS(273), }, [33] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(275), - [sym_identifier] = ACTIONS(277), - [anon_sym_SEMI] = ACTIONS(275), - [anon_sym_let] = ACTIONS(277), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(277), + [sym_identifier] = ACTIONS(279), + [anon_sym_SEMI] = ACTIONS(277), + [anon_sym_let] = ACTIONS(279), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(275), - [anon_sym_pure] = ACTIONS(277), - [anon_sym_fn] = ACTIONS(277), + [anon_sym_COMMA] = ACTIONS(277), + [anon_sym_pure] = ACTIONS(279), + [anon_sym_fn] = ACTIONS(279), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(277), - [anon_sym_LBRACE] = ACTIONS(275), - [anon_sym_RBRACE] = ACTIONS(275), + [anon_sym_struct] = ACTIONS(279), + [anon_sym_LBRACE] = ACTIONS(277), + [anon_sym_RBRACE] = ACTIONS(277), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -6648,949 +6807,961 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(277), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(279), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(275), - [anon_sym_for] = ACTIONS(277), - [anon_sym_if] = ACTIONS(277), - [anon_sym_while] = ACTIONS(277), - [anon_sym_return] = ACTIONS(277), - [sym_break_expression] = ACTIONS(277), - [sym_continue_expression] = ACTIONS(277), - [sym_integer] = ACTIONS(277), - [sym_float] = ACTIONS(277), - [sym_complex] = ACTIONS(275), - [anon_sym_true] = ACTIONS(277), - [anon_sym_false] = ACTIONS(277), - [anon_sym_Inf] = ACTIONS(277), - [anon_sym_NaN] = ACTIONS(277), - [anon_sym_DQUOTE] = ACTIONS(275), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(277), + [anon_sym_for] = ACTIONS(279), + [anon_sym_if] = ACTIONS(279), + [anon_sym_while] = ACTIONS(279), + [anon_sym_return] = ACTIONS(279), + [sym_break_expression] = ACTIONS(279), + [sym_continue_expression] = ACTIONS(279), + [sym_integer] = ACTIONS(279), + [sym_float] = ACTIONS(279), + [sym_complex] = ACTIONS(277), + [anon_sym_true] = ACTIONS(279), + [anon_sym_false] = ACTIONS(279), + [anon_sym_Inf] = ACTIONS(279), + [anon_sym_NaN] = ACTIONS(279), + [anon_sym_DQUOTE] = ACTIONS(277), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(275), + [sym_raw_string] = ACTIONS(277), }, [34] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(279), - [sym_identifier] = ACTIONS(281), - [anon_sym_SEMI] = ACTIONS(279), - [anon_sym_let] = ACTIONS(281), - [anon_sym_EQ] = ACTIONS(281), - [anon_sym_COMMA] = ACTIONS(279), - [anon_sym_pure] = ACTIONS(281), - [anon_sym_fn] = ACTIONS(281), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(281), + [sym_identifier] = ACTIONS(283), + [anon_sym_SEMI] = ACTIONS(281), + [anon_sym_let] = ACTIONS(283), + [anon_sym_EQ] = ACTIONS(283), + [anon_sym_COMMA] = ACTIONS(281), + [anon_sym_pure] = ACTIONS(283), + [anon_sym_fn] = ACTIONS(283), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(281), - [anon_sym_LBRACE] = ACTIONS(279), - [anon_sym_RBRACE] = ACTIONS(279), - [anon_sym_LT] = ACTIONS(281), - [anon_sym_GT] = ACTIONS(281), - [anon_sym_PLUS_EQ] = ACTIONS(279), - [anon_sym_DASH_EQ] = ACTIONS(279), - [anon_sym_STAR_EQ] = ACTIONS(279), - [anon_sym_SLASH_EQ] = ACTIONS(279), - [anon_sym_BSLASH_EQ] = ACTIONS(279), - [anon_sym_PERCENT_EQ] = ACTIONS(279), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(279), - [anon_sym_CARET_EQ] = ACTIONS(279), - [anon_sym_AMP_EQ] = ACTIONS(279), - [anon_sym_PIPE_EQ] = ACTIONS(279), - [anon_sym_TILDE_EQ] = ACTIONS(279), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(279), - [anon_sym_LT_GT_EQ] = ACTIONS(279), - [anon_sym_LT_LT_EQ] = ACTIONS(279), - [anon_sym_GT_GT_EQ] = ACTIONS(279), - [anon_sym_BANG] = ACTIONS(281), - [anon_sym_DASH] = ACTIONS(281), - [anon_sym_TILDE] = ACTIONS(281), - [anon_sym_not] = ACTIONS(281), - [anon_sym_or] = ACTIONS(281), - [anon_sym_and] = ACTIONS(281), - [anon_sym_LT_EQ_GT] = ACTIONS(279), - [anon_sym_GT_EQ_LT] = ACTIONS(279), - [anon_sym_LT_LT] = ACTIONS(281), - [anon_sym_GT_GT] = ACTIONS(281), - [anon_sym_PIPE] = ACTIONS(281), - [anon_sym_AMP] = ACTIONS(281), - [anon_sym_PLUS] = ACTIONS(281), - [anon_sym_PLUS_PLUS] = ACTIONS(281), - [anon_sym_LT_GT] = ACTIONS(281), - [anon_sym_STAR] = ACTIONS(281), - [anon_sym_SLASH] = ACTIONS(281), - [anon_sym_BSLASH] = ACTIONS(281), - [anon_sym_PERCENT] = ACTIONS(281), - [anon_sym_PERCENT_PERCENT] = ACTIONS(281), - [anon_sym_EQ_EQ] = ACTIONS(279), - [anon_sym_BANG_EQ] = ACTIONS(279), - [anon_sym_GT_EQ] = ACTIONS(281), - [anon_sym_LT_EQ] = ACTIONS(281), - [anon_sym_in] = ACTIONS(281), - [anon_sym_CARET] = ACTIONS(281), - [anon_sym_DOT_DOT] = ACTIONS(281), - [anon_sym_DOT_DOT_EQ] = ACTIONS(279), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(279), - [anon_sym_for] = ACTIONS(281), - [anon_sym_if] = ACTIONS(281), - [anon_sym_while] = ACTIONS(281), - [anon_sym_return] = ACTIONS(281), - [sym_break_expression] = ACTIONS(281), - [sym_continue_expression] = ACTIONS(281), - [sym_integer] = ACTIONS(281), - [sym_float] = ACTIONS(281), - [sym_complex] = ACTIONS(279), - [anon_sym_true] = ACTIONS(281), - [anon_sym_false] = ACTIONS(281), - [anon_sym_Inf] = ACTIONS(281), - [anon_sym_NaN] = ACTIONS(281), - [anon_sym_DQUOTE] = ACTIONS(279), + [anon_sym_struct] = ACTIONS(283), + [anon_sym_LBRACE] = ACTIONS(281), + [anon_sym_RBRACE] = ACTIONS(281), + [anon_sym_LT] = ACTIONS(283), + [anon_sym_GT] = ACTIONS(283), + [anon_sym_PLUS_EQ] = ACTIONS(281), + [anon_sym_DASH_EQ] = ACTIONS(281), + [anon_sym_STAR_EQ] = ACTIONS(281), + [anon_sym_SLASH_EQ] = ACTIONS(281), + [anon_sym_BSLASH_EQ] = ACTIONS(281), + [anon_sym_PERCENT_EQ] = ACTIONS(281), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(281), + [anon_sym_CARET_EQ] = ACTIONS(281), + [anon_sym_AMP_EQ] = ACTIONS(281), + [anon_sym_PIPE_EQ] = ACTIONS(281), + [anon_sym_TILDE_EQ] = ACTIONS(281), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(281), + [anon_sym_LT_GT_EQ] = ACTIONS(281), + [anon_sym_LT_LT_EQ] = ACTIONS(281), + [anon_sym_GT_GT_EQ] = ACTIONS(281), + [anon_sym_as] = ACTIONS(283), + [anon_sym_BANG] = ACTIONS(283), + [anon_sym_DASH] = ACTIONS(283), + [anon_sym_TILDE] = ACTIONS(283), + [anon_sym_not] = ACTIONS(283), + [anon_sym_or] = ACTIONS(283), + [anon_sym_and] = ACTIONS(283), + [anon_sym_LT_EQ_GT] = ACTIONS(281), + [anon_sym_GT_EQ_LT] = ACTIONS(281), + [anon_sym_LT_LT] = ACTIONS(283), + [anon_sym_GT_GT] = ACTIONS(283), + [anon_sym_PIPE] = ACTIONS(283), + [anon_sym_AMP] = ACTIONS(283), + [anon_sym_PLUS] = ACTIONS(283), + [anon_sym_PLUS_PLUS] = ACTIONS(283), + [anon_sym_LT_GT] = ACTIONS(283), + [anon_sym_STAR] = ACTIONS(283), + [anon_sym_SLASH] = ACTIONS(283), + [anon_sym_BSLASH] = ACTIONS(283), + [anon_sym_PERCENT] = ACTIONS(283), + [anon_sym_PERCENT_PERCENT] = ACTIONS(283), + [anon_sym_EQ_EQ] = ACTIONS(281), + [anon_sym_BANG_EQ] = ACTIONS(281), + [anon_sym_GT_EQ] = ACTIONS(283), + [anon_sym_LT_EQ] = ACTIONS(283), + [anon_sym_in] = ACTIONS(283), + [anon_sym_CARET] = ACTIONS(283), + [anon_sym_DOT_DOT] = ACTIONS(283), + [anon_sym_DOT_DOT_EQ] = ACTIONS(281), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(281), + [anon_sym_for] = ACTIONS(283), + [anon_sym_if] = ACTIONS(283), + [anon_sym_while] = ACTIONS(283), + [anon_sym_return] = ACTIONS(283), + [sym_break_expression] = ACTIONS(283), + [sym_continue_expression] = ACTIONS(283), + [sym_integer] = ACTIONS(283), + [sym_float] = ACTIONS(283), + [sym_complex] = ACTIONS(281), + [anon_sym_true] = ACTIONS(283), + [anon_sym_false] = ACTIONS(283), + [anon_sym_Inf] = ACTIONS(283), + [anon_sym_NaN] = ACTIONS(283), + [anon_sym_DQUOTE] = ACTIONS(281), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(279), - [sym_raw_string] = ACTIONS(279), + [sym_named_op_assign] = ACTIONS(281), + [sym_raw_string] = ACTIONS(281), }, [35] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(283), - [sym_identifier] = ACTIONS(285), - [anon_sym_SEMI] = ACTIONS(283), - [anon_sym_let] = ACTIONS(285), - [anon_sym_EQ] = ACTIONS(285), - [anon_sym_COMMA] = ACTIONS(283), - [anon_sym_pure] = ACTIONS(285), - [anon_sym_fn] = ACTIONS(285), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(285), + [sym_identifier] = ACTIONS(287), + [anon_sym_SEMI] = ACTIONS(285), + [anon_sym_let] = ACTIONS(287), + [anon_sym_EQ] = ACTIONS(287), + [anon_sym_COMMA] = ACTIONS(285), + [anon_sym_pure] = ACTIONS(287), + [anon_sym_fn] = ACTIONS(287), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(285), - [anon_sym_LBRACE] = ACTIONS(283), - [anon_sym_RBRACE] = ACTIONS(283), + [anon_sym_struct] = ACTIONS(287), + [anon_sym_LBRACE] = ACTIONS(285), + [anon_sym_RBRACE] = ACTIONS(285), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), - [anon_sym_PLUS_EQ] = ACTIONS(283), - [anon_sym_DASH_EQ] = ACTIONS(283), - [anon_sym_STAR_EQ] = ACTIONS(283), - [anon_sym_SLASH_EQ] = ACTIONS(283), - [anon_sym_BSLASH_EQ] = ACTIONS(283), - [anon_sym_PERCENT_EQ] = ACTIONS(283), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(283), - [anon_sym_CARET_EQ] = ACTIONS(283), - [anon_sym_AMP_EQ] = ACTIONS(283), - [anon_sym_PIPE_EQ] = ACTIONS(283), - [anon_sym_TILDE_EQ] = ACTIONS(283), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(283), - [anon_sym_LT_GT_EQ] = ACTIONS(283), - [anon_sym_LT_LT_EQ] = ACTIONS(283), - [anon_sym_GT_GT_EQ] = ACTIONS(283), - [anon_sym_BANG] = ACTIONS(285), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(285), - [anon_sym_and] = ACTIONS(285), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_PLUS_EQ] = ACTIONS(285), + [anon_sym_DASH_EQ] = ACTIONS(285), + [anon_sym_STAR_EQ] = ACTIONS(285), + [anon_sym_SLASH_EQ] = ACTIONS(285), + [anon_sym_BSLASH_EQ] = ACTIONS(285), + [anon_sym_PERCENT_EQ] = ACTIONS(285), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(285), + [anon_sym_CARET_EQ] = ACTIONS(285), + [anon_sym_AMP_EQ] = ACTIONS(285), + [anon_sym_PIPE_EQ] = ACTIONS(285), + [anon_sym_TILDE_EQ] = ACTIONS(285), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(285), + [anon_sym_LT_GT_EQ] = ACTIONS(285), + [anon_sym_LT_LT_EQ] = ACTIONS(285), + [anon_sym_GT_GT_EQ] = ACTIONS(285), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(287), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(287), + [anon_sym_and] = ACTIONS(287), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(283), - [anon_sym_for] = ACTIONS(285), - [anon_sym_if] = ACTIONS(285), - [anon_sym_while] = ACTIONS(285), - [anon_sym_return] = ACTIONS(285), - [sym_break_expression] = ACTIONS(285), - [sym_continue_expression] = ACTIONS(285), - [sym_integer] = ACTIONS(285), - [sym_float] = ACTIONS(285), - [sym_complex] = ACTIONS(283), - [anon_sym_true] = ACTIONS(285), - [anon_sym_false] = ACTIONS(285), - [anon_sym_Inf] = ACTIONS(285), - [anon_sym_NaN] = ACTIONS(285), - [anon_sym_DQUOTE] = ACTIONS(283), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(285), + [anon_sym_for] = ACTIONS(287), + [anon_sym_if] = ACTIONS(287), + [anon_sym_while] = ACTIONS(287), + [anon_sym_return] = ACTIONS(287), + [sym_break_expression] = ACTIONS(287), + [sym_continue_expression] = ACTIONS(287), + [sym_integer] = ACTIONS(287), + [sym_float] = ACTIONS(287), + [sym_complex] = ACTIONS(285), + [anon_sym_true] = ACTIONS(287), + [anon_sym_false] = ACTIONS(287), + [anon_sym_Inf] = ACTIONS(287), + [anon_sym_NaN] = ACTIONS(287), + [anon_sym_DQUOTE] = ACTIONS(285), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(283), - [sym_raw_string] = ACTIONS(283), + [sym_named_op_assign] = ACTIONS(285), + [sym_raw_string] = ACTIONS(285), }, [36] = { - [aux_sym_tuple_expression_repeat1] = STATE(39), - [ts_builtin_sym_end] = ACTIONS(287), - [sym_identifier] = ACTIONS(289), - [anon_sym_SEMI] = ACTIONS(287), - [anon_sym_let] = ACTIONS(289), - [anon_sym_EQ] = ACTIONS(289), - [anon_sym_COMMA] = ACTIONS(287), - [anon_sym_pure] = ACTIONS(289), - [anon_sym_fn] = ACTIONS(289), - [anon_sym_LPAREN] = ACTIONS(287), - [anon_sym_struct] = ACTIONS(289), - [anon_sym_LBRACE] = ACTIONS(287), - [anon_sym_RBRACE] = ACTIONS(287), - [anon_sym_LT] = ACTIONS(289), - [anon_sym_GT] = ACTIONS(289), - [anon_sym_PLUS_EQ] = ACTIONS(287), - [anon_sym_DASH_EQ] = ACTIONS(287), - [anon_sym_STAR_EQ] = ACTIONS(287), - [anon_sym_SLASH_EQ] = ACTIONS(287), - [anon_sym_BSLASH_EQ] = ACTIONS(287), - [anon_sym_PERCENT_EQ] = ACTIONS(287), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(287), - [anon_sym_CARET_EQ] = ACTIONS(287), - [anon_sym_AMP_EQ] = ACTIONS(287), - [anon_sym_PIPE_EQ] = ACTIONS(287), - [anon_sym_TILDE_EQ] = ACTIONS(287), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(287), - [anon_sym_LT_GT_EQ] = ACTIONS(287), - [anon_sym_LT_LT_EQ] = ACTIONS(287), - [anon_sym_GT_GT_EQ] = ACTIONS(287), - [anon_sym_BANG] = ACTIONS(289), - [anon_sym_DASH] = ACTIONS(289), - [anon_sym_TILDE] = ACTIONS(289), - [anon_sym_not] = ACTIONS(289), - [anon_sym_or] = ACTIONS(289), - [anon_sym_and] = ACTIONS(289), - [anon_sym_LT_EQ_GT] = ACTIONS(287), - [anon_sym_GT_EQ_LT] = ACTIONS(287), - [anon_sym_LT_LT] = ACTIONS(289), - [anon_sym_GT_GT] = ACTIONS(289), - [anon_sym_PIPE] = ACTIONS(289), - [anon_sym_AMP] = ACTIONS(289), - [anon_sym_PLUS] = ACTIONS(289), - [anon_sym_PLUS_PLUS] = ACTIONS(289), - [anon_sym_LT_GT] = ACTIONS(289), - [anon_sym_STAR] = ACTIONS(289), - [anon_sym_SLASH] = ACTIONS(289), - [anon_sym_BSLASH] = ACTIONS(289), - [anon_sym_PERCENT] = ACTIONS(289), - [anon_sym_PERCENT_PERCENT] = ACTIONS(289), - [anon_sym_EQ_EQ] = ACTIONS(287), - [anon_sym_BANG_EQ] = ACTIONS(287), - [anon_sym_GT_EQ] = ACTIONS(289), - [anon_sym_LT_EQ] = ACTIONS(289), - [anon_sym_in] = ACTIONS(289), - [anon_sym_CARET] = ACTIONS(289), - [anon_sym_DOT_DOT] = ACTIONS(289), - [anon_sym_DOT_DOT_EQ] = ACTIONS(287), - [anon_sym_LBRACK] = ACTIONS(287), - [anon_sym_DOT] = ACTIONS(289), - [anon_sym_PERCENT_LBRACE] = ACTIONS(287), - [anon_sym_for] = ACTIONS(289), - [anon_sym_if] = ACTIONS(289), - [anon_sym_while] = ACTIONS(289), - [anon_sym_return] = ACTIONS(289), - [sym_break_expression] = ACTIONS(289), - [sym_continue_expression] = ACTIONS(289), - [sym_integer] = ACTIONS(289), - [sym_float] = ACTIONS(289), - [sym_complex] = ACTIONS(287), - [anon_sym_true] = ACTIONS(289), - [anon_sym_false] = ACTIONS(289), - [anon_sym_Inf] = ACTIONS(289), - [anon_sym_NaN] = ACTIONS(289), - [anon_sym_DQUOTE] = ACTIONS(287), + [aux_sym_tuple_expression_repeat1] = STATE(38), + [ts_builtin_sym_end] = ACTIONS(289), + [sym_identifier] = ACTIONS(291), + [anon_sym_SEMI] = ACTIONS(289), + [anon_sym_let] = ACTIONS(291), + [anon_sym_EQ] = ACTIONS(291), + [anon_sym_COMMA] = ACTIONS(289), + [anon_sym_pure] = ACTIONS(291), + [anon_sym_fn] = ACTIONS(291), + [anon_sym_LPAREN] = ACTIONS(289), + [anon_sym_struct] = ACTIONS(291), + [anon_sym_LBRACE] = ACTIONS(289), + [anon_sym_RBRACE] = ACTIONS(289), + [anon_sym_LT] = ACTIONS(291), + [anon_sym_GT] = ACTIONS(291), + [anon_sym_PLUS_EQ] = ACTIONS(289), + [anon_sym_DASH_EQ] = ACTIONS(289), + [anon_sym_STAR_EQ] = ACTIONS(289), + [anon_sym_SLASH_EQ] = ACTIONS(289), + [anon_sym_BSLASH_EQ] = ACTIONS(289), + [anon_sym_PERCENT_EQ] = ACTIONS(289), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(289), + [anon_sym_CARET_EQ] = ACTIONS(289), + [anon_sym_AMP_EQ] = ACTIONS(289), + [anon_sym_PIPE_EQ] = ACTIONS(289), + [anon_sym_TILDE_EQ] = ACTIONS(289), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(289), + [anon_sym_LT_GT_EQ] = ACTIONS(289), + [anon_sym_LT_LT_EQ] = ACTIONS(289), + [anon_sym_GT_GT_EQ] = ACTIONS(289), + [anon_sym_as] = ACTIONS(291), + [anon_sym_BANG] = ACTIONS(291), + [anon_sym_DASH] = ACTIONS(291), + [anon_sym_TILDE] = ACTIONS(291), + [anon_sym_not] = ACTIONS(291), + [anon_sym_or] = ACTIONS(291), + [anon_sym_and] = ACTIONS(291), + [anon_sym_LT_EQ_GT] = ACTIONS(289), + [anon_sym_GT_EQ_LT] = ACTIONS(289), + [anon_sym_LT_LT] = ACTIONS(291), + [anon_sym_GT_GT] = ACTIONS(291), + [anon_sym_PIPE] = ACTIONS(291), + [anon_sym_AMP] = ACTIONS(291), + [anon_sym_PLUS] = ACTIONS(291), + [anon_sym_PLUS_PLUS] = ACTIONS(291), + [anon_sym_LT_GT] = ACTIONS(291), + [anon_sym_STAR] = ACTIONS(291), + [anon_sym_SLASH] = ACTIONS(291), + [anon_sym_BSLASH] = ACTIONS(291), + [anon_sym_PERCENT] = ACTIONS(291), + [anon_sym_PERCENT_PERCENT] = ACTIONS(291), + [anon_sym_EQ_EQ] = ACTIONS(289), + [anon_sym_BANG_EQ] = ACTIONS(289), + [anon_sym_GT_EQ] = ACTIONS(291), + [anon_sym_LT_EQ] = ACTIONS(291), + [anon_sym_in] = ACTIONS(291), + [anon_sym_CARET] = ACTIONS(291), + [anon_sym_DOT_DOT] = ACTIONS(291), + [anon_sym_DOT_DOT_EQ] = ACTIONS(289), + [anon_sym_LBRACK] = ACTIONS(289), + [anon_sym_DOT] = ACTIONS(291), + [anon_sym_PERCENT_LBRACE] = ACTIONS(289), + [anon_sym_for] = ACTIONS(291), + [anon_sym_if] = ACTIONS(291), + [anon_sym_while] = ACTIONS(291), + [anon_sym_return] = ACTIONS(291), + [sym_break_expression] = ACTIONS(291), + [sym_continue_expression] = ACTIONS(291), + [sym_integer] = ACTIONS(291), + [sym_float] = ACTIONS(291), + [sym_complex] = ACTIONS(289), + [anon_sym_true] = ACTIONS(291), + [anon_sym_false] = ACTIONS(291), + [anon_sym_Inf] = ACTIONS(291), + [anon_sym_NaN] = ACTIONS(291), + [anon_sym_DQUOTE] = ACTIONS(289), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(287), - [sym_raw_string] = ACTIONS(287), + [sym_named_op_assign] = ACTIONS(289), + [sym_raw_string] = ACTIONS(289), }, [37] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(291), - [sym_identifier] = ACTIONS(293), - [anon_sym_SEMI] = ACTIONS(291), - [anon_sym_let] = ACTIONS(293), - [anon_sym_EQ] = ACTIONS(293), - [anon_sym_COMMA] = ACTIONS(291), - [anon_sym_pure] = ACTIONS(293), - [anon_sym_fn] = ACTIONS(293), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(293), + [sym_identifier] = ACTIONS(295), + [anon_sym_SEMI] = ACTIONS(293), + [anon_sym_let] = ACTIONS(295), + [anon_sym_EQ] = ACTIONS(295), + [anon_sym_COMMA] = ACTIONS(293), + [anon_sym_pure] = ACTIONS(295), + [anon_sym_fn] = ACTIONS(295), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(293), - [anon_sym_LBRACE] = ACTIONS(291), - [anon_sym_RBRACE] = ACTIONS(291), + [anon_sym_struct] = ACTIONS(295), + [anon_sym_LBRACE] = ACTIONS(293), + [anon_sym_RBRACE] = ACTIONS(293), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), - [anon_sym_PLUS_EQ] = ACTIONS(291), - [anon_sym_DASH_EQ] = ACTIONS(291), - [anon_sym_STAR_EQ] = ACTIONS(291), - [anon_sym_SLASH_EQ] = ACTIONS(291), - [anon_sym_BSLASH_EQ] = ACTIONS(291), - [anon_sym_PERCENT_EQ] = ACTIONS(291), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(291), - [anon_sym_CARET_EQ] = ACTIONS(291), - [anon_sym_AMP_EQ] = ACTIONS(291), - [anon_sym_PIPE_EQ] = ACTIONS(291), - [anon_sym_TILDE_EQ] = ACTIONS(291), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(291), - [anon_sym_LT_GT_EQ] = ACTIONS(291), - [anon_sym_LT_LT_EQ] = ACTIONS(291), - [anon_sym_GT_GT_EQ] = ACTIONS(291), - [anon_sym_BANG] = ACTIONS(293), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(293), - [anon_sym_and] = ACTIONS(293), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_PLUS_EQ] = ACTIONS(293), + [anon_sym_DASH_EQ] = ACTIONS(293), + [anon_sym_STAR_EQ] = ACTIONS(293), + [anon_sym_SLASH_EQ] = ACTIONS(293), + [anon_sym_BSLASH_EQ] = ACTIONS(293), + [anon_sym_PERCENT_EQ] = ACTIONS(293), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(293), + [anon_sym_CARET_EQ] = ACTIONS(293), + [anon_sym_AMP_EQ] = ACTIONS(293), + [anon_sym_PIPE_EQ] = ACTIONS(293), + [anon_sym_TILDE_EQ] = ACTIONS(293), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(293), + [anon_sym_LT_GT_EQ] = ACTIONS(293), + [anon_sym_LT_LT_EQ] = ACTIONS(293), + [anon_sym_GT_GT_EQ] = ACTIONS(293), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(295), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(295), + [anon_sym_and] = ACTIONS(295), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(293), - [anon_sym_DOT_DOT_EQ] = ACTIONS(291), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(291), - [anon_sym_for] = ACTIONS(293), - [anon_sym_if] = ACTIONS(293), - [anon_sym_while] = ACTIONS(293), - [anon_sym_return] = ACTIONS(293), - [sym_break_expression] = ACTIONS(293), - [sym_continue_expression] = ACTIONS(293), - [sym_integer] = ACTIONS(293), - [sym_float] = ACTIONS(293), - [sym_complex] = ACTIONS(291), - [anon_sym_true] = ACTIONS(293), - [anon_sym_false] = ACTIONS(293), - [anon_sym_Inf] = ACTIONS(293), - [anon_sym_NaN] = ACTIONS(293), - [anon_sym_DQUOTE] = ACTIONS(291), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(295), + [anon_sym_DOT_DOT_EQ] = ACTIONS(293), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(293), + [anon_sym_for] = ACTIONS(295), + [anon_sym_if] = ACTIONS(295), + [anon_sym_while] = ACTIONS(295), + [anon_sym_return] = ACTIONS(295), + [sym_break_expression] = ACTIONS(295), + [sym_continue_expression] = ACTIONS(295), + [sym_integer] = ACTIONS(295), + [sym_float] = ACTIONS(295), + [sym_complex] = ACTIONS(293), + [anon_sym_true] = ACTIONS(295), + [anon_sym_false] = ACTIONS(295), + [anon_sym_Inf] = ACTIONS(295), + [anon_sym_NaN] = ACTIONS(295), + [anon_sym_DQUOTE] = ACTIONS(293), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(291), - [sym_raw_string] = ACTIONS(291), + [sym_named_op_assign] = ACTIONS(293), + [sym_raw_string] = ACTIONS(293), }, [38] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [aux_sym_tuple_expression_repeat1] = STATE(38), + [ts_builtin_sym_end] = ACTIONS(297), + [sym_identifier] = ACTIONS(299), + [anon_sym_SEMI] = ACTIONS(297), + [anon_sym_let] = ACTIONS(299), + [anon_sym_EQ] = ACTIONS(299), + [anon_sym_COMMA] = ACTIONS(301), + [anon_sym_pure] = ACTIONS(299), + [anon_sym_fn] = ACTIONS(299), + [anon_sym_LPAREN] = ACTIONS(297), + [anon_sym_struct] = ACTIONS(299), + [anon_sym_LBRACE] = ACTIONS(297), + [anon_sym_RBRACE] = ACTIONS(297), + [anon_sym_LT] = ACTIONS(299), + [anon_sym_GT] = ACTIONS(299), + [anon_sym_PLUS_EQ] = ACTIONS(297), + [anon_sym_DASH_EQ] = ACTIONS(297), + [anon_sym_STAR_EQ] = ACTIONS(297), + [anon_sym_SLASH_EQ] = ACTIONS(297), + [anon_sym_BSLASH_EQ] = ACTIONS(297), + [anon_sym_PERCENT_EQ] = ACTIONS(297), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(297), + [anon_sym_CARET_EQ] = ACTIONS(297), + [anon_sym_AMP_EQ] = ACTIONS(297), + [anon_sym_PIPE_EQ] = ACTIONS(297), + [anon_sym_TILDE_EQ] = ACTIONS(297), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(297), + [anon_sym_LT_GT_EQ] = ACTIONS(297), + [anon_sym_LT_LT_EQ] = ACTIONS(297), + [anon_sym_GT_GT_EQ] = ACTIONS(297), + [anon_sym_as] = ACTIONS(299), + [anon_sym_BANG] = ACTIONS(299), + [anon_sym_DASH] = ACTIONS(299), + [anon_sym_TILDE] = ACTIONS(299), + [anon_sym_not] = ACTIONS(299), + [anon_sym_or] = ACTIONS(299), + [anon_sym_and] = ACTIONS(299), + [anon_sym_LT_EQ_GT] = ACTIONS(297), + [anon_sym_GT_EQ_LT] = ACTIONS(297), + [anon_sym_LT_LT] = ACTIONS(299), + [anon_sym_GT_GT] = ACTIONS(299), + [anon_sym_PIPE] = ACTIONS(299), + [anon_sym_AMP] = ACTIONS(299), + [anon_sym_PLUS] = ACTIONS(299), + [anon_sym_PLUS_PLUS] = ACTIONS(299), + [anon_sym_LT_GT] = ACTIONS(299), + [anon_sym_STAR] = ACTIONS(299), + [anon_sym_SLASH] = ACTIONS(299), + [anon_sym_BSLASH] = ACTIONS(299), + [anon_sym_PERCENT] = ACTIONS(299), + [anon_sym_PERCENT_PERCENT] = ACTIONS(299), + [anon_sym_EQ_EQ] = ACTIONS(297), + [anon_sym_BANG_EQ] = ACTIONS(297), + [anon_sym_GT_EQ] = ACTIONS(299), + [anon_sym_LT_EQ] = ACTIONS(299), + [anon_sym_in] = ACTIONS(299), + [anon_sym_CARET] = ACTIONS(299), + [anon_sym_DOT_DOT] = ACTIONS(299), + [anon_sym_DOT_DOT_EQ] = ACTIONS(297), + [anon_sym_LBRACK] = ACTIONS(297), + [anon_sym_DOT] = ACTIONS(299), + [anon_sym_PERCENT_LBRACE] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_if] = ACTIONS(299), + [anon_sym_while] = ACTIONS(299), + [anon_sym_return] = ACTIONS(299), + [sym_break_expression] = ACTIONS(299), + [sym_continue_expression] = ACTIONS(299), + [sym_integer] = ACTIONS(299), + [sym_float] = ACTIONS(299), + [sym_complex] = ACTIONS(297), + [anon_sym_true] = ACTIONS(299), + [anon_sym_false] = ACTIONS(299), + [anon_sym_Inf] = ACTIONS(299), + [anon_sym_NaN] = ACTIONS(299), + [anon_sym_DQUOTE] = ACTIONS(297), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(297), + [sym_raw_string] = ACTIONS(297), + }, + [39] = { + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), - }, - [39] = { - [aux_sym_tuple_expression_repeat1] = STATE(39), - [ts_builtin_sym_end] = ACTIONS(295), - [sym_identifier] = ACTIONS(297), - [anon_sym_SEMI] = ACTIONS(295), - [anon_sym_let] = ACTIONS(297), - [anon_sym_EQ] = ACTIONS(297), - [anon_sym_COMMA] = ACTIONS(299), - [anon_sym_pure] = ACTIONS(297), - [anon_sym_fn] = ACTIONS(297), - [anon_sym_LPAREN] = ACTIONS(295), - [anon_sym_struct] = ACTIONS(297), - [anon_sym_LBRACE] = ACTIONS(295), - [anon_sym_RBRACE] = ACTIONS(295), - [anon_sym_LT] = ACTIONS(297), - [anon_sym_GT] = ACTIONS(297), - [anon_sym_PLUS_EQ] = ACTIONS(295), - [anon_sym_DASH_EQ] = ACTIONS(295), - [anon_sym_STAR_EQ] = ACTIONS(295), - [anon_sym_SLASH_EQ] = ACTIONS(295), - [anon_sym_BSLASH_EQ] = ACTIONS(295), - [anon_sym_PERCENT_EQ] = ACTIONS(295), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(295), - [anon_sym_CARET_EQ] = ACTIONS(295), - [anon_sym_AMP_EQ] = ACTIONS(295), - [anon_sym_PIPE_EQ] = ACTIONS(295), - [anon_sym_TILDE_EQ] = ACTIONS(295), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(295), - [anon_sym_LT_GT_EQ] = ACTIONS(295), - [anon_sym_LT_LT_EQ] = ACTIONS(295), - [anon_sym_GT_GT_EQ] = ACTIONS(295), - [anon_sym_BANG] = ACTIONS(297), - [anon_sym_DASH] = ACTIONS(297), - [anon_sym_TILDE] = ACTIONS(297), - [anon_sym_not] = ACTIONS(297), - [anon_sym_or] = ACTIONS(297), - [anon_sym_and] = ACTIONS(297), - [anon_sym_LT_EQ_GT] = ACTIONS(295), - [anon_sym_GT_EQ_LT] = ACTIONS(295), - [anon_sym_LT_LT] = ACTIONS(297), - [anon_sym_GT_GT] = ACTIONS(297), - [anon_sym_PIPE] = ACTIONS(297), - [anon_sym_AMP] = ACTIONS(297), - [anon_sym_PLUS] = ACTIONS(297), - [anon_sym_PLUS_PLUS] = ACTIONS(297), - [anon_sym_LT_GT] = ACTIONS(297), - [anon_sym_STAR] = ACTIONS(297), - [anon_sym_SLASH] = ACTIONS(297), - [anon_sym_BSLASH] = ACTIONS(297), - [anon_sym_PERCENT] = ACTIONS(297), - [anon_sym_PERCENT_PERCENT] = ACTIONS(297), - [anon_sym_EQ_EQ] = ACTIONS(295), - [anon_sym_BANG_EQ] = ACTIONS(295), - [anon_sym_GT_EQ] = ACTIONS(297), - [anon_sym_LT_EQ] = ACTIONS(297), - [anon_sym_in] = ACTIONS(297), - [anon_sym_CARET] = ACTIONS(297), - [anon_sym_DOT_DOT] = ACTIONS(297), - [anon_sym_DOT_DOT_EQ] = ACTIONS(295), - [anon_sym_LBRACK] = ACTIONS(295), - [anon_sym_DOT] = ACTIONS(297), - [anon_sym_PERCENT_LBRACE] = ACTIONS(295), - [anon_sym_for] = ACTIONS(297), - [anon_sym_if] = ACTIONS(297), - [anon_sym_while] = ACTIONS(297), - [anon_sym_return] = ACTIONS(297), - [sym_break_expression] = ACTIONS(297), - [sym_continue_expression] = ACTIONS(297), - [sym_integer] = ACTIONS(297), - [sym_float] = ACTIONS(297), - [sym_complex] = ACTIONS(295), - [anon_sym_true] = ACTIONS(297), - [anon_sym_false] = ACTIONS(297), - [anon_sym_Inf] = ACTIONS(297), - [anon_sym_NaN] = ACTIONS(297), - [anon_sym_DQUOTE] = ACTIONS(295), - [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(295), - [sym_raw_string] = ACTIONS(295), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [40] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [41] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(235), - [anon_sym_GT_EQ_LT] = ACTIONS(235), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(237), + [anon_sym_GT_EQ_LT] = ACTIONS(237), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [42] = { - [ts_builtin_sym_end] = ACTIONS(302), - [sym_identifier] = ACTIONS(304), - [anon_sym_SEMI] = ACTIONS(302), - [anon_sym_let] = ACTIONS(304), - [anon_sym_EQ] = ACTIONS(304), - [anon_sym_COMMA] = ACTIONS(302), - [anon_sym_pure] = ACTIONS(304), - [anon_sym_fn] = ACTIONS(304), - [anon_sym_LPAREN] = ACTIONS(302), - [anon_sym_struct] = ACTIONS(304), - [anon_sym_LBRACE] = ACTIONS(302), - [anon_sym_RBRACE] = ACTIONS(302), - [anon_sym_LT] = ACTIONS(304), - [anon_sym_GT] = ACTIONS(304), - [anon_sym_PLUS_EQ] = ACTIONS(302), - [anon_sym_DASH_EQ] = ACTIONS(302), - [anon_sym_STAR_EQ] = ACTIONS(302), - [anon_sym_SLASH_EQ] = ACTIONS(302), - [anon_sym_BSLASH_EQ] = ACTIONS(302), - [anon_sym_PERCENT_EQ] = ACTIONS(302), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(302), - [anon_sym_CARET_EQ] = ACTIONS(302), - [anon_sym_AMP_EQ] = ACTIONS(302), - [anon_sym_PIPE_EQ] = ACTIONS(302), - [anon_sym_TILDE_EQ] = ACTIONS(302), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(302), - [anon_sym_LT_GT_EQ] = ACTIONS(302), - [anon_sym_LT_LT_EQ] = ACTIONS(302), - [anon_sym_GT_GT_EQ] = ACTIONS(302), - [anon_sym_BANG] = ACTIONS(304), - [anon_sym_DASH] = ACTIONS(304), - [anon_sym_TILDE] = ACTIONS(304), - [anon_sym_not] = ACTIONS(304), - [anon_sym_or] = ACTIONS(304), - [anon_sym_and] = ACTIONS(304), - [anon_sym_LT_EQ_GT] = ACTIONS(302), - [anon_sym_GT_EQ_LT] = ACTIONS(302), - [anon_sym_LT_LT] = ACTIONS(304), - [anon_sym_GT_GT] = ACTIONS(304), - [anon_sym_PIPE] = ACTIONS(304), - [anon_sym_AMP] = ACTIONS(304), - [anon_sym_PLUS] = ACTIONS(304), - [anon_sym_PLUS_PLUS] = ACTIONS(304), - [anon_sym_LT_GT] = ACTIONS(304), - [anon_sym_STAR] = ACTIONS(304), - [anon_sym_SLASH] = ACTIONS(304), - [anon_sym_BSLASH] = ACTIONS(304), - [anon_sym_PERCENT] = ACTIONS(304), - [anon_sym_PERCENT_PERCENT] = ACTIONS(304), - [anon_sym_EQ_EQ] = ACTIONS(302), - [anon_sym_BANG_EQ] = ACTIONS(302), - [anon_sym_GT_EQ] = ACTIONS(304), - [anon_sym_LT_EQ] = ACTIONS(304), - [anon_sym_in] = ACTIONS(304), - [anon_sym_CARET] = ACTIONS(304), - [anon_sym_DOT_DOT] = ACTIONS(304), - [anon_sym_DOT_DOT_EQ] = ACTIONS(302), - [anon_sym_LBRACK] = ACTIONS(302), - [anon_sym_DOT] = ACTIONS(304), - [anon_sym_PERCENT_LBRACE] = ACTIONS(302), - [anon_sym_for] = ACTIONS(304), - [anon_sym_if] = ACTIONS(304), - [anon_sym_else] = ACTIONS(304), - [anon_sym_while] = ACTIONS(304), - [anon_sym_return] = ACTIONS(304), - [sym_break_expression] = ACTIONS(304), - [sym_continue_expression] = ACTIONS(304), - [sym_integer] = ACTIONS(304), - [sym_float] = ACTIONS(304), - [sym_complex] = ACTIONS(302), - [anon_sym_true] = ACTIONS(304), - [anon_sym_false] = ACTIONS(304), - [anon_sym_Inf] = ACTIONS(304), - [anon_sym_NaN] = ACTIONS(304), - [anon_sym_DQUOTE] = ACTIONS(302), + [ts_builtin_sym_end] = ACTIONS(304), + [sym_identifier] = ACTIONS(306), + [anon_sym_SEMI] = ACTIONS(304), + [anon_sym_let] = ACTIONS(306), + [anon_sym_EQ] = ACTIONS(306), + [anon_sym_COMMA] = ACTIONS(304), + [anon_sym_pure] = ACTIONS(306), + [anon_sym_fn] = ACTIONS(306), + [anon_sym_LPAREN] = ACTIONS(304), + [anon_sym_struct] = ACTIONS(306), + [anon_sym_LBRACE] = ACTIONS(304), + [anon_sym_RBRACE] = ACTIONS(304), + [anon_sym_LT] = ACTIONS(306), + [anon_sym_GT] = ACTIONS(306), + [anon_sym_PLUS_EQ] = ACTIONS(304), + [anon_sym_DASH_EQ] = ACTIONS(304), + [anon_sym_STAR_EQ] = ACTIONS(304), + [anon_sym_SLASH_EQ] = ACTIONS(304), + [anon_sym_BSLASH_EQ] = ACTIONS(304), + [anon_sym_PERCENT_EQ] = ACTIONS(304), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(304), + [anon_sym_CARET_EQ] = ACTIONS(304), + [anon_sym_AMP_EQ] = ACTIONS(304), + [anon_sym_PIPE_EQ] = ACTIONS(304), + [anon_sym_TILDE_EQ] = ACTIONS(304), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(304), + [anon_sym_LT_GT_EQ] = ACTIONS(304), + [anon_sym_LT_LT_EQ] = ACTIONS(304), + [anon_sym_GT_GT_EQ] = ACTIONS(304), + [anon_sym_as] = ACTIONS(306), + [anon_sym_BANG] = ACTIONS(306), + [anon_sym_DASH] = ACTIONS(306), + [anon_sym_TILDE] = ACTIONS(306), + [anon_sym_not] = ACTIONS(306), + [anon_sym_or] = ACTIONS(306), + [anon_sym_and] = ACTIONS(306), + [anon_sym_LT_EQ_GT] = ACTIONS(304), + [anon_sym_GT_EQ_LT] = ACTIONS(304), + [anon_sym_LT_LT] = ACTIONS(306), + [anon_sym_GT_GT] = ACTIONS(306), + [anon_sym_PIPE] = ACTIONS(306), + [anon_sym_AMP] = ACTIONS(306), + [anon_sym_PLUS] = ACTIONS(306), + [anon_sym_PLUS_PLUS] = ACTIONS(306), + [anon_sym_LT_GT] = ACTIONS(306), + [anon_sym_STAR] = ACTIONS(306), + [anon_sym_SLASH] = ACTIONS(306), + [anon_sym_BSLASH] = ACTIONS(306), + [anon_sym_PERCENT] = ACTIONS(306), + [anon_sym_PERCENT_PERCENT] = ACTIONS(306), + [anon_sym_EQ_EQ] = ACTIONS(304), + [anon_sym_BANG_EQ] = ACTIONS(304), + [anon_sym_GT_EQ] = ACTIONS(306), + [anon_sym_LT_EQ] = ACTIONS(306), + [anon_sym_in] = ACTIONS(306), + [anon_sym_CARET] = ACTIONS(306), + [anon_sym_DOT_DOT] = ACTIONS(306), + [anon_sym_DOT_DOT_EQ] = ACTIONS(304), + [anon_sym_LBRACK] = ACTIONS(304), + [anon_sym_DOT] = ACTIONS(306), + [anon_sym_PERCENT_LBRACE] = ACTIONS(304), + [anon_sym_for] = ACTIONS(306), + [anon_sym_if] = ACTIONS(306), + [anon_sym_else] = ACTIONS(306), + [anon_sym_while] = ACTIONS(306), + [anon_sym_return] = ACTIONS(306), + [sym_break_expression] = ACTIONS(306), + [sym_continue_expression] = ACTIONS(306), + [sym_integer] = ACTIONS(306), + [sym_float] = ACTIONS(306), + [sym_complex] = ACTIONS(304), + [anon_sym_true] = ACTIONS(306), + [anon_sym_false] = ACTIONS(306), + [anon_sym_Inf] = ACTIONS(306), + [anon_sym_NaN] = ACTIONS(306), + [anon_sym_DQUOTE] = ACTIONS(304), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(302), - [sym_raw_string] = ACTIONS(302), + [sym_named_op_assign] = ACTIONS(304), + [sym_raw_string] = ACTIONS(304), }, [43] = { - [ts_builtin_sym_end] = ACTIONS(306), - [sym_identifier] = ACTIONS(308), - [anon_sym_SEMI] = ACTIONS(306), - [anon_sym_let] = ACTIONS(308), - [anon_sym_EQ] = ACTIONS(308), - [anon_sym_COMMA] = ACTIONS(306), - [anon_sym_pure] = ACTIONS(308), - [anon_sym_fn] = ACTIONS(308), - [anon_sym_LPAREN] = ACTIONS(306), - [anon_sym_struct] = ACTIONS(308), - [anon_sym_LBRACE] = ACTIONS(306), - [anon_sym_RBRACE] = ACTIONS(306), - [anon_sym_LT] = ACTIONS(308), - [anon_sym_GT] = ACTIONS(308), - [anon_sym_PLUS_EQ] = ACTIONS(306), - [anon_sym_DASH_EQ] = ACTIONS(306), - [anon_sym_STAR_EQ] = ACTIONS(306), - [anon_sym_SLASH_EQ] = ACTIONS(306), - [anon_sym_BSLASH_EQ] = ACTIONS(306), - [anon_sym_PERCENT_EQ] = ACTIONS(306), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(306), - [anon_sym_CARET_EQ] = ACTIONS(306), - [anon_sym_AMP_EQ] = ACTIONS(306), - [anon_sym_PIPE_EQ] = ACTIONS(306), - [anon_sym_TILDE_EQ] = ACTIONS(306), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(306), - [anon_sym_LT_GT_EQ] = ACTIONS(306), - [anon_sym_LT_LT_EQ] = ACTIONS(306), - [anon_sym_GT_GT_EQ] = ACTIONS(306), - [anon_sym_BANG] = ACTIONS(308), - [anon_sym_DASH] = ACTIONS(308), - [anon_sym_TILDE] = ACTIONS(308), - [anon_sym_not] = ACTIONS(308), - [anon_sym_or] = ACTIONS(308), - [anon_sym_and] = ACTIONS(308), - [anon_sym_LT_EQ_GT] = ACTIONS(306), - [anon_sym_GT_EQ_LT] = ACTIONS(306), - [anon_sym_LT_LT] = ACTIONS(308), - [anon_sym_GT_GT] = ACTIONS(308), - [anon_sym_PIPE] = ACTIONS(308), - [anon_sym_AMP] = ACTIONS(308), - [anon_sym_PLUS] = ACTIONS(308), - [anon_sym_PLUS_PLUS] = ACTIONS(308), - [anon_sym_LT_GT] = ACTIONS(308), - [anon_sym_STAR] = ACTIONS(308), - [anon_sym_SLASH] = ACTIONS(308), - [anon_sym_BSLASH] = ACTIONS(308), - [anon_sym_PERCENT] = ACTIONS(308), - [anon_sym_PERCENT_PERCENT] = ACTIONS(308), - [anon_sym_EQ_EQ] = ACTIONS(306), - [anon_sym_BANG_EQ] = ACTIONS(306), - [anon_sym_GT_EQ] = ACTIONS(308), - [anon_sym_LT_EQ] = ACTIONS(308), - [anon_sym_in] = ACTIONS(308), - [anon_sym_CARET] = ACTIONS(308), - [anon_sym_DOT_DOT] = ACTIONS(308), - [anon_sym_DOT_DOT_EQ] = ACTIONS(306), - [anon_sym_LBRACK] = ACTIONS(306), - [anon_sym_DOT] = ACTIONS(308), - [anon_sym_PERCENT_LBRACE] = ACTIONS(306), - [anon_sym_for] = ACTIONS(308), - [anon_sym_if] = ACTIONS(308), - [anon_sym_else] = ACTIONS(308), - [anon_sym_while] = ACTIONS(308), - [anon_sym_return] = ACTIONS(308), - [sym_break_expression] = ACTIONS(308), - [sym_continue_expression] = ACTIONS(308), - [sym_integer] = ACTIONS(308), - [sym_float] = ACTIONS(308), - [sym_complex] = ACTIONS(306), - [anon_sym_true] = ACTIONS(308), - [anon_sym_false] = ACTIONS(308), - [anon_sym_Inf] = ACTIONS(308), - [anon_sym_NaN] = ACTIONS(308), - [anon_sym_DQUOTE] = ACTIONS(306), + [ts_builtin_sym_end] = ACTIONS(308), + [sym_identifier] = ACTIONS(310), + [anon_sym_SEMI] = ACTIONS(308), + [anon_sym_let] = ACTIONS(310), + [anon_sym_EQ] = ACTIONS(310), + [anon_sym_COMMA] = ACTIONS(308), + [anon_sym_pure] = ACTIONS(310), + [anon_sym_fn] = ACTIONS(310), + [anon_sym_LPAREN] = ACTIONS(308), + [anon_sym_struct] = ACTIONS(310), + [anon_sym_LBRACE] = ACTIONS(308), + [anon_sym_RBRACE] = ACTIONS(308), + [anon_sym_LT] = ACTIONS(310), + [anon_sym_GT] = ACTIONS(310), + [anon_sym_PLUS_EQ] = ACTIONS(308), + [anon_sym_DASH_EQ] = ACTIONS(308), + [anon_sym_STAR_EQ] = ACTIONS(308), + [anon_sym_SLASH_EQ] = ACTIONS(308), + [anon_sym_BSLASH_EQ] = ACTIONS(308), + [anon_sym_PERCENT_EQ] = ACTIONS(308), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(308), + [anon_sym_CARET_EQ] = ACTIONS(308), + [anon_sym_AMP_EQ] = ACTIONS(308), + [anon_sym_PIPE_EQ] = ACTIONS(308), + [anon_sym_TILDE_EQ] = ACTIONS(308), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(308), + [anon_sym_LT_GT_EQ] = ACTIONS(308), + [anon_sym_LT_LT_EQ] = ACTIONS(308), + [anon_sym_GT_GT_EQ] = ACTIONS(308), + [anon_sym_as] = ACTIONS(310), + [anon_sym_BANG] = ACTIONS(310), + [anon_sym_DASH] = ACTIONS(310), + [anon_sym_TILDE] = ACTIONS(310), + [anon_sym_not] = ACTIONS(310), + [anon_sym_or] = ACTIONS(310), + [anon_sym_and] = ACTIONS(310), + [anon_sym_LT_EQ_GT] = ACTIONS(308), + [anon_sym_GT_EQ_LT] = ACTIONS(308), + [anon_sym_LT_LT] = ACTIONS(310), + [anon_sym_GT_GT] = ACTIONS(310), + [anon_sym_PIPE] = ACTIONS(310), + [anon_sym_AMP] = ACTIONS(310), + [anon_sym_PLUS] = ACTIONS(310), + [anon_sym_PLUS_PLUS] = ACTIONS(310), + [anon_sym_LT_GT] = ACTIONS(310), + [anon_sym_STAR] = ACTIONS(310), + [anon_sym_SLASH] = ACTIONS(310), + [anon_sym_BSLASH] = ACTIONS(310), + [anon_sym_PERCENT] = ACTIONS(310), + [anon_sym_PERCENT_PERCENT] = ACTIONS(310), + [anon_sym_EQ_EQ] = ACTIONS(308), + [anon_sym_BANG_EQ] = ACTIONS(308), + [anon_sym_GT_EQ] = ACTIONS(310), + [anon_sym_LT_EQ] = ACTIONS(310), + [anon_sym_in] = ACTIONS(310), + [anon_sym_CARET] = ACTIONS(310), + [anon_sym_DOT_DOT] = ACTIONS(310), + [anon_sym_DOT_DOT_EQ] = ACTIONS(308), + [anon_sym_LBRACK] = ACTIONS(308), + [anon_sym_DOT] = ACTIONS(310), + [anon_sym_PERCENT_LBRACE] = ACTIONS(308), + [anon_sym_for] = ACTIONS(310), + [anon_sym_if] = ACTIONS(310), + [anon_sym_else] = ACTIONS(310), + [anon_sym_while] = ACTIONS(310), + [anon_sym_return] = ACTIONS(310), + [sym_break_expression] = ACTIONS(310), + [sym_continue_expression] = ACTIONS(310), + [sym_integer] = ACTIONS(310), + [sym_float] = ACTIONS(310), + [sym_complex] = ACTIONS(308), + [anon_sym_true] = ACTIONS(310), + [anon_sym_false] = ACTIONS(310), + [anon_sym_Inf] = ACTIONS(310), + [anon_sym_NaN] = ACTIONS(310), + [anon_sym_DQUOTE] = ACTIONS(308), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(306), - [sym_raw_string] = ACTIONS(306), + [sym_named_op_assign] = ACTIONS(308), + [sym_raw_string] = ACTIONS(308), }, [44] = { - [ts_builtin_sym_end] = ACTIONS(310), - [sym_identifier] = ACTIONS(312), - [anon_sym_SEMI] = ACTIONS(310), - [anon_sym_let] = ACTIONS(312), - [anon_sym_EQ] = ACTIONS(312), - [anon_sym_COMMA] = ACTIONS(310), - [anon_sym_pure] = ACTIONS(312), - [anon_sym_fn] = ACTIONS(312), - [anon_sym_LPAREN] = ACTIONS(310), - [anon_sym_struct] = ACTIONS(312), - [anon_sym_LBRACE] = ACTIONS(310), - [anon_sym_RBRACE] = ACTIONS(310), - [anon_sym_LT] = ACTIONS(312), - [anon_sym_GT] = ACTIONS(312), - [anon_sym_PLUS_EQ] = ACTIONS(310), - [anon_sym_DASH_EQ] = ACTIONS(310), - [anon_sym_STAR_EQ] = ACTIONS(310), - [anon_sym_SLASH_EQ] = ACTIONS(310), - [anon_sym_BSLASH_EQ] = ACTIONS(310), - [anon_sym_PERCENT_EQ] = ACTIONS(310), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(310), - [anon_sym_CARET_EQ] = ACTIONS(310), - [anon_sym_AMP_EQ] = ACTIONS(310), - [anon_sym_PIPE_EQ] = ACTIONS(310), - [anon_sym_TILDE_EQ] = ACTIONS(310), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(310), - [anon_sym_LT_GT_EQ] = ACTIONS(310), - [anon_sym_LT_LT_EQ] = ACTIONS(310), - [anon_sym_GT_GT_EQ] = ACTIONS(310), - [anon_sym_BANG] = ACTIONS(312), - [anon_sym_DASH] = ACTIONS(312), - [anon_sym_TILDE] = ACTIONS(312), - [anon_sym_not] = ACTIONS(312), - [anon_sym_or] = ACTIONS(312), - [anon_sym_and] = ACTIONS(312), - [anon_sym_LT_EQ_GT] = ACTIONS(310), - [anon_sym_GT_EQ_LT] = ACTIONS(310), - [anon_sym_LT_LT] = ACTIONS(312), - [anon_sym_GT_GT] = ACTIONS(312), - [anon_sym_PIPE] = ACTIONS(312), - [anon_sym_AMP] = ACTIONS(312), - [anon_sym_PLUS] = ACTIONS(312), - [anon_sym_PLUS_PLUS] = ACTIONS(312), - [anon_sym_LT_GT] = ACTIONS(312), - [anon_sym_STAR] = ACTIONS(312), - [anon_sym_SLASH] = ACTIONS(312), - [anon_sym_BSLASH] = ACTIONS(312), - [anon_sym_PERCENT] = ACTIONS(312), - [anon_sym_PERCENT_PERCENT] = ACTIONS(312), - [anon_sym_EQ_EQ] = ACTIONS(310), - [anon_sym_BANG_EQ] = ACTIONS(310), - [anon_sym_GT_EQ] = ACTIONS(312), - [anon_sym_LT_EQ] = ACTIONS(312), - [anon_sym_in] = ACTIONS(312), - [anon_sym_CARET] = ACTIONS(312), - [anon_sym_DOT_DOT] = ACTIONS(312), - [anon_sym_DOT_DOT_EQ] = ACTIONS(310), - [anon_sym_LBRACK] = ACTIONS(310), - [anon_sym_DOT] = ACTIONS(312), - [anon_sym_PERCENT_LBRACE] = ACTIONS(310), - [anon_sym_for] = ACTIONS(312), - [anon_sym_if] = ACTIONS(312), - [anon_sym_else] = ACTIONS(314), - [anon_sym_while] = ACTIONS(312), - [anon_sym_return] = ACTIONS(312), - [sym_break_expression] = ACTIONS(312), - [sym_continue_expression] = ACTIONS(312), - [sym_integer] = ACTIONS(312), - [sym_float] = ACTIONS(312), - [sym_complex] = ACTIONS(310), - [anon_sym_true] = ACTIONS(312), - [anon_sym_false] = ACTIONS(312), - [anon_sym_Inf] = ACTIONS(312), - [anon_sym_NaN] = ACTIONS(312), - [anon_sym_DQUOTE] = ACTIONS(310), + [ts_builtin_sym_end] = ACTIONS(312), + [sym_identifier] = ACTIONS(314), + [anon_sym_SEMI] = ACTIONS(312), + [anon_sym_let] = ACTIONS(314), + [anon_sym_EQ] = ACTIONS(314), + [anon_sym_COMMA] = ACTIONS(312), + [anon_sym_pure] = ACTIONS(314), + [anon_sym_fn] = ACTIONS(314), + [anon_sym_LPAREN] = ACTIONS(312), + [anon_sym_struct] = ACTIONS(314), + [anon_sym_LBRACE] = ACTIONS(312), + [anon_sym_RBRACE] = ACTIONS(312), + [anon_sym_LT] = ACTIONS(314), + [anon_sym_GT] = ACTIONS(314), + [anon_sym_PLUS_EQ] = ACTIONS(312), + [anon_sym_DASH_EQ] = ACTIONS(312), + [anon_sym_STAR_EQ] = ACTIONS(312), + [anon_sym_SLASH_EQ] = ACTIONS(312), + [anon_sym_BSLASH_EQ] = ACTIONS(312), + [anon_sym_PERCENT_EQ] = ACTIONS(312), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(312), + [anon_sym_CARET_EQ] = ACTIONS(312), + [anon_sym_AMP_EQ] = ACTIONS(312), + [anon_sym_PIPE_EQ] = ACTIONS(312), + [anon_sym_TILDE_EQ] = ACTIONS(312), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(312), + [anon_sym_LT_GT_EQ] = ACTIONS(312), + [anon_sym_LT_LT_EQ] = ACTIONS(312), + [anon_sym_GT_GT_EQ] = ACTIONS(312), + [anon_sym_as] = ACTIONS(314), + [anon_sym_BANG] = ACTIONS(314), + [anon_sym_DASH] = ACTIONS(314), + [anon_sym_TILDE] = ACTIONS(314), + [anon_sym_not] = ACTIONS(314), + [anon_sym_or] = ACTIONS(314), + [anon_sym_and] = ACTIONS(314), + [anon_sym_LT_EQ_GT] = ACTIONS(312), + [anon_sym_GT_EQ_LT] = ACTIONS(312), + [anon_sym_LT_LT] = ACTIONS(314), + [anon_sym_GT_GT] = ACTIONS(314), + [anon_sym_PIPE] = ACTIONS(314), + [anon_sym_AMP] = ACTIONS(314), + [anon_sym_PLUS] = ACTIONS(314), + [anon_sym_PLUS_PLUS] = ACTIONS(314), + [anon_sym_LT_GT] = ACTIONS(314), + [anon_sym_STAR] = ACTIONS(314), + [anon_sym_SLASH] = ACTIONS(314), + [anon_sym_BSLASH] = ACTIONS(314), + [anon_sym_PERCENT] = ACTIONS(314), + [anon_sym_PERCENT_PERCENT] = ACTIONS(314), + [anon_sym_EQ_EQ] = ACTIONS(312), + [anon_sym_BANG_EQ] = ACTIONS(312), + [anon_sym_GT_EQ] = ACTIONS(314), + [anon_sym_LT_EQ] = ACTIONS(314), + [anon_sym_in] = ACTIONS(314), + [anon_sym_CARET] = ACTIONS(314), + [anon_sym_DOT_DOT] = ACTIONS(314), + [anon_sym_DOT_DOT_EQ] = ACTIONS(312), + [anon_sym_LBRACK] = ACTIONS(312), + [anon_sym_DOT] = ACTIONS(314), + [anon_sym_PERCENT_LBRACE] = ACTIONS(312), + [anon_sym_for] = ACTIONS(314), + [anon_sym_if] = ACTIONS(314), + [anon_sym_else] = ACTIONS(316), + [anon_sym_while] = ACTIONS(314), + [anon_sym_return] = ACTIONS(314), + [sym_break_expression] = ACTIONS(314), + [sym_continue_expression] = ACTIONS(314), + [sym_integer] = ACTIONS(314), + [sym_float] = ACTIONS(314), + [sym_complex] = ACTIONS(312), + [anon_sym_true] = ACTIONS(314), + [anon_sym_false] = ACTIONS(314), + [anon_sym_Inf] = ACTIONS(314), + [anon_sym_NaN] = ACTIONS(314), + [anon_sym_DQUOTE] = ACTIONS(312), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(310), - [sym_raw_string] = ACTIONS(310), + [sym_named_op_assign] = ACTIONS(312), + [sym_raw_string] = ACTIONS(312), }, [45] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(295), - [sym_identifier] = ACTIONS(297), - [anon_sym_SEMI] = ACTIONS(295), - [anon_sym_let] = ACTIONS(297), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(297), + [sym_identifier] = ACTIONS(299), + [anon_sym_SEMI] = ACTIONS(297), + [anon_sym_let] = ACTIONS(299), [anon_sym_EQ] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(295), - [anon_sym_pure] = ACTIONS(297), - [anon_sym_fn] = ACTIONS(297), + [anon_sym_COMMA] = ACTIONS(297), + [anon_sym_pure] = ACTIONS(299), + [anon_sym_fn] = ACTIONS(299), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(297), - [anon_sym_LBRACE] = ACTIONS(295), - [anon_sym_RBRACE] = ACTIONS(295), + [anon_sym_struct] = ACTIONS(299), + [anon_sym_LBRACE] = ACTIONS(297), + [anon_sym_RBRACE] = ACTIONS(297), [anon_sym_LT] = ACTIONS(195), [anon_sym_GT] = ACTIONS(195), [anon_sym_PLUS_EQ] = ACTIONS(197), @@ -7608,4112 +7779,5103 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_GT_EQ] = ACTIONS(197), [anon_sym_LT_LT_EQ] = ACTIONS(197), [anon_sym_GT_GT_EQ] = ACTIONS(197), - [anon_sym_BANG] = ACTIONS(297), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(203), - [anon_sym_or] = ACTIONS(205), - [anon_sym_and] = ACTIONS(207), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(219), - [anon_sym_BANG_EQ] = ACTIONS(219), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(299), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(205), + [anon_sym_or] = ACTIONS(207), + [anon_sym_and] = ACTIONS(209), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(221), + [anon_sym_BANG_EQ] = ACTIONS(221), [anon_sym_GT_EQ] = ACTIONS(195), [anon_sym_LT_EQ] = ACTIONS(195), [anon_sym_in] = ACTIONS(195), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(223), - [anon_sym_DOT_DOT_EQ] = ACTIONS(225), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(295), - [anon_sym_for] = ACTIONS(297), - [anon_sym_if] = ACTIONS(297), - [anon_sym_while] = ACTIONS(297), - [anon_sym_return] = ACTIONS(297), - [sym_break_expression] = ACTIONS(297), - [sym_continue_expression] = ACTIONS(297), - [sym_integer] = ACTIONS(297), - [sym_float] = ACTIONS(297), - [sym_complex] = ACTIONS(295), - [anon_sym_true] = ACTIONS(297), - [anon_sym_false] = ACTIONS(297), - [anon_sym_Inf] = ACTIONS(297), - [anon_sym_NaN] = ACTIONS(297), - [anon_sym_DQUOTE] = ACTIONS(295), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(225), + [anon_sym_DOT_DOT_EQ] = ACTIONS(227), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_if] = ACTIONS(299), + [anon_sym_while] = ACTIONS(299), + [anon_sym_return] = ACTIONS(299), + [sym_break_expression] = ACTIONS(299), + [sym_continue_expression] = ACTIONS(299), + [sym_integer] = ACTIONS(299), + [sym_float] = ACTIONS(299), + [sym_complex] = ACTIONS(297), + [anon_sym_true] = ACTIONS(299), + [anon_sym_false] = ACTIONS(299), + [anon_sym_Inf] = ACTIONS(299), + [anon_sym_NaN] = ACTIONS(299), + [anon_sym_DQUOTE] = ACTIONS(297), [sym_comment] = ACTIONS(3), [sym_named_op_assign] = ACTIONS(197), - [sym_raw_string] = ACTIONS(295), + [sym_raw_string] = ACTIONS(297), }, [46] = { - [sym_arguments] = STATE(54), - [ts_builtin_sym_end] = ACTIONS(235), - [sym_identifier] = ACTIONS(237), - [anon_sym_SEMI] = ACTIONS(235), - [anon_sym_let] = ACTIONS(237), - [anon_sym_EQ] = ACTIONS(237), - [anon_sym_COMMA] = ACTIONS(235), - [anon_sym_pure] = ACTIONS(237), - [anon_sym_fn] = ACTIONS(237), + [sym_arguments] = STATE(57), + [ts_builtin_sym_end] = ACTIONS(237), + [sym_identifier] = ACTIONS(239), + [anon_sym_SEMI] = ACTIONS(237), + [anon_sym_let] = ACTIONS(239), + [anon_sym_EQ] = ACTIONS(239), + [anon_sym_COMMA] = ACTIONS(237), + [anon_sym_pure] = ACTIONS(239), + [anon_sym_fn] = ACTIONS(239), [anon_sym_LPAREN] = ACTIONS(193), - [anon_sym_struct] = ACTIONS(237), - [anon_sym_LBRACE] = ACTIONS(235), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_LT] = ACTIONS(237), - [anon_sym_GT] = ACTIONS(237), - [anon_sym_PLUS_EQ] = ACTIONS(235), - [anon_sym_DASH_EQ] = ACTIONS(235), - [anon_sym_STAR_EQ] = ACTIONS(235), - [anon_sym_SLASH_EQ] = ACTIONS(235), - [anon_sym_BSLASH_EQ] = ACTIONS(235), - [anon_sym_PERCENT_EQ] = ACTIONS(235), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(235), - [anon_sym_CARET_EQ] = ACTIONS(235), - [anon_sym_AMP_EQ] = ACTIONS(235), - [anon_sym_PIPE_EQ] = ACTIONS(235), - [anon_sym_TILDE_EQ] = ACTIONS(235), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(235), - [anon_sym_LT_GT_EQ] = ACTIONS(235), - [anon_sym_LT_LT_EQ] = ACTIONS(235), - [anon_sym_GT_GT_EQ] = ACTIONS(235), - [anon_sym_BANG] = ACTIONS(237), - [anon_sym_DASH] = ACTIONS(199), - [anon_sym_TILDE] = ACTIONS(201), - [anon_sym_not] = ACTIONS(237), - [anon_sym_or] = ACTIONS(237), - [anon_sym_and] = ACTIONS(237), - [anon_sym_LT_EQ_GT] = ACTIONS(209), - [anon_sym_GT_EQ_LT] = ACTIONS(209), - [anon_sym_LT_LT] = ACTIONS(211), - [anon_sym_GT_GT] = ACTIONS(211), - [anon_sym_PIPE] = ACTIONS(213), - [anon_sym_AMP] = ACTIONS(215), - [anon_sym_PLUS] = ACTIONS(199), - [anon_sym_PLUS_PLUS] = ACTIONS(199), - [anon_sym_LT_GT] = ACTIONS(199), - [anon_sym_STAR] = ACTIONS(217), - [anon_sym_SLASH] = ACTIONS(217), - [anon_sym_BSLASH] = ACTIONS(217), - [anon_sym_PERCENT] = ACTIONS(217), - [anon_sym_PERCENT_PERCENT] = ACTIONS(217), - [anon_sym_EQ_EQ] = ACTIONS(235), - [anon_sym_BANG_EQ] = ACTIONS(235), - [anon_sym_GT_EQ] = ACTIONS(237), - [anon_sym_LT_EQ] = ACTIONS(237), - [anon_sym_in] = ACTIONS(237), - [anon_sym_CARET] = ACTIONS(221), - [anon_sym_DOT_DOT] = ACTIONS(237), - [anon_sym_DOT_DOT_EQ] = ACTIONS(235), - [anon_sym_LBRACK] = ACTIONS(227), - [anon_sym_DOT] = ACTIONS(229), - [anon_sym_PERCENT_LBRACE] = ACTIONS(235), - [anon_sym_for] = ACTIONS(237), - [anon_sym_if] = ACTIONS(237), - [anon_sym_while] = ACTIONS(237), - [anon_sym_return] = ACTIONS(237), - [sym_break_expression] = ACTIONS(237), - [sym_continue_expression] = ACTIONS(237), - [sym_integer] = ACTIONS(237), - [sym_float] = ACTIONS(237), - [sym_complex] = ACTIONS(235), - [anon_sym_true] = ACTIONS(237), - [anon_sym_false] = ACTIONS(237), - [anon_sym_Inf] = ACTIONS(237), - [anon_sym_NaN] = ACTIONS(237), - [anon_sym_DQUOTE] = ACTIONS(235), + [anon_sym_struct] = ACTIONS(239), + [anon_sym_LBRACE] = ACTIONS(237), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_LT] = ACTIONS(239), + [anon_sym_GT] = ACTIONS(239), + [anon_sym_PLUS_EQ] = ACTIONS(237), + [anon_sym_DASH_EQ] = ACTIONS(237), + [anon_sym_STAR_EQ] = ACTIONS(237), + [anon_sym_SLASH_EQ] = ACTIONS(237), + [anon_sym_BSLASH_EQ] = ACTIONS(237), + [anon_sym_PERCENT_EQ] = ACTIONS(237), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(237), + [anon_sym_CARET_EQ] = ACTIONS(237), + [anon_sym_AMP_EQ] = ACTIONS(237), + [anon_sym_PIPE_EQ] = ACTIONS(237), + [anon_sym_TILDE_EQ] = ACTIONS(237), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(237), + [anon_sym_LT_GT_EQ] = ACTIONS(237), + [anon_sym_LT_LT_EQ] = ACTIONS(237), + [anon_sym_GT_GT_EQ] = ACTIONS(237), + [anon_sym_as] = ACTIONS(199), + [anon_sym_BANG] = ACTIONS(239), + [anon_sym_DASH] = ACTIONS(201), + [anon_sym_TILDE] = ACTIONS(203), + [anon_sym_not] = ACTIONS(239), + [anon_sym_or] = ACTIONS(239), + [anon_sym_and] = ACTIONS(239), + [anon_sym_LT_EQ_GT] = ACTIONS(211), + [anon_sym_GT_EQ_LT] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(213), + [anon_sym_GT_GT] = ACTIONS(213), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_AMP] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(201), + [anon_sym_PLUS_PLUS] = ACTIONS(201), + [anon_sym_LT_GT] = ACTIONS(201), + [anon_sym_STAR] = ACTIONS(219), + [anon_sym_SLASH] = ACTIONS(219), + [anon_sym_BSLASH] = ACTIONS(219), + [anon_sym_PERCENT] = ACTIONS(219), + [anon_sym_PERCENT_PERCENT] = ACTIONS(219), + [anon_sym_EQ_EQ] = ACTIONS(237), + [anon_sym_BANG_EQ] = ACTIONS(237), + [anon_sym_GT_EQ] = ACTIONS(239), + [anon_sym_LT_EQ] = ACTIONS(239), + [anon_sym_in] = ACTIONS(239), + [anon_sym_CARET] = ACTIONS(223), + [anon_sym_DOT_DOT] = ACTIONS(239), + [anon_sym_DOT_DOT_EQ] = ACTIONS(237), + [anon_sym_LBRACK] = ACTIONS(229), + [anon_sym_DOT] = ACTIONS(231), + [anon_sym_PERCENT_LBRACE] = ACTIONS(237), + [anon_sym_for] = ACTIONS(239), + [anon_sym_if] = ACTIONS(239), + [anon_sym_while] = ACTIONS(239), + [anon_sym_return] = ACTIONS(239), + [sym_break_expression] = ACTIONS(239), + [sym_continue_expression] = ACTIONS(239), + [sym_integer] = ACTIONS(239), + [sym_float] = ACTIONS(239), + [sym_complex] = ACTIONS(237), + [anon_sym_true] = ACTIONS(239), + [anon_sym_false] = ACTIONS(239), + [anon_sym_Inf] = ACTIONS(239), + [anon_sym_NaN] = ACTIONS(239), + [anon_sym_DQUOTE] = ACTIONS(237), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(235), - [sym_raw_string] = ACTIONS(235), + [sym_named_op_assign] = ACTIONS(237), + [sym_raw_string] = ACTIONS(237), }, [47] = { - [ts_builtin_sym_end] = ACTIONS(316), - [sym_identifier] = ACTIONS(318), - [anon_sym_SEMI] = ACTIONS(316), - [anon_sym_let] = ACTIONS(318), - [anon_sym_EQ] = ACTIONS(318), - [anon_sym_COMMA] = ACTIONS(316), - [anon_sym_pure] = ACTIONS(318), - [anon_sym_fn] = ACTIONS(318), - [anon_sym_LPAREN] = ACTIONS(316), - [anon_sym_struct] = ACTIONS(318), - [anon_sym_LBRACE] = ACTIONS(316), - [anon_sym_RBRACE] = ACTIONS(316), - [anon_sym_LT] = ACTIONS(318), - [anon_sym_GT] = ACTIONS(318), - [anon_sym_PLUS_EQ] = ACTIONS(316), - [anon_sym_DASH_EQ] = ACTIONS(316), - [anon_sym_STAR_EQ] = ACTIONS(316), - [anon_sym_SLASH_EQ] = ACTIONS(316), - [anon_sym_BSLASH_EQ] = ACTIONS(316), - [anon_sym_PERCENT_EQ] = ACTIONS(316), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(316), - [anon_sym_CARET_EQ] = ACTIONS(316), - [anon_sym_AMP_EQ] = ACTIONS(316), - [anon_sym_PIPE_EQ] = ACTIONS(316), - [anon_sym_TILDE_EQ] = ACTIONS(316), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(316), - [anon_sym_LT_GT_EQ] = ACTIONS(316), - [anon_sym_LT_LT_EQ] = ACTIONS(316), - [anon_sym_GT_GT_EQ] = ACTIONS(316), - [anon_sym_BANG] = ACTIONS(318), - [anon_sym_DASH] = ACTIONS(318), - [anon_sym_TILDE] = ACTIONS(318), - [anon_sym_not] = ACTIONS(318), - [anon_sym_or] = ACTIONS(318), - [anon_sym_and] = ACTIONS(318), - [anon_sym_LT_EQ_GT] = ACTIONS(316), - [anon_sym_GT_EQ_LT] = ACTIONS(316), - [anon_sym_LT_LT] = ACTIONS(318), - [anon_sym_GT_GT] = ACTIONS(318), - [anon_sym_PIPE] = ACTIONS(318), - [anon_sym_AMP] = ACTIONS(318), - [anon_sym_PLUS] = ACTIONS(318), - [anon_sym_PLUS_PLUS] = ACTIONS(318), - [anon_sym_LT_GT] = ACTIONS(318), - [anon_sym_STAR] = ACTIONS(318), - [anon_sym_SLASH] = ACTIONS(318), - [anon_sym_BSLASH] = ACTIONS(318), - [anon_sym_PERCENT] = ACTIONS(318), - [anon_sym_PERCENT_PERCENT] = ACTIONS(318), - [anon_sym_EQ_EQ] = ACTIONS(316), - [anon_sym_BANG_EQ] = ACTIONS(316), - [anon_sym_GT_EQ] = ACTIONS(318), - [anon_sym_LT_EQ] = ACTIONS(318), - [anon_sym_in] = ACTIONS(318), - [anon_sym_CARET] = ACTIONS(318), - [anon_sym_DOT_DOT] = ACTIONS(318), - [anon_sym_DOT_DOT_EQ] = ACTIONS(316), - [anon_sym_LBRACK] = ACTIONS(316), - [anon_sym_DOT] = ACTIONS(318), - [anon_sym_PERCENT_LBRACE] = ACTIONS(316), - [anon_sym_for] = ACTIONS(318), - [anon_sym_if] = ACTIONS(318), - [anon_sym_while] = ACTIONS(318), - [anon_sym_return] = ACTIONS(318), - [sym_break_expression] = ACTIONS(318), - [sym_continue_expression] = ACTIONS(318), - [sym_integer] = ACTIONS(318), - [sym_float] = ACTIONS(318), - [sym_complex] = ACTIONS(316), - [anon_sym_true] = ACTIONS(318), - [anon_sym_false] = ACTIONS(318), - [anon_sym_Inf] = ACTIONS(318), - [anon_sym_NaN] = ACTIONS(318), - [anon_sym_DQUOTE] = ACTIONS(316), + [ts_builtin_sym_end] = ACTIONS(318), + [sym_identifier] = ACTIONS(320), + [anon_sym_SEMI] = ACTIONS(318), + [anon_sym_let] = ACTIONS(320), + [anon_sym_EQ] = ACTIONS(320), + [anon_sym_COMMA] = ACTIONS(318), + [anon_sym_pure] = ACTIONS(320), + [anon_sym_fn] = ACTIONS(320), + [anon_sym_LPAREN] = ACTIONS(318), + [anon_sym_struct] = ACTIONS(320), + [anon_sym_LBRACE] = ACTIONS(318), + [anon_sym_RBRACE] = ACTIONS(318), + [anon_sym_LT] = ACTIONS(320), + [anon_sym_GT] = ACTIONS(320), + [anon_sym_PLUS_EQ] = ACTIONS(318), + [anon_sym_DASH_EQ] = ACTIONS(318), + [anon_sym_STAR_EQ] = ACTIONS(318), + [anon_sym_SLASH_EQ] = ACTIONS(318), + [anon_sym_BSLASH_EQ] = ACTIONS(318), + [anon_sym_PERCENT_EQ] = ACTIONS(318), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(318), + [anon_sym_CARET_EQ] = ACTIONS(318), + [anon_sym_AMP_EQ] = ACTIONS(318), + [anon_sym_PIPE_EQ] = ACTIONS(318), + [anon_sym_TILDE_EQ] = ACTIONS(318), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(318), + [anon_sym_LT_GT_EQ] = ACTIONS(318), + [anon_sym_LT_LT_EQ] = ACTIONS(318), + [anon_sym_GT_GT_EQ] = ACTIONS(318), + [anon_sym_as] = ACTIONS(320), + [anon_sym_BANG] = ACTIONS(320), + [anon_sym_DASH] = ACTIONS(320), + [anon_sym_TILDE] = ACTIONS(320), + [anon_sym_not] = ACTIONS(320), + [anon_sym_or] = ACTIONS(320), + [anon_sym_and] = ACTIONS(320), + [anon_sym_LT_EQ_GT] = ACTIONS(318), + [anon_sym_GT_EQ_LT] = ACTIONS(318), + [anon_sym_LT_LT] = ACTIONS(320), + [anon_sym_GT_GT] = ACTIONS(320), + [anon_sym_PIPE] = ACTIONS(320), + [anon_sym_AMP] = ACTIONS(320), + [anon_sym_PLUS] = ACTIONS(320), + [anon_sym_PLUS_PLUS] = ACTIONS(320), + [anon_sym_LT_GT] = ACTIONS(320), + [anon_sym_STAR] = ACTIONS(320), + [anon_sym_SLASH] = ACTIONS(320), + [anon_sym_BSLASH] = ACTIONS(320), + [anon_sym_PERCENT] = ACTIONS(320), + [anon_sym_PERCENT_PERCENT] = ACTIONS(320), + [anon_sym_EQ_EQ] = ACTIONS(318), + [anon_sym_BANG_EQ] = ACTIONS(318), + [anon_sym_GT_EQ] = ACTIONS(320), + [anon_sym_LT_EQ] = ACTIONS(320), + [anon_sym_in] = ACTIONS(320), + [anon_sym_CARET] = ACTIONS(320), + [anon_sym_DOT_DOT] = ACTIONS(320), + [anon_sym_DOT_DOT_EQ] = ACTIONS(318), + [anon_sym_LBRACK] = ACTIONS(318), + [anon_sym_DOT] = ACTIONS(320), + [anon_sym_PERCENT_LBRACE] = ACTIONS(318), + [anon_sym_for] = ACTIONS(320), + [anon_sym_if] = ACTIONS(320), + [anon_sym_while] = ACTIONS(320), + [anon_sym_return] = ACTIONS(320), + [sym_break_expression] = ACTIONS(320), + [sym_continue_expression] = ACTIONS(320), + [sym_integer] = ACTIONS(320), + [sym_float] = ACTIONS(320), + [sym_complex] = ACTIONS(318), + [anon_sym_true] = ACTIONS(320), + [anon_sym_false] = ACTIONS(320), + [anon_sym_Inf] = ACTIONS(320), + [anon_sym_NaN] = ACTIONS(320), + [anon_sym_DQUOTE] = ACTIONS(318), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(316), - [sym_raw_string] = ACTIONS(316), + [sym_named_op_assign] = ACTIONS(318), + [sym_raw_string] = ACTIONS(318), }, [48] = { - [ts_builtin_sym_end] = ACTIONS(320), - [sym_identifier] = ACTIONS(322), - [anon_sym_SEMI] = ACTIONS(320), - [anon_sym_let] = ACTIONS(322), - [anon_sym_EQ] = ACTIONS(322), - [anon_sym_COMMA] = ACTIONS(320), - [anon_sym_pure] = ACTIONS(322), - [anon_sym_fn] = ACTIONS(322), - [anon_sym_LPAREN] = ACTIONS(320), - [anon_sym_struct] = ACTIONS(322), - [anon_sym_LBRACE] = ACTIONS(320), - [anon_sym_RBRACE] = ACTIONS(320), - [anon_sym_LT] = ACTIONS(322), - [anon_sym_GT] = ACTIONS(322), - [anon_sym_PLUS_EQ] = ACTIONS(320), - [anon_sym_DASH_EQ] = ACTIONS(320), - [anon_sym_STAR_EQ] = ACTIONS(320), - [anon_sym_SLASH_EQ] = ACTIONS(320), - [anon_sym_BSLASH_EQ] = ACTIONS(320), - [anon_sym_PERCENT_EQ] = ACTIONS(320), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(320), - [anon_sym_CARET_EQ] = ACTIONS(320), - [anon_sym_AMP_EQ] = ACTIONS(320), - [anon_sym_PIPE_EQ] = ACTIONS(320), - [anon_sym_TILDE_EQ] = ACTIONS(320), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(320), - [anon_sym_LT_GT_EQ] = ACTIONS(320), - [anon_sym_LT_LT_EQ] = ACTIONS(320), - [anon_sym_GT_GT_EQ] = ACTIONS(320), - [anon_sym_BANG] = ACTIONS(322), - [anon_sym_DASH] = ACTIONS(322), - [anon_sym_TILDE] = ACTIONS(322), - [anon_sym_not] = ACTIONS(322), - [anon_sym_or] = ACTIONS(322), - [anon_sym_and] = ACTIONS(322), - [anon_sym_LT_EQ_GT] = ACTIONS(320), - [anon_sym_GT_EQ_LT] = ACTIONS(320), - [anon_sym_LT_LT] = ACTIONS(322), - [anon_sym_GT_GT] = ACTIONS(322), - [anon_sym_PIPE] = ACTIONS(322), - [anon_sym_AMP] = ACTIONS(322), - [anon_sym_PLUS] = ACTIONS(322), - [anon_sym_PLUS_PLUS] = ACTIONS(322), - [anon_sym_LT_GT] = ACTIONS(322), - [anon_sym_STAR] = ACTIONS(322), - [anon_sym_SLASH] = ACTIONS(322), - [anon_sym_BSLASH] = ACTIONS(322), - [anon_sym_PERCENT] = ACTIONS(322), - [anon_sym_PERCENT_PERCENT] = ACTIONS(322), - [anon_sym_EQ_EQ] = ACTIONS(320), - [anon_sym_BANG_EQ] = ACTIONS(320), - [anon_sym_GT_EQ] = ACTIONS(322), - [anon_sym_LT_EQ] = ACTIONS(322), - [anon_sym_in] = ACTIONS(322), - [anon_sym_CARET] = ACTIONS(322), - [anon_sym_DOT_DOT] = ACTIONS(322), - [anon_sym_DOT_DOT_EQ] = ACTIONS(320), - [anon_sym_LBRACK] = ACTIONS(320), - [anon_sym_DOT] = ACTIONS(322), - [anon_sym_PERCENT_LBRACE] = ACTIONS(320), - [anon_sym_for] = ACTIONS(322), - [anon_sym_if] = ACTIONS(322), - [anon_sym_while] = ACTIONS(322), - [anon_sym_return] = ACTIONS(322), - [sym_break_expression] = ACTIONS(322), - [sym_continue_expression] = ACTIONS(322), - [sym_integer] = ACTIONS(322), - [sym_float] = ACTIONS(322), - [sym_complex] = ACTIONS(320), - [anon_sym_true] = ACTIONS(322), - [anon_sym_false] = ACTIONS(322), - [anon_sym_Inf] = ACTIONS(322), - [anon_sym_NaN] = ACTIONS(322), - [anon_sym_DQUOTE] = ACTIONS(320), + [ts_builtin_sym_end] = ACTIONS(322), + [sym_identifier] = ACTIONS(324), + [anon_sym_SEMI] = ACTIONS(322), + [anon_sym_let] = ACTIONS(324), + [anon_sym_EQ] = ACTIONS(324), + [anon_sym_COMMA] = ACTIONS(322), + [anon_sym_pure] = ACTIONS(324), + [anon_sym_fn] = ACTIONS(324), + [anon_sym_LPAREN] = ACTIONS(322), + [anon_sym_struct] = ACTIONS(324), + [anon_sym_LBRACE] = ACTIONS(322), + [anon_sym_RBRACE] = ACTIONS(322), + [anon_sym_LT] = ACTIONS(324), + [anon_sym_GT] = ACTIONS(324), + [anon_sym_PLUS_EQ] = ACTIONS(322), + [anon_sym_DASH_EQ] = ACTIONS(322), + [anon_sym_STAR_EQ] = ACTIONS(322), + [anon_sym_SLASH_EQ] = ACTIONS(322), + [anon_sym_BSLASH_EQ] = ACTIONS(322), + [anon_sym_PERCENT_EQ] = ACTIONS(322), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(322), + [anon_sym_CARET_EQ] = ACTIONS(322), + [anon_sym_AMP_EQ] = ACTIONS(322), + [anon_sym_PIPE_EQ] = ACTIONS(322), + [anon_sym_TILDE_EQ] = ACTIONS(322), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(322), + [anon_sym_LT_GT_EQ] = ACTIONS(322), + [anon_sym_LT_LT_EQ] = ACTIONS(322), + [anon_sym_GT_GT_EQ] = ACTIONS(322), + [anon_sym_as] = ACTIONS(324), + [anon_sym_BANG] = ACTIONS(324), + [anon_sym_DASH] = ACTIONS(324), + [anon_sym_TILDE] = ACTIONS(324), + [anon_sym_not] = ACTIONS(324), + [anon_sym_or] = ACTIONS(324), + [anon_sym_and] = ACTIONS(324), + [anon_sym_LT_EQ_GT] = ACTIONS(322), + [anon_sym_GT_EQ_LT] = ACTIONS(322), + [anon_sym_LT_LT] = ACTIONS(324), + [anon_sym_GT_GT] = ACTIONS(324), + [anon_sym_PIPE] = ACTIONS(324), + [anon_sym_AMP] = ACTIONS(324), + [anon_sym_PLUS] = ACTIONS(324), + [anon_sym_PLUS_PLUS] = ACTIONS(324), + [anon_sym_LT_GT] = ACTIONS(324), + [anon_sym_STAR] = ACTIONS(324), + [anon_sym_SLASH] = ACTIONS(324), + [anon_sym_BSLASH] = ACTIONS(324), + [anon_sym_PERCENT] = ACTIONS(324), + [anon_sym_PERCENT_PERCENT] = ACTIONS(324), + [anon_sym_EQ_EQ] = ACTIONS(322), + [anon_sym_BANG_EQ] = ACTIONS(322), + [anon_sym_GT_EQ] = ACTIONS(324), + [anon_sym_LT_EQ] = ACTIONS(324), + [anon_sym_in] = ACTIONS(324), + [anon_sym_CARET] = ACTIONS(324), + [anon_sym_DOT_DOT] = ACTIONS(324), + [anon_sym_DOT_DOT_EQ] = ACTIONS(322), + [anon_sym_LBRACK] = ACTIONS(322), + [anon_sym_DOT] = ACTIONS(324), + [anon_sym_PERCENT_LBRACE] = ACTIONS(322), + [anon_sym_for] = ACTIONS(324), + [anon_sym_if] = ACTIONS(324), + [anon_sym_while] = ACTIONS(324), + [anon_sym_return] = ACTIONS(324), + [sym_break_expression] = ACTIONS(324), + [sym_continue_expression] = ACTIONS(324), + [sym_integer] = ACTIONS(324), + [sym_float] = ACTIONS(324), + [sym_complex] = ACTIONS(322), + [anon_sym_true] = ACTIONS(324), + [anon_sym_false] = ACTIONS(324), + [anon_sym_Inf] = ACTIONS(324), + [anon_sym_NaN] = ACTIONS(324), + [anon_sym_DQUOTE] = ACTIONS(322), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(320), - [sym_raw_string] = ACTIONS(320), + [sym_named_op_assign] = ACTIONS(322), + [sym_raw_string] = ACTIONS(322), }, [49] = { - [ts_builtin_sym_end] = ACTIONS(324), - [sym_identifier] = ACTIONS(326), - [anon_sym_SEMI] = ACTIONS(324), - [anon_sym_let] = ACTIONS(326), - [anon_sym_EQ] = ACTIONS(326), - [anon_sym_COMMA] = ACTIONS(324), - [anon_sym_pure] = ACTIONS(326), - [anon_sym_fn] = ACTIONS(326), - [anon_sym_LPAREN] = ACTIONS(324), - [anon_sym_struct] = ACTIONS(326), - [anon_sym_LBRACE] = ACTIONS(324), - [anon_sym_RBRACE] = ACTIONS(324), - [anon_sym_LT] = ACTIONS(326), - [anon_sym_GT] = ACTIONS(326), - [anon_sym_PLUS_EQ] = ACTIONS(324), - [anon_sym_DASH_EQ] = ACTIONS(324), - [anon_sym_STAR_EQ] = ACTIONS(324), - [anon_sym_SLASH_EQ] = ACTIONS(324), - [anon_sym_BSLASH_EQ] = ACTIONS(324), - [anon_sym_PERCENT_EQ] = ACTIONS(324), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(324), - [anon_sym_CARET_EQ] = ACTIONS(324), - [anon_sym_AMP_EQ] = ACTIONS(324), - [anon_sym_PIPE_EQ] = ACTIONS(324), - [anon_sym_TILDE_EQ] = ACTIONS(324), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(324), - [anon_sym_LT_GT_EQ] = ACTIONS(324), - [anon_sym_LT_LT_EQ] = ACTIONS(324), - [anon_sym_GT_GT_EQ] = ACTIONS(324), - [anon_sym_BANG] = ACTIONS(326), - [anon_sym_DASH] = ACTIONS(326), - [anon_sym_TILDE] = ACTIONS(326), - [anon_sym_not] = ACTIONS(326), - [anon_sym_or] = ACTIONS(326), - [anon_sym_and] = ACTIONS(326), - [anon_sym_LT_EQ_GT] = ACTIONS(324), - [anon_sym_GT_EQ_LT] = ACTIONS(324), - [anon_sym_LT_LT] = ACTIONS(326), - [anon_sym_GT_GT] = ACTIONS(326), - [anon_sym_PIPE] = ACTIONS(326), - [anon_sym_AMP] = ACTIONS(326), - [anon_sym_PLUS] = ACTIONS(326), - [anon_sym_PLUS_PLUS] = ACTIONS(326), - [anon_sym_LT_GT] = ACTIONS(326), - [anon_sym_STAR] = ACTIONS(326), - [anon_sym_SLASH] = ACTIONS(326), - [anon_sym_BSLASH] = ACTIONS(326), - [anon_sym_PERCENT] = ACTIONS(326), - [anon_sym_PERCENT_PERCENT] = ACTIONS(326), - [anon_sym_EQ_EQ] = ACTIONS(324), - [anon_sym_BANG_EQ] = ACTIONS(324), - [anon_sym_GT_EQ] = ACTIONS(326), - [anon_sym_LT_EQ] = ACTIONS(326), - [anon_sym_in] = ACTIONS(326), - [anon_sym_CARET] = ACTIONS(326), - [anon_sym_DOT_DOT] = ACTIONS(326), - [anon_sym_DOT_DOT_EQ] = ACTIONS(324), - [anon_sym_LBRACK] = ACTIONS(324), - [anon_sym_DOT] = ACTIONS(326), - [anon_sym_PERCENT_LBRACE] = ACTIONS(324), - [anon_sym_for] = ACTIONS(326), - [anon_sym_if] = ACTIONS(326), - [anon_sym_while] = ACTIONS(326), - [anon_sym_return] = ACTIONS(326), - [sym_break_expression] = ACTIONS(326), - [sym_continue_expression] = ACTIONS(326), - [sym_integer] = ACTIONS(326), - [sym_float] = ACTIONS(326), - [sym_complex] = ACTIONS(324), - [anon_sym_true] = ACTIONS(326), - [anon_sym_false] = ACTIONS(326), - [anon_sym_Inf] = ACTIONS(326), - [anon_sym_NaN] = ACTIONS(326), - [anon_sym_DQUOTE] = ACTIONS(324), + [ts_builtin_sym_end] = ACTIONS(326), + [sym_identifier] = ACTIONS(328), + [anon_sym_SEMI] = ACTIONS(326), + [anon_sym_let] = ACTIONS(328), + [anon_sym_EQ] = ACTIONS(328), + [anon_sym_COMMA] = ACTIONS(326), + [anon_sym_pure] = ACTIONS(328), + [anon_sym_fn] = ACTIONS(328), + [anon_sym_LPAREN] = ACTIONS(326), + [anon_sym_struct] = ACTIONS(328), + [anon_sym_LBRACE] = ACTIONS(326), + [anon_sym_RBRACE] = ACTIONS(326), + [anon_sym_LT] = ACTIONS(330), + [anon_sym_GT] = ACTIONS(328), + [anon_sym_PLUS_EQ] = ACTIONS(326), + [anon_sym_DASH_EQ] = ACTIONS(326), + [anon_sym_STAR_EQ] = ACTIONS(326), + [anon_sym_SLASH_EQ] = ACTIONS(326), + [anon_sym_BSLASH_EQ] = ACTIONS(326), + [anon_sym_PERCENT_EQ] = ACTIONS(326), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(326), + [anon_sym_CARET_EQ] = ACTIONS(326), + [anon_sym_AMP_EQ] = ACTIONS(326), + [anon_sym_PIPE_EQ] = ACTIONS(326), + [anon_sym_TILDE_EQ] = ACTIONS(326), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(326), + [anon_sym_LT_GT_EQ] = ACTIONS(326), + [anon_sym_LT_LT_EQ] = ACTIONS(326), + [anon_sym_GT_GT_EQ] = ACTIONS(326), + [anon_sym_as] = ACTIONS(328), + [anon_sym_BANG] = ACTIONS(328), + [anon_sym_DASH] = ACTIONS(328), + [anon_sym_TILDE] = ACTIONS(328), + [anon_sym_not] = ACTIONS(328), + [anon_sym_or] = ACTIONS(328), + [anon_sym_and] = ACTIONS(328), + [anon_sym_LT_EQ_GT] = ACTIONS(326), + [anon_sym_GT_EQ_LT] = ACTIONS(326), + [anon_sym_LT_LT] = ACTIONS(328), + [anon_sym_GT_GT] = ACTIONS(328), + [anon_sym_PIPE] = ACTIONS(328), + [anon_sym_AMP] = ACTIONS(328), + [anon_sym_PLUS] = ACTIONS(328), + [anon_sym_PLUS_PLUS] = ACTIONS(328), + [anon_sym_LT_GT] = ACTIONS(328), + [anon_sym_STAR] = ACTIONS(328), + [anon_sym_SLASH] = ACTIONS(328), + [anon_sym_BSLASH] = ACTIONS(328), + [anon_sym_PERCENT] = ACTIONS(328), + [anon_sym_PERCENT_PERCENT] = ACTIONS(328), + [anon_sym_EQ_EQ] = ACTIONS(326), + [anon_sym_BANG_EQ] = ACTIONS(326), + [anon_sym_GT_EQ] = ACTIONS(328), + [anon_sym_LT_EQ] = ACTIONS(328), + [anon_sym_in] = ACTIONS(328), + [anon_sym_CARET] = ACTIONS(328), + [anon_sym_DOT_DOT] = ACTIONS(328), + [anon_sym_DOT_DOT_EQ] = ACTIONS(326), + [anon_sym_LBRACK] = ACTIONS(326), + [anon_sym_DOT] = ACTIONS(328), + [anon_sym_PERCENT_LBRACE] = ACTIONS(326), + [anon_sym_for] = ACTIONS(328), + [anon_sym_if] = ACTIONS(328), + [anon_sym_while] = ACTIONS(328), + [anon_sym_return] = ACTIONS(328), + [sym_break_expression] = ACTIONS(328), + [sym_continue_expression] = ACTIONS(328), + [sym_integer] = ACTIONS(328), + [sym_float] = ACTIONS(328), + [sym_complex] = ACTIONS(326), + [anon_sym_true] = ACTIONS(328), + [anon_sym_false] = ACTIONS(328), + [anon_sym_Inf] = ACTIONS(328), + [anon_sym_NaN] = ACTIONS(328), + [anon_sym_DQUOTE] = ACTIONS(326), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(324), - [sym_raw_string] = ACTIONS(324), + [sym_named_op_assign] = ACTIONS(326), + [sym_raw_string] = ACTIONS(326), }, [50] = { - [ts_builtin_sym_end] = ACTIONS(328), - [sym_identifier] = ACTIONS(330), - [anon_sym_SEMI] = ACTIONS(328), - [anon_sym_let] = ACTIONS(330), - [anon_sym_EQ] = ACTIONS(330), - [anon_sym_COMMA] = ACTIONS(328), - [anon_sym_pure] = ACTIONS(330), - [anon_sym_fn] = ACTIONS(330), - [anon_sym_LPAREN] = ACTIONS(328), - [anon_sym_struct] = ACTIONS(330), - [anon_sym_LBRACE] = ACTIONS(328), - [anon_sym_RBRACE] = ACTIONS(328), - [anon_sym_LT] = ACTIONS(330), - [anon_sym_GT] = ACTIONS(330), - [anon_sym_PLUS_EQ] = ACTIONS(328), - [anon_sym_DASH_EQ] = ACTIONS(328), - [anon_sym_STAR_EQ] = ACTIONS(328), - [anon_sym_SLASH_EQ] = ACTIONS(328), - [anon_sym_BSLASH_EQ] = ACTIONS(328), - [anon_sym_PERCENT_EQ] = ACTIONS(328), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(328), - [anon_sym_CARET_EQ] = ACTIONS(328), - [anon_sym_AMP_EQ] = ACTIONS(328), - [anon_sym_PIPE_EQ] = ACTIONS(328), - [anon_sym_TILDE_EQ] = ACTIONS(328), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(328), - [anon_sym_LT_GT_EQ] = ACTIONS(328), - [anon_sym_LT_LT_EQ] = ACTIONS(328), - [anon_sym_GT_GT_EQ] = ACTIONS(328), - [anon_sym_BANG] = ACTIONS(330), - [anon_sym_DASH] = ACTIONS(330), - [anon_sym_TILDE] = ACTIONS(330), - [anon_sym_not] = ACTIONS(330), - [anon_sym_or] = ACTIONS(330), - [anon_sym_and] = ACTIONS(330), - [anon_sym_LT_EQ_GT] = ACTIONS(328), - [anon_sym_GT_EQ_LT] = ACTIONS(328), - [anon_sym_LT_LT] = ACTIONS(330), - [anon_sym_GT_GT] = ACTIONS(330), - [anon_sym_PIPE] = ACTIONS(330), - [anon_sym_AMP] = ACTIONS(330), - [anon_sym_PLUS] = ACTIONS(330), - [anon_sym_PLUS_PLUS] = ACTIONS(330), - [anon_sym_LT_GT] = ACTIONS(330), - [anon_sym_STAR] = ACTIONS(330), - [anon_sym_SLASH] = ACTIONS(330), - [anon_sym_BSLASH] = ACTIONS(330), - [anon_sym_PERCENT] = ACTIONS(330), - [anon_sym_PERCENT_PERCENT] = ACTIONS(330), - [anon_sym_EQ_EQ] = ACTIONS(328), - [anon_sym_BANG_EQ] = ACTIONS(328), - [anon_sym_GT_EQ] = ACTIONS(330), - [anon_sym_LT_EQ] = ACTIONS(330), - [anon_sym_in] = ACTIONS(330), - [anon_sym_CARET] = ACTIONS(330), - [anon_sym_DOT_DOT] = ACTIONS(330), - [anon_sym_DOT_DOT_EQ] = ACTIONS(328), - [anon_sym_LBRACK] = ACTIONS(328), - [anon_sym_DOT] = ACTIONS(330), - [anon_sym_PERCENT_LBRACE] = ACTIONS(328), - [anon_sym_for] = ACTIONS(330), - [anon_sym_if] = ACTIONS(330), - [anon_sym_while] = ACTIONS(330), - [anon_sym_return] = ACTIONS(330), - [sym_break_expression] = ACTIONS(330), - [sym_continue_expression] = ACTIONS(330), - [sym_integer] = ACTIONS(330), - [sym_float] = ACTIONS(330), - [sym_complex] = ACTIONS(328), - [anon_sym_true] = ACTIONS(330), - [anon_sym_false] = ACTIONS(330), - [anon_sym_Inf] = ACTIONS(330), - [anon_sym_NaN] = ACTIONS(330), - [anon_sym_DQUOTE] = ACTIONS(328), + [ts_builtin_sym_end] = ACTIONS(333), + [sym_identifier] = ACTIONS(335), + [anon_sym_SEMI] = ACTIONS(333), + [anon_sym_let] = ACTIONS(335), + [anon_sym_EQ] = ACTIONS(335), + [anon_sym_COMMA] = ACTIONS(333), + [anon_sym_pure] = ACTIONS(335), + [anon_sym_fn] = ACTIONS(335), + [anon_sym_LPAREN] = ACTIONS(333), + [anon_sym_struct] = ACTIONS(335), + [anon_sym_LBRACE] = ACTIONS(333), + [anon_sym_RBRACE] = ACTIONS(333), + [anon_sym_LT] = ACTIONS(335), + [anon_sym_GT] = ACTIONS(335), + [anon_sym_PLUS_EQ] = ACTIONS(333), + [anon_sym_DASH_EQ] = ACTIONS(333), + [anon_sym_STAR_EQ] = ACTIONS(333), + [anon_sym_SLASH_EQ] = ACTIONS(333), + [anon_sym_BSLASH_EQ] = ACTIONS(333), + [anon_sym_PERCENT_EQ] = ACTIONS(333), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(333), + [anon_sym_CARET_EQ] = ACTIONS(333), + [anon_sym_AMP_EQ] = ACTIONS(333), + [anon_sym_PIPE_EQ] = ACTIONS(333), + [anon_sym_TILDE_EQ] = ACTIONS(333), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(333), + [anon_sym_LT_GT_EQ] = ACTIONS(333), + [anon_sym_LT_LT_EQ] = ACTIONS(333), + [anon_sym_GT_GT_EQ] = ACTIONS(333), + [anon_sym_as] = ACTIONS(335), + [anon_sym_BANG] = ACTIONS(335), + [anon_sym_DASH] = ACTIONS(335), + [anon_sym_TILDE] = ACTIONS(335), + [anon_sym_not] = ACTIONS(335), + [anon_sym_or] = ACTIONS(335), + [anon_sym_and] = ACTIONS(335), + [anon_sym_LT_EQ_GT] = ACTIONS(333), + [anon_sym_GT_EQ_LT] = ACTIONS(333), + [anon_sym_LT_LT] = ACTIONS(335), + [anon_sym_GT_GT] = ACTIONS(335), + [anon_sym_PIPE] = ACTIONS(335), + [anon_sym_AMP] = ACTIONS(335), + [anon_sym_PLUS] = ACTIONS(335), + [anon_sym_PLUS_PLUS] = ACTIONS(335), + [anon_sym_LT_GT] = ACTIONS(335), + [anon_sym_STAR] = ACTIONS(335), + [anon_sym_SLASH] = ACTIONS(335), + [anon_sym_BSLASH] = ACTIONS(335), + [anon_sym_PERCENT] = ACTIONS(335), + [anon_sym_PERCENT_PERCENT] = ACTIONS(335), + [anon_sym_EQ_EQ] = ACTIONS(333), + [anon_sym_BANG_EQ] = ACTIONS(333), + [anon_sym_GT_EQ] = ACTIONS(335), + [anon_sym_LT_EQ] = ACTIONS(335), + [anon_sym_in] = ACTIONS(335), + [anon_sym_CARET] = ACTIONS(335), + [anon_sym_DOT_DOT] = ACTIONS(335), + [anon_sym_DOT_DOT_EQ] = ACTIONS(333), + [anon_sym_LBRACK] = ACTIONS(333), + [anon_sym_DOT] = ACTIONS(335), + [anon_sym_PERCENT_LBRACE] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_if] = ACTIONS(335), + [anon_sym_while] = ACTIONS(335), + [anon_sym_return] = ACTIONS(335), + [sym_break_expression] = ACTIONS(335), + [sym_continue_expression] = ACTIONS(335), + [sym_integer] = ACTIONS(335), + [sym_float] = ACTIONS(335), + [sym_complex] = ACTIONS(333), + [anon_sym_true] = ACTIONS(335), + [anon_sym_false] = ACTIONS(335), + [anon_sym_Inf] = ACTIONS(335), + [anon_sym_NaN] = ACTIONS(335), + [anon_sym_DQUOTE] = ACTIONS(333), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(328), - [sym_raw_string] = ACTIONS(328), + [sym_named_op_assign] = ACTIONS(333), + [sym_raw_string] = ACTIONS(333), }, [51] = { - [ts_builtin_sym_end] = ACTIONS(332), - [sym_identifier] = ACTIONS(334), - [anon_sym_SEMI] = ACTIONS(332), - [anon_sym_let] = ACTIONS(334), - [anon_sym_EQ] = ACTIONS(334), - [anon_sym_COMMA] = ACTIONS(332), - [anon_sym_pure] = ACTIONS(334), - [anon_sym_fn] = ACTIONS(334), - [anon_sym_LPAREN] = ACTIONS(332), - [anon_sym_struct] = ACTIONS(334), - [anon_sym_LBRACE] = ACTIONS(332), - [anon_sym_RBRACE] = ACTIONS(332), - [anon_sym_LT] = ACTIONS(334), - [anon_sym_GT] = ACTIONS(334), - [anon_sym_PLUS_EQ] = ACTIONS(332), - [anon_sym_DASH_EQ] = ACTIONS(332), - [anon_sym_STAR_EQ] = ACTIONS(332), - [anon_sym_SLASH_EQ] = ACTIONS(332), - [anon_sym_BSLASH_EQ] = ACTIONS(332), - [anon_sym_PERCENT_EQ] = ACTIONS(332), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(332), - [anon_sym_CARET_EQ] = ACTIONS(332), - [anon_sym_AMP_EQ] = ACTIONS(332), - [anon_sym_PIPE_EQ] = ACTIONS(332), - [anon_sym_TILDE_EQ] = ACTIONS(332), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(332), - [anon_sym_LT_GT_EQ] = ACTIONS(332), - [anon_sym_LT_LT_EQ] = ACTIONS(332), - [anon_sym_GT_GT_EQ] = ACTIONS(332), - [anon_sym_BANG] = ACTIONS(334), - [anon_sym_DASH] = ACTIONS(334), - [anon_sym_TILDE] = ACTIONS(334), - [anon_sym_not] = ACTIONS(334), - [anon_sym_or] = ACTIONS(334), - [anon_sym_and] = ACTIONS(334), - [anon_sym_LT_EQ_GT] = ACTIONS(332), - [anon_sym_GT_EQ_LT] = ACTIONS(332), - [anon_sym_LT_LT] = ACTIONS(334), - [anon_sym_GT_GT] = ACTIONS(334), - [anon_sym_PIPE] = ACTIONS(334), - [anon_sym_AMP] = ACTIONS(334), - [anon_sym_PLUS] = ACTIONS(334), - [anon_sym_PLUS_PLUS] = ACTIONS(334), - [anon_sym_LT_GT] = ACTIONS(334), - [anon_sym_STAR] = ACTIONS(334), - [anon_sym_SLASH] = ACTIONS(334), - [anon_sym_BSLASH] = ACTIONS(334), - [anon_sym_PERCENT] = ACTIONS(334), - [anon_sym_PERCENT_PERCENT] = ACTIONS(334), - [anon_sym_EQ_EQ] = ACTIONS(332), - [anon_sym_BANG_EQ] = ACTIONS(332), - [anon_sym_GT_EQ] = ACTIONS(334), - [anon_sym_LT_EQ] = ACTIONS(334), - [anon_sym_in] = ACTIONS(334), - [anon_sym_CARET] = ACTIONS(334), - [anon_sym_DOT_DOT] = ACTIONS(334), - [anon_sym_DOT_DOT_EQ] = ACTIONS(332), - [anon_sym_LBRACK] = ACTIONS(332), - [anon_sym_DOT] = ACTIONS(334), - [anon_sym_PERCENT_LBRACE] = ACTIONS(332), - [anon_sym_for] = ACTIONS(334), - [anon_sym_if] = ACTIONS(334), - [anon_sym_while] = ACTIONS(334), - [anon_sym_return] = ACTIONS(334), - [sym_break_expression] = ACTIONS(334), - [sym_continue_expression] = ACTIONS(334), - [sym_integer] = ACTIONS(334), - [sym_float] = ACTIONS(334), - [sym_complex] = ACTIONS(332), - [anon_sym_true] = ACTIONS(334), - [anon_sym_false] = ACTIONS(334), - [anon_sym_Inf] = ACTIONS(334), - [anon_sym_NaN] = ACTIONS(334), - [anon_sym_DQUOTE] = ACTIONS(332), + [ts_builtin_sym_end] = ACTIONS(337), + [sym_identifier] = ACTIONS(339), + [anon_sym_SEMI] = ACTIONS(337), + [anon_sym_let] = ACTIONS(339), + [anon_sym_EQ] = ACTIONS(339), + [anon_sym_COMMA] = ACTIONS(337), + [anon_sym_pure] = ACTIONS(339), + [anon_sym_fn] = ACTIONS(339), + [anon_sym_LPAREN] = ACTIONS(337), + [anon_sym_struct] = ACTIONS(339), + [anon_sym_LBRACE] = ACTIONS(337), + [anon_sym_RBRACE] = ACTIONS(337), + [anon_sym_LT] = ACTIONS(339), + [anon_sym_GT] = ACTIONS(339), + [anon_sym_PLUS_EQ] = ACTIONS(337), + [anon_sym_DASH_EQ] = ACTIONS(337), + [anon_sym_STAR_EQ] = ACTIONS(337), + [anon_sym_SLASH_EQ] = ACTIONS(337), + [anon_sym_BSLASH_EQ] = ACTIONS(337), + [anon_sym_PERCENT_EQ] = ACTIONS(337), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(337), + [anon_sym_CARET_EQ] = ACTIONS(337), + [anon_sym_AMP_EQ] = ACTIONS(337), + [anon_sym_PIPE_EQ] = ACTIONS(337), + [anon_sym_TILDE_EQ] = ACTIONS(337), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(337), + [anon_sym_LT_GT_EQ] = ACTIONS(337), + [anon_sym_LT_LT_EQ] = ACTIONS(337), + [anon_sym_GT_GT_EQ] = ACTIONS(337), + [anon_sym_as] = ACTIONS(339), + [anon_sym_BANG] = ACTIONS(339), + [anon_sym_DASH] = ACTIONS(339), + [anon_sym_TILDE] = ACTIONS(339), + [anon_sym_not] = ACTIONS(339), + [anon_sym_or] = ACTIONS(339), + [anon_sym_and] = ACTIONS(339), + [anon_sym_LT_EQ_GT] = ACTIONS(337), + [anon_sym_GT_EQ_LT] = ACTIONS(337), + [anon_sym_LT_LT] = ACTIONS(339), + [anon_sym_GT_GT] = ACTIONS(339), + [anon_sym_PIPE] = ACTIONS(339), + [anon_sym_AMP] = ACTIONS(339), + [anon_sym_PLUS] = ACTIONS(339), + [anon_sym_PLUS_PLUS] = ACTIONS(339), + [anon_sym_LT_GT] = ACTIONS(339), + [anon_sym_STAR] = ACTIONS(339), + [anon_sym_SLASH] = ACTIONS(339), + [anon_sym_BSLASH] = ACTIONS(339), + [anon_sym_PERCENT] = ACTIONS(339), + [anon_sym_PERCENT_PERCENT] = ACTIONS(339), + [anon_sym_EQ_EQ] = ACTIONS(337), + [anon_sym_BANG_EQ] = ACTIONS(337), + [anon_sym_GT_EQ] = ACTIONS(339), + [anon_sym_LT_EQ] = ACTIONS(339), + [anon_sym_in] = ACTIONS(339), + [anon_sym_CARET] = ACTIONS(339), + [anon_sym_DOT_DOT] = ACTIONS(339), + [anon_sym_DOT_DOT_EQ] = ACTIONS(337), + [anon_sym_LBRACK] = ACTIONS(337), + [anon_sym_DOT] = ACTIONS(339), + [anon_sym_PERCENT_LBRACE] = ACTIONS(337), + [anon_sym_for] = ACTIONS(339), + [anon_sym_if] = ACTIONS(339), + [anon_sym_while] = ACTIONS(339), + [anon_sym_return] = ACTIONS(339), + [sym_break_expression] = ACTIONS(339), + [sym_continue_expression] = ACTIONS(339), + [sym_integer] = ACTIONS(339), + [sym_float] = ACTIONS(339), + [sym_complex] = ACTIONS(337), + [anon_sym_true] = ACTIONS(339), + [anon_sym_false] = ACTIONS(339), + [anon_sym_Inf] = ACTIONS(339), + [anon_sym_NaN] = ACTIONS(339), + [anon_sym_DQUOTE] = ACTIONS(337), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(332), - [sym_raw_string] = ACTIONS(332), + [sym_named_op_assign] = ACTIONS(337), + [sym_raw_string] = ACTIONS(337), }, [52] = { - [ts_builtin_sym_end] = ACTIONS(336), - [sym_identifier] = ACTIONS(338), - [anon_sym_SEMI] = ACTIONS(336), - [anon_sym_let] = ACTIONS(338), - [anon_sym_EQ] = ACTIONS(338), - [anon_sym_COMMA] = ACTIONS(336), - [anon_sym_pure] = ACTIONS(338), - [anon_sym_fn] = ACTIONS(338), - [anon_sym_LPAREN] = ACTIONS(336), - [anon_sym_struct] = ACTIONS(338), - [anon_sym_LBRACE] = ACTIONS(336), - [anon_sym_RBRACE] = ACTIONS(336), - [anon_sym_LT] = ACTIONS(338), - [anon_sym_GT] = ACTIONS(338), - [anon_sym_PLUS_EQ] = ACTIONS(336), - [anon_sym_DASH_EQ] = ACTIONS(336), - [anon_sym_STAR_EQ] = ACTIONS(336), - [anon_sym_SLASH_EQ] = ACTIONS(336), - [anon_sym_BSLASH_EQ] = ACTIONS(336), - [anon_sym_PERCENT_EQ] = ACTIONS(336), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(336), - [anon_sym_CARET_EQ] = ACTIONS(336), - [anon_sym_AMP_EQ] = ACTIONS(336), - [anon_sym_PIPE_EQ] = ACTIONS(336), - [anon_sym_TILDE_EQ] = ACTIONS(336), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(336), - [anon_sym_LT_GT_EQ] = ACTIONS(336), - [anon_sym_LT_LT_EQ] = ACTIONS(336), - [anon_sym_GT_GT_EQ] = ACTIONS(336), - [anon_sym_BANG] = ACTIONS(338), - [anon_sym_DASH] = ACTIONS(338), - [anon_sym_TILDE] = ACTIONS(338), - [anon_sym_not] = ACTIONS(338), - [anon_sym_or] = ACTIONS(338), - [anon_sym_and] = ACTIONS(338), - [anon_sym_LT_EQ_GT] = ACTIONS(336), - [anon_sym_GT_EQ_LT] = ACTIONS(336), - [anon_sym_LT_LT] = ACTIONS(338), - [anon_sym_GT_GT] = ACTIONS(338), - [anon_sym_PIPE] = ACTIONS(338), - [anon_sym_AMP] = ACTIONS(338), - [anon_sym_PLUS] = ACTIONS(338), - [anon_sym_PLUS_PLUS] = ACTIONS(338), - [anon_sym_LT_GT] = ACTIONS(338), - [anon_sym_STAR] = ACTIONS(338), - [anon_sym_SLASH] = ACTIONS(338), - [anon_sym_BSLASH] = ACTIONS(338), - [anon_sym_PERCENT] = ACTIONS(338), - [anon_sym_PERCENT_PERCENT] = ACTIONS(338), - [anon_sym_EQ_EQ] = ACTIONS(336), - [anon_sym_BANG_EQ] = ACTIONS(336), - [anon_sym_GT_EQ] = ACTIONS(338), - [anon_sym_LT_EQ] = ACTIONS(338), - [anon_sym_in] = ACTIONS(338), - [anon_sym_CARET] = ACTIONS(338), - [anon_sym_DOT_DOT] = ACTIONS(338), - [anon_sym_DOT_DOT_EQ] = ACTIONS(336), - [anon_sym_LBRACK] = ACTIONS(336), - [anon_sym_DOT] = ACTIONS(338), - [anon_sym_PERCENT_LBRACE] = ACTIONS(336), - [anon_sym_for] = ACTIONS(338), - [anon_sym_if] = ACTIONS(338), - [anon_sym_while] = ACTIONS(338), - [anon_sym_return] = ACTIONS(338), - [sym_break_expression] = ACTIONS(338), - [sym_continue_expression] = ACTIONS(338), - [sym_integer] = ACTIONS(338), - [sym_float] = ACTIONS(338), - [sym_complex] = ACTIONS(336), - [anon_sym_true] = ACTIONS(338), - [anon_sym_false] = ACTIONS(338), - [anon_sym_Inf] = ACTIONS(338), - [anon_sym_NaN] = ACTIONS(338), - [anon_sym_DQUOTE] = ACTIONS(336), + [ts_builtin_sym_end] = ACTIONS(341), + [sym_identifier] = ACTIONS(343), + [anon_sym_SEMI] = ACTIONS(341), + [anon_sym_let] = ACTIONS(343), + [anon_sym_EQ] = ACTIONS(343), + [anon_sym_COMMA] = ACTIONS(341), + [anon_sym_pure] = ACTIONS(343), + [anon_sym_fn] = ACTIONS(343), + [anon_sym_LPAREN] = ACTIONS(341), + [anon_sym_struct] = ACTIONS(343), + [anon_sym_LBRACE] = ACTIONS(341), + [anon_sym_RBRACE] = ACTIONS(341), + [anon_sym_LT] = ACTIONS(343), + [anon_sym_GT] = ACTIONS(343), + [anon_sym_PLUS_EQ] = ACTIONS(341), + [anon_sym_DASH_EQ] = ACTIONS(341), + [anon_sym_STAR_EQ] = ACTIONS(341), + [anon_sym_SLASH_EQ] = ACTIONS(341), + [anon_sym_BSLASH_EQ] = ACTIONS(341), + [anon_sym_PERCENT_EQ] = ACTIONS(341), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(341), + [anon_sym_CARET_EQ] = ACTIONS(341), + [anon_sym_AMP_EQ] = ACTIONS(341), + [anon_sym_PIPE_EQ] = ACTIONS(341), + [anon_sym_TILDE_EQ] = ACTIONS(341), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(341), + [anon_sym_LT_GT_EQ] = ACTIONS(341), + [anon_sym_LT_LT_EQ] = ACTIONS(341), + [anon_sym_GT_GT_EQ] = ACTIONS(341), + [anon_sym_as] = ACTIONS(343), + [anon_sym_BANG] = ACTIONS(343), + [anon_sym_DASH] = ACTIONS(343), + [anon_sym_TILDE] = ACTIONS(343), + [anon_sym_not] = ACTIONS(343), + [anon_sym_or] = ACTIONS(343), + [anon_sym_and] = ACTIONS(343), + [anon_sym_LT_EQ_GT] = ACTIONS(341), + [anon_sym_GT_EQ_LT] = ACTIONS(341), + [anon_sym_LT_LT] = ACTIONS(343), + [anon_sym_GT_GT] = ACTIONS(343), + [anon_sym_PIPE] = ACTIONS(343), + [anon_sym_AMP] = ACTIONS(343), + [anon_sym_PLUS] = ACTIONS(343), + [anon_sym_PLUS_PLUS] = ACTIONS(343), + [anon_sym_LT_GT] = ACTIONS(343), + [anon_sym_STAR] = ACTIONS(343), + [anon_sym_SLASH] = ACTIONS(343), + [anon_sym_BSLASH] = ACTIONS(343), + [anon_sym_PERCENT] = ACTIONS(343), + [anon_sym_PERCENT_PERCENT] = ACTIONS(343), + [anon_sym_EQ_EQ] = ACTIONS(341), + [anon_sym_BANG_EQ] = ACTIONS(341), + [anon_sym_GT_EQ] = ACTIONS(343), + [anon_sym_LT_EQ] = ACTIONS(343), + [anon_sym_in] = ACTIONS(343), + [anon_sym_CARET] = ACTIONS(343), + [anon_sym_DOT_DOT] = ACTIONS(343), + [anon_sym_DOT_DOT_EQ] = ACTIONS(341), + [anon_sym_LBRACK] = ACTIONS(341), + [anon_sym_DOT] = ACTIONS(343), + [anon_sym_PERCENT_LBRACE] = ACTIONS(341), + [anon_sym_for] = ACTIONS(343), + [anon_sym_if] = ACTIONS(343), + [anon_sym_while] = ACTIONS(343), + [anon_sym_return] = ACTIONS(343), + [sym_break_expression] = ACTIONS(343), + [sym_continue_expression] = ACTIONS(343), + [sym_integer] = ACTIONS(343), + [sym_float] = ACTIONS(343), + [sym_complex] = ACTIONS(341), + [anon_sym_true] = ACTIONS(343), + [anon_sym_false] = ACTIONS(343), + [anon_sym_Inf] = ACTIONS(343), + [anon_sym_NaN] = ACTIONS(343), + [anon_sym_DQUOTE] = ACTIONS(341), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(336), - [sym_raw_string] = ACTIONS(336), + [sym_named_op_assign] = ACTIONS(341), + [sym_raw_string] = ACTIONS(341), }, [53] = { - [ts_builtin_sym_end] = ACTIONS(340), - [sym_identifier] = ACTIONS(342), - [anon_sym_SEMI] = ACTIONS(340), - [anon_sym_let] = ACTIONS(342), - [anon_sym_EQ] = ACTIONS(342), - [anon_sym_COMMA] = ACTIONS(340), - [anon_sym_pure] = ACTIONS(342), - [anon_sym_fn] = ACTIONS(342), - [anon_sym_LPAREN] = ACTIONS(340), - [anon_sym_struct] = ACTIONS(342), - [anon_sym_LBRACE] = ACTIONS(340), - [anon_sym_RBRACE] = ACTIONS(340), - [anon_sym_LT] = ACTIONS(342), - [anon_sym_GT] = ACTIONS(342), - [anon_sym_PLUS_EQ] = ACTIONS(340), - [anon_sym_DASH_EQ] = ACTIONS(340), - [anon_sym_STAR_EQ] = ACTIONS(340), - [anon_sym_SLASH_EQ] = ACTIONS(340), - [anon_sym_BSLASH_EQ] = ACTIONS(340), - [anon_sym_PERCENT_EQ] = ACTIONS(340), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(340), - [anon_sym_CARET_EQ] = ACTIONS(340), - [anon_sym_AMP_EQ] = ACTIONS(340), - [anon_sym_PIPE_EQ] = ACTIONS(340), - [anon_sym_TILDE_EQ] = ACTIONS(340), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(340), - [anon_sym_LT_GT_EQ] = ACTIONS(340), - [anon_sym_LT_LT_EQ] = ACTIONS(340), - [anon_sym_GT_GT_EQ] = ACTIONS(340), - [anon_sym_BANG] = ACTIONS(342), - [anon_sym_DASH] = ACTIONS(342), - [anon_sym_TILDE] = ACTIONS(342), - [anon_sym_not] = ACTIONS(342), - [anon_sym_or] = ACTIONS(342), - [anon_sym_and] = ACTIONS(342), - [anon_sym_LT_EQ_GT] = ACTIONS(340), - [anon_sym_GT_EQ_LT] = ACTIONS(340), - [anon_sym_LT_LT] = ACTIONS(342), - [anon_sym_GT_GT] = ACTIONS(342), - [anon_sym_PIPE] = ACTIONS(342), - [anon_sym_AMP] = ACTIONS(342), - [anon_sym_PLUS] = ACTIONS(342), - [anon_sym_PLUS_PLUS] = ACTIONS(342), - [anon_sym_LT_GT] = ACTIONS(342), - [anon_sym_STAR] = ACTIONS(342), - [anon_sym_SLASH] = ACTIONS(342), - [anon_sym_BSLASH] = ACTIONS(342), - [anon_sym_PERCENT] = ACTIONS(342), - [anon_sym_PERCENT_PERCENT] = ACTIONS(342), - [anon_sym_EQ_EQ] = ACTIONS(340), - [anon_sym_BANG_EQ] = ACTIONS(340), - [anon_sym_GT_EQ] = ACTIONS(342), - [anon_sym_LT_EQ] = ACTIONS(342), - [anon_sym_in] = ACTIONS(342), - [anon_sym_CARET] = ACTIONS(342), - [anon_sym_DOT_DOT] = ACTIONS(342), - [anon_sym_DOT_DOT_EQ] = ACTIONS(340), - [anon_sym_LBRACK] = ACTIONS(340), - [anon_sym_DOT] = ACTIONS(342), - [anon_sym_PERCENT_LBRACE] = ACTIONS(340), - [anon_sym_for] = ACTIONS(342), - [anon_sym_if] = ACTIONS(342), - [anon_sym_while] = ACTIONS(342), - [anon_sym_return] = ACTIONS(342), - [sym_break_expression] = ACTIONS(342), - [sym_continue_expression] = ACTIONS(342), - [sym_integer] = ACTIONS(342), - [sym_float] = ACTIONS(342), - [sym_complex] = ACTIONS(340), - [anon_sym_true] = ACTIONS(342), - [anon_sym_false] = ACTIONS(342), - [anon_sym_Inf] = ACTIONS(342), - [anon_sym_NaN] = ACTIONS(342), - [anon_sym_DQUOTE] = ACTIONS(340), + [ts_builtin_sym_end] = ACTIONS(345), + [sym_identifier] = ACTIONS(347), + [anon_sym_SEMI] = ACTIONS(345), + [anon_sym_let] = ACTIONS(347), + [anon_sym_EQ] = ACTIONS(347), + [anon_sym_COMMA] = ACTIONS(345), + [anon_sym_pure] = ACTIONS(347), + [anon_sym_fn] = ACTIONS(347), + [anon_sym_LPAREN] = ACTIONS(345), + [anon_sym_struct] = ACTIONS(347), + [anon_sym_LBRACE] = ACTIONS(345), + [anon_sym_RBRACE] = ACTIONS(345), + [anon_sym_LT] = ACTIONS(347), + [anon_sym_GT] = ACTIONS(347), + [anon_sym_PLUS_EQ] = ACTIONS(345), + [anon_sym_DASH_EQ] = ACTIONS(345), + [anon_sym_STAR_EQ] = ACTIONS(345), + [anon_sym_SLASH_EQ] = ACTIONS(345), + [anon_sym_BSLASH_EQ] = ACTIONS(345), + [anon_sym_PERCENT_EQ] = ACTIONS(345), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(345), + [anon_sym_CARET_EQ] = ACTIONS(345), + [anon_sym_AMP_EQ] = ACTIONS(345), + [anon_sym_PIPE_EQ] = ACTIONS(345), + [anon_sym_TILDE_EQ] = ACTIONS(345), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(345), + [anon_sym_LT_GT_EQ] = ACTIONS(345), + [anon_sym_LT_LT_EQ] = ACTIONS(345), + [anon_sym_GT_GT_EQ] = ACTIONS(345), + [anon_sym_as] = ACTIONS(347), + [anon_sym_BANG] = ACTIONS(347), + [anon_sym_DASH] = ACTIONS(347), + [anon_sym_TILDE] = ACTIONS(347), + [anon_sym_not] = ACTIONS(347), + [anon_sym_or] = ACTIONS(347), + [anon_sym_and] = ACTIONS(347), + [anon_sym_LT_EQ_GT] = ACTIONS(345), + [anon_sym_GT_EQ_LT] = ACTIONS(345), + [anon_sym_LT_LT] = ACTIONS(347), + [anon_sym_GT_GT] = ACTIONS(347), + [anon_sym_PIPE] = ACTIONS(347), + [anon_sym_AMP] = ACTIONS(347), + [anon_sym_PLUS] = ACTIONS(347), + [anon_sym_PLUS_PLUS] = ACTIONS(347), + [anon_sym_LT_GT] = ACTIONS(347), + [anon_sym_STAR] = ACTIONS(347), + [anon_sym_SLASH] = ACTIONS(347), + [anon_sym_BSLASH] = ACTIONS(347), + [anon_sym_PERCENT] = ACTIONS(347), + [anon_sym_PERCENT_PERCENT] = ACTIONS(347), + [anon_sym_EQ_EQ] = ACTIONS(345), + [anon_sym_BANG_EQ] = ACTIONS(345), + [anon_sym_GT_EQ] = ACTIONS(347), + [anon_sym_LT_EQ] = ACTIONS(347), + [anon_sym_in] = ACTIONS(347), + [anon_sym_CARET] = ACTIONS(347), + [anon_sym_DOT_DOT] = ACTIONS(347), + [anon_sym_DOT_DOT_EQ] = ACTIONS(345), + [anon_sym_LBRACK] = ACTIONS(345), + [anon_sym_DOT] = ACTIONS(347), + [anon_sym_PERCENT_LBRACE] = ACTIONS(345), + [anon_sym_for] = ACTIONS(347), + [anon_sym_if] = ACTIONS(347), + [anon_sym_while] = ACTIONS(347), + [anon_sym_return] = ACTIONS(347), + [sym_break_expression] = ACTIONS(347), + [sym_continue_expression] = ACTIONS(347), + [sym_integer] = ACTIONS(347), + [sym_float] = ACTIONS(347), + [sym_complex] = ACTIONS(345), + [anon_sym_true] = ACTIONS(347), + [anon_sym_false] = ACTIONS(347), + [anon_sym_Inf] = ACTIONS(347), + [anon_sym_NaN] = ACTIONS(347), + [anon_sym_DQUOTE] = ACTIONS(345), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(340), - [sym_raw_string] = ACTIONS(340), + [sym_named_op_assign] = ACTIONS(345), + [sym_raw_string] = ACTIONS(345), }, [54] = { - [ts_builtin_sym_end] = ACTIONS(344), - [sym_identifier] = ACTIONS(346), - [anon_sym_SEMI] = ACTIONS(344), - [anon_sym_let] = ACTIONS(346), - [anon_sym_EQ] = ACTIONS(346), - [anon_sym_COMMA] = ACTIONS(344), - [anon_sym_pure] = ACTIONS(346), - [anon_sym_fn] = ACTIONS(346), - [anon_sym_LPAREN] = ACTIONS(344), - [anon_sym_struct] = ACTIONS(346), - [anon_sym_LBRACE] = ACTIONS(344), - [anon_sym_RBRACE] = ACTIONS(344), - [anon_sym_LT] = ACTIONS(346), - [anon_sym_GT] = ACTIONS(346), - [anon_sym_PLUS_EQ] = ACTIONS(344), - [anon_sym_DASH_EQ] = ACTIONS(344), - [anon_sym_STAR_EQ] = ACTIONS(344), - [anon_sym_SLASH_EQ] = ACTIONS(344), - [anon_sym_BSLASH_EQ] = ACTIONS(344), - [anon_sym_PERCENT_EQ] = ACTIONS(344), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(344), - [anon_sym_CARET_EQ] = ACTIONS(344), - [anon_sym_AMP_EQ] = ACTIONS(344), - [anon_sym_PIPE_EQ] = ACTIONS(344), - [anon_sym_TILDE_EQ] = ACTIONS(344), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(344), - [anon_sym_LT_GT_EQ] = ACTIONS(344), - [anon_sym_LT_LT_EQ] = ACTIONS(344), - [anon_sym_GT_GT_EQ] = ACTIONS(344), - [anon_sym_BANG] = ACTIONS(346), - [anon_sym_DASH] = ACTIONS(346), - [anon_sym_TILDE] = ACTIONS(346), - [anon_sym_not] = ACTIONS(346), - [anon_sym_or] = ACTIONS(346), - [anon_sym_and] = ACTIONS(346), - [anon_sym_LT_EQ_GT] = ACTIONS(344), - [anon_sym_GT_EQ_LT] = ACTIONS(344), - [anon_sym_LT_LT] = ACTIONS(346), - [anon_sym_GT_GT] = ACTIONS(346), - [anon_sym_PIPE] = ACTIONS(346), - [anon_sym_AMP] = ACTIONS(346), - [anon_sym_PLUS] = ACTIONS(346), - [anon_sym_PLUS_PLUS] = ACTIONS(346), - [anon_sym_LT_GT] = ACTIONS(346), - [anon_sym_STAR] = ACTIONS(346), - [anon_sym_SLASH] = ACTIONS(346), - [anon_sym_BSLASH] = ACTIONS(346), - [anon_sym_PERCENT] = ACTIONS(346), - [anon_sym_PERCENT_PERCENT] = ACTIONS(346), - [anon_sym_EQ_EQ] = ACTIONS(344), - [anon_sym_BANG_EQ] = ACTIONS(344), - [anon_sym_GT_EQ] = ACTIONS(346), - [anon_sym_LT_EQ] = ACTIONS(346), - [anon_sym_in] = ACTIONS(346), - [anon_sym_CARET] = ACTIONS(346), - [anon_sym_DOT_DOT] = ACTIONS(346), - [anon_sym_DOT_DOT_EQ] = ACTIONS(344), - [anon_sym_LBRACK] = ACTIONS(344), - [anon_sym_DOT] = ACTIONS(346), - [anon_sym_PERCENT_LBRACE] = ACTIONS(344), - [anon_sym_for] = ACTIONS(346), - [anon_sym_if] = ACTIONS(346), - [anon_sym_while] = ACTIONS(346), - [anon_sym_return] = ACTIONS(346), - [sym_break_expression] = ACTIONS(346), - [sym_continue_expression] = ACTIONS(346), - [sym_integer] = ACTIONS(346), - [sym_float] = ACTIONS(346), - [sym_complex] = ACTIONS(344), - [anon_sym_true] = ACTIONS(346), - [anon_sym_false] = ACTIONS(346), - [anon_sym_Inf] = ACTIONS(346), - [anon_sym_NaN] = ACTIONS(346), - [anon_sym_DQUOTE] = ACTIONS(344), + [ts_builtin_sym_end] = ACTIONS(349), + [sym_identifier] = ACTIONS(351), + [anon_sym_SEMI] = ACTIONS(349), + [anon_sym_let] = ACTIONS(351), + [anon_sym_EQ] = ACTIONS(351), + [anon_sym_COMMA] = ACTIONS(349), + [anon_sym_pure] = ACTIONS(351), + [anon_sym_fn] = ACTIONS(351), + [anon_sym_LPAREN] = ACTIONS(349), + [anon_sym_struct] = ACTIONS(351), + [anon_sym_LBRACE] = ACTIONS(349), + [anon_sym_RBRACE] = ACTIONS(349), + [anon_sym_LT] = ACTIONS(351), + [anon_sym_GT] = ACTIONS(351), + [anon_sym_PLUS_EQ] = ACTIONS(349), + [anon_sym_DASH_EQ] = ACTIONS(349), + [anon_sym_STAR_EQ] = ACTIONS(349), + [anon_sym_SLASH_EQ] = ACTIONS(349), + [anon_sym_BSLASH_EQ] = ACTIONS(349), + [anon_sym_PERCENT_EQ] = ACTIONS(349), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(349), + [anon_sym_CARET_EQ] = ACTIONS(349), + [anon_sym_AMP_EQ] = ACTIONS(349), + [anon_sym_PIPE_EQ] = ACTIONS(349), + [anon_sym_TILDE_EQ] = ACTIONS(349), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(349), + [anon_sym_LT_GT_EQ] = ACTIONS(349), + [anon_sym_LT_LT_EQ] = ACTIONS(349), + [anon_sym_GT_GT_EQ] = ACTIONS(349), + [anon_sym_as] = ACTIONS(351), + [anon_sym_BANG] = ACTIONS(351), + [anon_sym_DASH] = ACTIONS(351), + [anon_sym_TILDE] = ACTIONS(351), + [anon_sym_not] = ACTIONS(351), + [anon_sym_or] = ACTIONS(351), + [anon_sym_and] = ACTIONS(351), + [anon_sym_LT_EQ_GT] = ACTIONS(349), + [anon_sym_GT_EQ_LT] = ACTIONS(349), + [anon_sym_LT_LT] = ACTIONS(351), + [anon_sym_GT_GT] = ACTIONS(351), + [anon_sym_PIPE] = ACTIONS(351), + [anon_sym_AMP] = ACTIONS(351), + [anon_sym_PLUS] = ACTIONS(351), + [anon_sym_PLUS_PLUS] = ACTIONS(351), + [anon_sym_LT_GT] = ACTIONS(351), + [anon_sym_STAR] = ACTIONS(351), + [anon_sym_SLASH] = ACTIONS(351), + [anon_sym_BSLASH] = ACTIONS(351), + [anon_sym_PERCENT] = ACTIONS(351), + [anon_sym_PERCENT_PERCENT] = ACTIONS(351), + [anon_sym_EQ_EQ] = ACTIONS(349), + [anon_sym_BANG_EQ] = ACTIONS(349), + [anon_sym_GT_EQ] = ACTIONS(351), + [anon_sym_LT_EQ] = ACTIONS(351), + [anon_sym_in] = ACTIONS(351), + [anon_sym_CARET] = ACTIONS(351), + [anon_sym_DOT_DOT] = ACTIONS(351), + [anon_sym_DOT_DOT_EQ] = ACTIONS(349), + [anon_sym_LBRACK] = ACTIONS(349), + [anon_sym_DOT] = ACTIONS(351), + [anon_sym_PERCENT_LBRACE] = ACTIONS(349), + [anon_sym_for] = ACTIONS(351), + [anon_sym_if] = ACTIONS(351), + [anon_sym_while] = ACTIONS(351), + [anon_sym_return] = ACTIONS(351), + [sym_break_expression] = ACTIONS(351), + [sym_continue_expression] = ACTIONS(351), + [sym_integer] = ACTIONS(351), + [sym_float] = ACTIONS(351), + [sym_complex] = ACTIONS(349), + [anon_sym_true] = ACTIONS(351), + [anon_sym_false] = ACTIONS(351), + [anon_sym_Inf] = ACTIONS(351), + [anon_sym_NaN] = ACTIONS(351), + [anon_sym_DQUOTE] = ACTIONS(349), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(344), - [sym_raw_string] = ACTIONS(344), + [sym_named_op_assign] = ACTIONS(349), + [sym_raw_string] = ACTIONS(349), }, [55] = { - [ts_builtin_sym_end] = ACTIONS(348), - [sym_identifier] = ACTIONS(350), - [anon_sym_SEMI] = ACTIONS(348), - [anon_sym_let] = ACTIONS(350), - [anon_sym_EQ] = ACTIONS(350), - [anon_sym_COMMA] = ACTIONS(348), - [anon_sym_pure] = ACTIONS(350), - [anon_sym_fn] = ACTIONS(350), - [anon_sym_LPAREN] = ACTIONS(348), - [anon_sym_struct] = ACTIONS(350), - [anon_sym_LBRACE] = ACTIONS(348), - [anon_sym_RBRACE] = ACTIONS(348), - [anon_sym_LT] = ACTIONS(350), - [anon_sym_GT] = ACTIONS(350), - [anon_sym_PLUS_EQ] = ACTIONS(348), - [anon_sym_DASH_EQ] = ACTIONS(348), - [anon_sym_STAR_EQ] = ACTIONS(348), - [anon_sym_SLASH_EQ] = ACTIONS(348), - [anon_sym_BSLASH_EQ] = ACTIONS(348), - [anon_sym_PERCENT_EQ] = ACTIONS(348), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(348), - [anon_sym_CARET_EQ] = ACTIONS(348), - [anon_sym_AMP_EQ] = ACTIONS(348), - [anon_sym_PIPE_EQ] = ACTIONS(348), - [anon_sym_TILDE_EQ] = ACTIONS(348), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(348), - [anon_sym_LT_GT_EQ] = ACTIONS(348), - [anon_sym_LT_LT_EQ] = ACTIONS(348), - [anon_sym_GT_GT_EQ] = ACTIONS(348), - [anon_sym_BANG] = ACTIONS(350), - [anon_sym_DASH] = ACTIONS(350), - [anon_sym_TILDE] = ACTIONS(350), - [anon_sym_not] = ACTIONS(350), - [anon_sym_or] = ACTIONS(350), - [anon_sym_and] = ACTIONS(350), - [anon_sym_LT_EQ_GT] = ACTIONS(348), - [anon_sym_GT_EQ_LT] = ACTIONS(348), - [anon_sym_LT_LT] = ACTIONS(350), - [anon_sym_GT_GT] = ACTIONS(350), - [anon_sym_PIPE] = ACTIONS(350), - [anon_sym_AMP] = ACTIONS(350), - [anon_sym_PLUS] = ACTIONS(350), - [anon_sym_PLUS_PLUS] = ACTIONS(350), - [anon_sym_LT_GT] = ACTIONS(350), - [anon_sym_STAR] = ACTIONS(350), - [anon_sym_SLASH] = ACTIONS(350), - [anon_sym_BSLASH] = ACTIONS(350), - [anon_sym_PERCENT] = ACTIONS(350), - [anon_sym_PERCENT_PERCENT] = ACTIONS(350), - [anon_sym_EQ_EQ] = ACTIONS(348), - [anon_sym_BANG_EQ] = ACTIONS(348), - [anon_sym_GT_EQ] = ACTIONS(350), - [anon_sym_LT_EQ] = ACTIONS(350), - [anon_sym_in] = ACTIONS(350), - [anon_sym_CARET] = ACTIONS(350), - [anon_sym_DOT_DOT] = ACTIONS(350), - [anon_sym_DOT_DOT_EQ] = ACTIONS(348), - [anon_sym_LBRACK] = ACTIONS(348), - [anon_sym_DOT] = ACTIONS(350), - [anon_sym_PERCENT_LBRACE] = ACTIONS(348), - [anon_sym_for] = ACTIONS(350), - [anon_sym_if] = ACTIONS(350), - [anon_sym_while] = ACTIONS(350), - [anon_sym_return] = ACTIONS(350), - [sym_break_expression] = ACTIONS(350), - [sym_continue_expression] = ACTIONS(350), - [sym_integer] = ACTIONS(350), - [sym_float] = ACTIONS(350), - [sym_complex] = ACTIONS(348), - [anon_sym_true] = ACTIONS(350), - [anon_sym_false] = ACTIONS(350), - [anon_sym_Inf] = ACTIONS(350), - [anon_sym_NaN] = ACTIONS(350), - [anon_sym_DQUOTE] = ACTIONS(348), + [ts_builtin_sym_end] = ACTIONS(353), + [sym_identifier] = ACTIONS(355), + [anon_sym_SEMI] = ACTIONS(353), + [anon_sym_let] = ACTIONS(355), + [anon_sym_EQ] = ACTIONS(355), + [anon_sym_COMMA] = ACTIONS(353), + [anon_sym_pure] = ACTIONS(355), + [anon_sym_fn] = ACTIONS(355), + [anon_sym_LPAREN] = ACTIONS(353), + [anon_sym_struct] = ACTIONS(355), + [anon_sym_LBRACE] = ACTIONS(353), + [anon_sym_RBRACE] = ACTIONS(353), + [anon_sym_LT] = ACTIONS(355), + [anon_sym_GT] = ACTIONS(355), + [anon_sym_PLUS_EQ] = ACTIONS(353), + [anon_sym_DASH_EQ] = ACTIONS(353), + [anon_sym_STAR_EQ] = ACTIONS(353), + [anon_sym_SLASH_EQ] = ACTIONS(353), + [anon_sym_BSLASH_EQ] = ACTIONS(353), + [anon_sym_PERCENT_EQ] = ACTIONS(353), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(353), + [anon_sym_CARET_EQ] = ACTIONS(353), + [anon_sym_AMP_EQ] = ACTIONS(353), + [anon_sym_PIPE_EQ] = ACTIONS(353), + [anon_sym_TILDE_EQ] = ACTIONS(353), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(353), + [anon_sym_LT_GT_EQ] = ACTIONS(353), + [anon_sym_LT_LT_EQ] = ACTIONS(353), + [anon_sym_GT_GT_EQ] = ACTIONS(353), + [anon_sym_as] = ACTIONS(355), + [anon_sym_BANG] = ACTIONS(355), + [anon_sym_DASH] = ACTIONS(355), + [anon_sym_TILDE] = ACTIONS(355), + [anon_sym_not] = ACTIONS(355), + [anon_sym_or] = ACTIONS(355), + [anon_sym_and] = ACTIONS(355), + [anon_sym_LT_EQ_GT] = ACTIONS(353), + [anon_sym_GT_EQ_LT] = ACTIONS(353), + [anon_sym_LT_LT] = ACTIONS(355), + [anon_sym_GT_GT] = ACTIONS(355), + [anon_sym_PIPE] = ACTIONS(355), + [anon_sym_AMP] = ACTIONS(355), + [anon_sym_PLUS] = ACTIONS(355), + [anon_sym_PLUS_PLUS] = ACTIONS(355), + [anon_sym_LT_GT] = ACTIONS(355), + [anon_sym_STAR] = ACTIONS(355), + [anon_sym_SLASH] = ACTIONS(355), + [anon_sym_BSLASH] = ACTIONS(355), + [anon_sym_PERCENT] = ACTIONS(355), + [anon_sym_PERCENT_PERCENT] = ACTIONS(355), + [anon_sym_EQ_EQ] = ACTIONS(353), + [anon_sym_BANG_EQ] = ACTIONS(353), + [anon_sym_GT_EQ] = ACTIONS(355), + [anon_sym_LT_EQ] = ACTIONS(355), + [anon_sym_in] = ACTIONS(355), + [anon_sym_CARET] = ACTIONS(355), + [anon_sym_DOT_DOT] = ACTIONS(355), + [anon_sym_DOT_DOT_EQ] = ACTIONS(353), + [anon_sym_LBRACK] = ACTIONS(353), + [anon_sym_DOT] = ACTIONS(355), + [anon_sym_PERCENT_LBRACE] = ACTIONS(353), + [anon_sym_for] = ACTIONS(355), + [anon_sym_if] = ACTIONS(355), + [anon_sym_while] = ACTIONS(355), + [anon_sym_return] = ACTIONS(355), + [sym_break_expression] = ACTIONS(355), + [sym_continue_expression] = ACTIONS(355), + [sym_integer] = ACTIONS(355), + [sym_float] = ACTIONS(355), + [sym_complex] = ACTIONS(353), + [anon_sym_true] = ACTIONS(355), + [anon_sym_false] = ACTIONS(355), + [anon_sym_Inf] = ACTIONS(355), + [anon_sym_NaN] = ACTIONS(355), + [anon_sym_DQUOTE] = ACTIONS(353), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(348), - [sym_raw_string] = ACTIONS(348), + [sym_named_op_assign] = ACTIONS(353), + [sym_raw_string] = ACTIONS(353), }, [56] = { - [ts_builtin_sym_end] = ACTIONS(352), - [sym_identifier] = ACTIONS(354), - [anon_sym_SEMI] = ACTIONS(352), - [anon_sym_let] = ACTIONS(354), - [anon_sym_EQ] = ACTIONS(354), - [anon_sym_COMMA] = ACTIONS(352), - [anon_sym_pure] = ACTIONS(354), - [anon_sym_fn] = ACTIONS(354), - [anon_sym_LPAREN] = ACTIONS(352), - [anon_sym_struct] = ACTIONS(354), - [anon_sym_LBRACE] = ACTIONS(352), - [anon_sym_RBRACE] = ACTIONS(352), - [anon_sym_LT] = ACTIONS(354), - [anon_sym_GT] = ACTIONS(354), - [anon_sym_PLUS_EQ] = ACTIONS(352), - [anon_sym_DASH_EQ] = ACTIONS(352), - [anon_sym_STAR_EQ] = ACTIONS(352), - [anon_sym_SLASH_EQ] = ACTIONS(352), - [anon_sym_BSLASH_EQ] = ACTIONS(352), - [anon_sym_PERCENT_EQ] = ACTIONS(352), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(352), - [anon_sym_CARET_EQ] = ACTIONS(352), - [anon_sym_AMP_EQ] = ACTIONS(352), - [anon_sym_PIPE_EQ] = ACTIONS(352), - [anon_sym_TILDE_EQ] = ACTIONS(352), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(352), - [anon_sym_LT_GT_EQ] = ACTIONS(352), - [anon_sym_LT_LT_EQ] = ACTIONS(352), - [anon_sym_GT_GT_EQ] = ACTIONS(352), - [anon_sym_BANG] = ACTIONS(354), - [anon_sym_DASH] = ACTIONS(354), - [anon_sym_TILDE] = ACTIONS(354), - [anon_sym_not] = ACTIONS(354), - [anon_sym_or] = ACTIONS(354), - [anon_sym_and] = ACTIONS(354), - [anon_sym_LT_EQ_GT] = ACTIONS(352), - [anon_sym_GT_EQ_LT] = ACTIONS(352), - [anon_sym_LT_LT] = ACTIONS(354), - [anon_sym_GT_GT] = ACTIONS(354), - [anon_sym_PIPE] = ACTIONS(354), - [anon_sym_AMP] = ACTIONS(354), - [anon_sym_PLUS] = ACTIONS(354), - [anon_sym_PLUS_PLUS] = ACTIONS(354), - [anon_sym_LT_GT] = ACTIONS(354), - [anon_sym_STAR] = ACTIONS(354), - [anon_sym_SLASH] = ACTIONS(354), - [anon_sym_BSLASH] = ACTIONS(354), - [anon_sym_PERCENT] = ACTIONS(354), - [anon_sym_PERCENT_PERCENT] = ACTIONS(354), - [anon_sym_EQ_EQ] = ACTIONS(352), - [anon_sym_BANG_EQ] = ACTIONS(352), - [anon_sym_GT_EQ] = ACTIONS(354), - [anon_sym_LT_EQ] = ACTIONS(354), - [anon_sym_in] = ACTIONS(354), - [anon_sym_CARET] = ACTIONS(354), - [anon_sym_DOT_DOT] = ACTIONS(354), - [anon_sym_DOT_DOT_EQ] = ACTIONS(352), - [anon_sym_LBRACK] = ACTIONS(352), - [anon_sym_DOT] = ACTIONS(354), - [anon_sym_PERCENT_LBRACE] = ACTIONS(352), - [anon_sym_for] = ACTIONS(354), - [anon_sym_if] = ACTIONS(354), - [anon_sym_while] = ACTIONS(354), - [anon_sym_return] = ACTIONS(354), - [sym_break_expression] = ACTIONS(354), - [sym_continue_expression] = ACTIONS(354), - [sym_integer] = ACTIONS(354), - [sym_float] = ACTIONS(354), - [sym_complex] = ACTIONS(352), - [anon_sym_true] = ACTIONS(354), - [anon_sym_false] = ACTIONS(354), - [anon_sym_Inf] = ACTIONS(354), - [anon_sym_NaN] = ACTIONS(354), - [anon_sym_DQUOTE] = ACTIONS(352), + [ts_builtin_sym_end] = ACTIONS(357), + [sym_identifier] = ACTIONS(359), + [anon_sym_SEMI] = ACTIONS(357), + [anon_sym_let] = ACTIONS(359), + [anon_sym_EQ] = ACTIONS(359), + [anon_sym_COMMA] = ACTIONS(357), + [anon_sym_pure] = ACTIONS(359), + [anon_sym_fn] = ACTIONS(359), + [anon_sym_LPAREN] = ACTIONS(357), + [anon_sym_struct] = ACTIONS(359), + [anon_sym_LBRACE] = ACTIONS(357), + [anon_sym_RBRACE] = ACTIONS(357), + [anon_sym_LT] = ACTIONS(359), + [anon_sym_GT] = ACTIONS(359), + [anon_sym_PLUS_EQ] = ACTIONS(357), + [anon_sym_DASH_EQ] = ACTIONS(357), + [anon_sym_STAR_EQ] = ACTIONS(357), + [anon_sym_SLASH_EQ] = ACTIONS(357), + [anon_sym_BSLASH_EQ] = ACTIONS(357), + [anon_sym_PERCENT_EQ] = ACTIONS(357), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(357), + [anon_sym_CARET_EQ] = ACTIONS(357), + [anon_sym_AMP_EQ] = ACTIONS(357), + [anon_sym_PIPE_EQ] = ACTIONS(357), + [anon_sym_TILDE_EQ] = ACTIONS(357), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(357), + [anon_sym_LT_GT_EQ] = ACTIONS(357), + [anon_sym_LT_LT_EQ] = ACTIONS(357), + [anon_sym_GT_GT_EQ] = ACTIONS(357), + [anon_sym_as] = ACTIONS(359), + [anon_sym_BANG] = ACTIONS(359), + [anon_sym_DASH] = ACTIONS(359), + [anon_sym_TILDE] = ACTIONS(359), + [anon_sym_not] = ACTIONS(359), + [anon_sym_or] = ACTIONS(359), + [anon_sym_and] = ACTIONS(359), + [anon_sym_LT_EQ_GT] = ACTIONS(357), + [anon_sym_GT_EQ_LT] = ACTIONS(357), + [anon_sym_LT_LT] = ACTIONS(359), + [anon_sym_GT_GT] = ACTIONS(359), + [anon_sym_PIPE] = ACTIONS(359), + [anon_sym_AMP] = ACTIONS(359), + [anon_sym_PLUS] = ACTIONS(359), + [anon_sym_PLUS_PLUS] = ACTIONS(359), + [anon_sym_LT_GT] = ACTIONS(359), + [anon_sym_STAR] = ACTIONS(359), + [anon_sym_SLASH] = ACTIONS(359), + [anon_sym_BSLASH] = ACTIONS(359), + [anon_sym_PERCENT] = ACTIONS(359), + [anon_sym_PERCENT_PERCENT] = ACTIONS(359), + [anon_sym_EQ_EQ] = ACTIONS(357), + [anon_sym_BANG_EQ] = ACTIONS(357), + [anon_sym_GT_EQ] = ACTIONS(359), + [anon_sym_LT_EQ] = ACTIONS(359), + [anon_sym_in] = ACTIONS(359), + [anon_sym_CARET] = ACTIONS(359), + [anon_sym_DOT_DOT] = ACTIONS(359), + [anon_sym_DOT_DOT_EQ] = ACTIONS(357), + [anon_sym_LBRACK] = ACTIONS(357), + [anon_sym_DOT] = ACTIONS(359), + [anon_sym_PERCENT_LBRACE] = ACTIONS(357), + [anon_sym_for] = ACTIONS(359), + [anon_sym_if] = ACTIONS(359), + [anon_sym_while] = ACTIONS(359), + [anon_sym_return] = ACTIONS(359), + [sym_break_expression] = ACTIONS(359), + [sym_continue_expression] = ACTIONS(359), + [sym_integer] = ACTIONS(359), + [sym_float] = ACTIONS(359), + [sym_complex] = ACTIONS(357), + [anon_sym_true] = ACTIONS(359), + [anon_sym_false] = ACTIONS(359), + [anon_sym_Inf] = ACTIONS(359), + [anon_sym_NaN] = ACTIONS(359), + [anon_sym_DQUOTE] = ACTIONS(357), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(352), - [sym_raw_string] = ACTIONS(352), + [sym_named_op_assign] = ACTIONS(357), + [sym_raw_string] = ACTIONS(357), }, [57] = { - [ts_builtin_sym_end] = ACTIONS(356), - [sym_identifier] = ACTIONS(358), - [anon_sym_SEMI] = ACTIONS(356), - [anon_sym_let] = ACTIONS(358), - [anon_sym_EQ] = ACTIONS(358), - [anon_sym_COMMA] = ACTIONS(356), - [anon_sym_pure] = ACTIONS(358), - [anon_sym_fn] = ACTIONS(358), - [anon_sym_LPAREN] = ACTIONS(356), - [anon_sym_struct] = ACTIONS(358), - [anon_sym_LBRACE] = ACTIONS(356), - [anon_sym_RBRACE] = ACTIONS(356), - [anon_sym_LT] = ACTIONS(358), - [anon_sym_GT] = ACTIONS(358), - [anon_sym_PLUS_EQ] = ACTIONS(356), - [anon_sym_DASH_EQ] = ACTIONS(356), - [anon_sym_STAR_EQ] = ACTIONS(356), - [anon_sym_SLASH_EQ] = ACTIONS(356), - [anon_sym_BSLASH_EQ] = ACTIONS(356), - [anon_sym_PERCENT_EQ] = ACTIONS(356), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(356), - [anon_sym_CARET_EQ] = ACTIONS(356), - [anon_sym_AMP_EQ] = ACTIONS(356), - [anon_sym_PIPE_EQ] = ACTIONS(356), - [anon_sym_TILDE_EQ] = ACTIONS(356), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(356), - [anon_sym_LT_GT_EQ] = ACTIONS(356), - [anon_sym_LT_LT_EQ] = ACTIONS(356), - [anon_sym_GT_GT_EQ] = ACTIONS(356), - [anon_sym_BANG] = ACTIONS(358), - [anon_sym_DASH] = ACTIONS(358), - [anon_sym_TILDE] = ACTIONS(358), - [anon_sym_not] = ACTIONS(358), - [anon_sym_or] = ACTIONS(358), - [anon_sym_and] = ACTIONS(358), - [anon_sym_LT_EQ_GT] = ACTIONS(356), - [anon_sym_GT_EQ_LT] = ACTIONS(356), - [anon_sym_LT_LT] = ACTIONS(358), - [anon_sym_GT_GT] = ACTIONS(358), - [anon_sym_PIPE] = ACTIONS(358), - [anon_sym_AMP] = ACTIONS(358), - [anon_sym_PLUS] = ACTIONS(358), - [anon_sym_PLUS_PLUS] = ACTIONS(358), - [anon_sym_LT_GT] = ACTIONS(358), - [anon_sym_STAR] = ACTIONS(358), - [anon_sym_SLASH] = ACTIONS(358), - [anon_sym_BSLASH] = ACTIONS(358), - [anon_sym_PERCENT] = ACTIONS(358), - [anon_sym_PERCENT_PERCENT] = ACTIONS(358), - [anon_sym_EQ_EQ] = ACTIONS(356), - [anon_sym_BANG_EQ] = ACTIONS(356), - [anon_sym_GT_EQ] = ACTIONS(358), - [anon_sym_LT_EQ] = ACTIONS(358), - [anon_sym_in] = ACTIONS(358), - [anon_sym_CARET] = ACTIONS(358), - [anon_sym_DOT_DOT] = ACTIONS(358), - [anon_sym_DOT_DOT_EQ] = ACTIONS(356), - [anon_sym_LBRACK] = ACTIONS(356), - [anon_sym_DOT] = ACTIONS(358), - [anon_sym_PERCENT_LBRACE] = ACTIONS(356), - [anon_sym_for] = ACTIONS(358), - [anon_sym_if] = ACTIONS(358), - [anon_sym_while] = ACTIONS(358), - [anon_sym_return] = ACTIONS(358), - [sym_break_expression] = ACTIONS(358), - [sym_continue_expression] = ACTIONS(358), - [sym_integer] = ACTIONS(358), - [sym_float] = ACTIONS(358), - [sym_complex] = ACTIONS(356), - [anon_sym_true] = ACTIONS(358), - [anon_sym_false] = ACTIONS(358), - [anon_sym_Inf] = ACTIONS(358), - [anon_sym_NaN] = ACTIONS(358), - [anon_sym_DQUOTE] = ACTIONS(356), + [ts_builtin_sym_end] = ACTIONS(361), + [sym_identifier] = ACTIONS(363), + [anon_sym_SEMI] = ACTIONS(361), + [anon_sym_let] = ACTIONS(363), + [anon_sym_EQ] = ACTIONS(363), + [anon_sym_COMMA] = ACTIONS(361), + [anon_sym_pure] = ACTIONS(363), + [anon_sym_fn] = ACTIONS(363), + [anon_sym_LPAREN] = ACTIONS(361), + [anon_sym_struct] = ACTIONS(363), + [anon_sym_LBRACE] = ACTIONS(361), + [anon_sym_RBRACE] = ACTIONS(361), + [anon_sym_LT] = ACTIONS(363), + [anon_sym_GT] = ACTIONS(363), + [anon_sym_PLUS_EQ] = ACTIONS(361), + [anon_sym_DASH_EQ] = ACTIONS(361), + [anon_sym_STAR_EQ] = ACTIONS(361), + [anon_sym_SLASH_EQ] = ACTIONS(361), + [anon_sym_BSLASH_EQ] = ACTIONS(361), + [anon_sym_PERCENT_EQ] = ACTIONS(361), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(361), + [anon_sym_CARET_EQ] = ACTIONS(361), + [anon_sym_AMP_EQ] = ACTIONS(361), + [anon_sym_PIPE_EQ] = ACTIONS(361), + [anon_sym_TILDE_EQ] = ACTIONS(361), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(361), + [anon_sym_LT_GT_EQ] = ACTIONS(361), + [anon_sym_LT_LT_EQ] = ACTIONS(361), + [anon_sym_GT_GT_EQ] = ACTIONS(361), + [anon_sym_as] = ACTIONS(363), + [anon_sym_BANG] = ACTIONS(363), + [anon_sym_DASH] = ACTIONS(363), + [anon_sym_TILDE] = ACTIONS(363), + [anon_sym_not] = ACTIONS(363), + [anon_sym_or] = ACTIONS(363), + [anon_sym_and] = ACTIONS(363), + [anon_sym_LT_EQ_GT] = ACTIONS(361), + [anon_sym_GT_EQ_LT] = ACTIONS(361), + [anon_sym_LT_LT] = ACTIONS(363), + [anon_sym_GT_GT] = ACTIONS(363), + [anon_sym_PIPE] = ACTIONS(363), + [anon_sym_AMP] = ACTIONS(363), + [anon_sym_PLUS] = ACTIONS(363), + [anon_sym_PLUS_PLUS] = ACTIONS(363), + [anon_sym_LT_GT] = ACTIONS(363), + [anon_sym_STAR] = ACTIONS(363), + [anon_sym_SLASH] = ACTIONS(363), + [anon_sym_BSLASH] = ACTIONS(363), + [anon_sym_PERCENT] = ACTIONS(363), + [anon_sym_PERCENT_PERCENT] = ACTIONS(363), + [anon_sym_EQ_EQ] = ACTIONS(361), + [anon_sym_BANG_EQ] = ACTIONS(361), + [anon_sym_GT_EQ] = ACTIONS(363), + [anon_sym_LT_EQ] = ACTIONS(363), + [anon_sym_in] = ACTIONS(363), + [anon_sym_CARET] = ACTIONS(363), + [anon_sym_DOT_DOT] = ACTIONS(363), + [anon_sym_DOT_DOT_EQ] = ACTIONS(361), + [anon_sym_LBRACK] = ACTIONS(361), + [anon_sym_DOT] = ACTIONS(363), + [anon_sym_PERCENT_LBRACE] = ACTIONS(361), + [anon_sym_for] = ACTIONS(363), + [anon_sym_if] = ACTIONS(363), + [anon_sym_while] = ACTIONS(363), + [anon_sym_return] = ACTIONS(363), + [sym_break_expression] = ACTIONS(363), + [sym_continue_expression] = ACTIONS(363), + [sym_integer] = ACTIONS(363), + [sym_float] = ACTIONS(363), + [sym_complex] = ACTIONS(361), + [anon_sym_true] = ACTIONS(363), + [anon_sym_false] = ACTIONS(363), + [anon_sym_Inf] = ACTIONS(363), + [anon_sym_NaN] = ACTIONS(363), + [anon_sym_DQUOTE] = ACTIONS(361), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(356), - [sym_raw_string] = ACTIONS(356), + [sym_named_op_assign] = ACTIONS(361), + [sym_raw_string] = ACTIONS(361), }, [58] = { - [ts_builtin_sym_end] = ACTIONS(360), - [sym_identifier] = ACTIONS(362), - [anon_sym_SEMI] = ACTIONS(360), - [anon_sym_let] = ACTIONS(362), - [anon_sym_EQ] = ACTIONS(362), - [anon_sym_COMMA] = ACTIONS(360), - [anon_sym_pure] = ACTIONS(362), - [anon_sym_fn] = ACTIONS(362), - [anon_sym_LPAREN] = ACTIONS(360), - [anon_sym_struct] = ACTIONS(362), - [anon_sym_LBRACE] = ACTIONS(360), - [anon_sym_RBRACE] = ACTIONS(360), - [anon_sym_LT] = ACTIONS(362), - [anon_sym_GT] = ACTIONS(362), - [anon_sym_PLUS_EQ] = ACTIONS(360), - [anon_sym_DASH_EQ] = ACTIONS(360), - [anon_sym_STAR_EQ] = ACTIONS(360), - [anon_sym_SLASH_EQ] = ACTIONS(360), - [anon_sym_BSLASH_EQ] = ACTIONS(360), - [anon_sym_PERCENT_EQ] = ACTIONS(360), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(360), - [anon_sym_CARET_EQ] = ACTIONS(360), - [anon_sym_AMP_EQ] = ACTIONS(360), - [anon_sym_PIPE_EQ] = ACTIONS(360), - [anon_sym_TILDE_EQ] = ACTIONS(360), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(360), - [anon_sym_LT_GT_EQ] = ACTIONS(360), - [anon_sym_LT_LT_EQ] = ACTIONS(360), - [anon_sym_GT_GT_EQ] = ACTIONS(360), - [anon_sym_BANG] = ACTIONS(362), - [anon_sym_DASH] = ACTIONS(362), - [anon_sym_TILDE] = ACTIONS(362), - [anon_sym_not] = ACTIONS(362), - [anon_sym_or] = ACTIONS(362), - [anon_sym_and] = ACTIONS(362), - [anon_sym_LT_EQ_GT] = ACTIONS(360), - [anon_sym_GT_EQ_LT] = ACTIONS(360), - [anon_sym_LT_LT] = ACTIONS(362), - [anon_sym_GT_GT] = ACTIONS(362), - [anon_sym_PIPE] = ACTIONS(362), - [anon_sym_AMP] = ACTIONS(362), - [anon_sym_PLUS] = ACTIONS(362), - [anon_sym_PLUS_PLUS] = ACTIONS(362), - [anon_sym_LT_GT] = ACTIONS(362), - [anon_sym_STAR] = ACTIONS(362), - [anon_sym_SLASH] = ACTIONS(362), - [anon_sym_BSLASH] = ACTIONS(362), - [anon_sym_PERCENT] = ACTIONS(362), - [anon_sym_PERCENT_PERCENT] = ACTIONS(362), - [anon_sym_EQ_EQ] = ACTIONS(360), - [anon_sym_BANG_EQ] = ACTIONS(360), - [anon_sym_GT_EQ] = ACTIONS(362), - [anon_sym_LT_EQ] = ACTIONS(362), - [anon_sym_in] = ACTIONS(362), - [anon_sym_CARET] = ACTIONS(362), - [anon_sym_DOT_DOT] = ACTIONS(362), - [anon_sym_DOT_DOT_EQ] = ACTIONS(360), - [anon_sym_LBRACK] = ACTIONS(360), - [anon_sym_DOT] = ACTIONS(362), - [anon_sym_PERCENT_LBRACE] = ACTIONS(360), - [anon_sym_for] = ACTIONS(362), - [anon_sym_if] = ACTIONS(362), - [anon_sym_while] = ACTIONS(362), - [anon_sym_return] = ACTIONS(362), - [sym_break_expression] = ACTIONS(362), - [sym_continue_expression] = ACTIONS(362), - [sym_integer] = ACTIONS(362), - [sym_float] = ACTIONS(362), - [sym_complex] = ACTIONS(360), - [anon_sym_true] = ACTIONS(362), - [anon_sym_false] = ACTIONS(362), - [anon_sym_Inf] = ACTIONS(362), - [anon_sym_NaN] = ACTIONS(362), - [anon_sym_DQUOTE] = ACTIONS(360), + [ts_builtin_sym_end] = ACTIONS(365), + [sym_identifier] = ACTIONS(367), + [anon_sym_SEMI] = ACTIONS(365), + [anon_sym_let] = ACTIONS(367), + [anon_sym_EQ] = ACTIONS(367), + [anon_sym_COMMA] = ACTIONS(365), + [anon_sym_pure] = ACTIONS(367), + [anon_sym_fn] = ACTIONS(367), + [anon_sym_LPAREN] = ACTIONS(365), + [anon_sym_struct] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(365), + [anon_sym_RBRACE] = ACTIONS(365), + [anon_sym_LT] = ACTIONS(367), + [anon_sym_GT] = ACTIONS(367), + [anon_sym_PLUS_EQ] = ACTIONS(365), + [anon_sym_DASH_EQ] = ACTIONS(365), + [anon_sym_STAR_EQ] = ACTIONS(365), + [anon_sym_SLASH_EQ] = ACTIONS(365), + [anon_sym_BSLASH_EQ] = ACTIONS(365), + [anon_sym_PERCENT_EQ] = ACTIONS(365), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(365), + [anon_sym_CARET_EQ] = ACTIONS(365), + [anon_sym_AMP_EQ] = ACTIONS(365), + [anon_sym_PIPE_EQ] = ACTIONS(365), + [anon_sym_TILDE_EQ] = ACTIONS(365), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(365), + [anon_sym_LT_GT_EQ] = ACTIONS(365), + [anon_sym_LT_LT_EQ] = ACTIONS(365), + [anon_sym_GT_GT_EQ] = ACTIONS(365), + [anon_sym_as] = ACTIONS(367), + [anon_sym_BANG] = ACTIONS(367), + [anon_sym_DASH] = ACTIONS(367), + [anon_sym_TILDE] = ACTIONS(367), + [anon_sym_not] = ACTIONS(367), + [anon_sym_or] = ACTIONS(367), + [anon_sym_and] = ACTIONS(367), + [anon_sym_LT_EQ_GT] = ACTIONS(365), + [anon_sym_GT_EQ_LT] = ACTIONS(365), + [anon_sym_LT_LT] = ACTIONS(367), + [anon_sym_GT_GT] = ACTIONS(367), + [anon_sym_PIPE] = ACTIONS(367), + [anon_sym_AMP] = ACTIONS(367), + [anon_sym_PLUS] = ACTIONS(367), + [anon_sym_PLUS_PLUS] = ACTIONS(367), + [anon_sym_LT_GT] = ACTIONS(367), + [anon_sym_STAR] = ACTIONS(367), + [anon_sym_SLASH] = ACTIONS(367), + [anon_sym_BSLASH] = ACTIONS(367), + [anon_sym_PERCENT] = ACTIONS(367), + [anon_sym_PERCENT_PERCENT] = ACTIONS(367), + [anon_sym_EQ_EQ] = ACTIONS(365), + [anon_sym_BANG_EQ] = ACTIONS(365), + [anon_sym_GT_EQ] = ACTIONS(367), + [anon_sym_LT_EQ] = ACTIONS(367), + [anon_sym_in] = ACTIONS(367), + [anon_sym_CARET] = ACTIONS(367), + [anon_sym_DOT_DOT] = ACTIONS(367), + [anon_sym_DOT_DOT_EQ] = ACTIONS(365), + [anon_sym_LBRACK] = ACTIONS(365), + [anon_sym_DOT] = ACTIONS(367), + [anon_sym_PERCENT_LBRACE] = ACTIONS(365), + [anon_sym_for] = ACTIONS(367), + [anon_sym_if] = ACTIONS(367), + [anon_sym_while] = ACTIONS(367), + [anon_sym_return] = ACTIONS(367), + [sym_break_expression] = ACTIONS(367), + [sym_continue_expression] = ACTIONS(367), + [sym_integer] = ACTIONS(367), + [sym_float] = ACTIONS(367), + [sym_complex] = ACTIONS(365), + [anon_sym_true] = ACTIONS(367), + [anon_sym_false] = ACTIONS(367), + [anon_sym_Inf] = ACTIONS(367), + [anon_sym_NaN] = ACTIONS(367), + [anon_sym_DQUOTE] = ACTIONS(365), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(360), - [sym_raw_string] = ACTIONS(360), + [sym_named_op_assign] = ACTIONS(365), + [sym_raw_string] = ACTIONS(365), }, [59] = { - [ts_builtin_sym_end] = ACTIONS(364), - [sym_identifier] = ACTIONS(366), - [anon_sym_SEMI] = ACTIONS(364), - [anon_sym_let] = ACTIONS(366), - [anon_sym_EQ] = ACTIONS(366), - [anon_sym_COMMA] = ACTIONS(364), - [anon_sym_pure] = ACTIONS(366), - [anon_sym_fn] = ACTIONS(366), - [anon_sym_LPAREN] = ACTIONS(364), - [anon_sym_struct] = ACTIONS(366), - [anon_sym_LBRACE] = ACTIONS(364), - [anon_sym_RBRACE] = ACTIONS(364), - [anon_sym_LT] = ACTIONS(366), - [anon_sym_GT] = ACTIONS(366), - [anon_sym_PLUS_EQ] = ACTIONS(364), - [anon_sym_DASH_EQ] = ACTIONS(364), - [anon_sym_STAR_EQ] = ACTIONS(364), - [anon_sym_SLASH_EQ] = ACTIONS(364), - [anon_sym_BSLASH_EQ] = ACTIONS(364), - [anon_sym_PERCENT_EQ] = ACTIONS(364), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(364), - [anon_sym_CARET_EQ] = ACTIONS(364), - [anon_sym_AMP_EQ] = ACTIONS(364), - [anon_sym_PIPE_EQ] = ACTIONS(364), - [anon_sym_TILDE_EQ] = ACTIONS(364), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(364), - [anon_sym_LT_GT_EQ] = ACTIONS(364), - [anon_sym_LT_LT_EQ] = ACTIONS(364), - [anon_sym_GT_GT_EQ] = ACTIONS(364), - [anon_sym_BANG] = ACTIONS(366), - [anon_sym_DASH] = ACTIONS(366), - [anon_sym_TILDE] = ACTIONS(366), - [anon_sym_not] = ACTIONS(366), - [anon_sym_or] = ACTIONS(366), - [anon_sym_and] = ACTIONS(366), - [anon_sym_LT_EQ_GT] = ACTIONS(364), - [anon_sym_GT_EQ_LT] = ACTIONS(364), - [anon_sym_LT_LT] = ACTIONS(366), - [anon_sym_GT_GT] = ACTIONS(366), - [anon_sym_PIPE] = ACTIONS(366), - [anon_sym_AMP] = ACTIONS(366), - [anon_sym_PLUS] = ACTIONS(366), - [anon_sym_PLUS_PLUS] = ACTIONS(366), - [anon_sym_LT_GT] = ACTIONS(366), - [anon_sym_STAR] = ACTIONS(366), - [anon_sym_SLASH] = ACTIONS(366), - [anon_sym_BSLASH] = ACTIONS(366), - [anon_sym_PERCENT] = ACTIONS(366), - [anon_sym_PERCENT_PERCENT] = ACTIONS(366), - [anon_sym_EQ_EQ] = ACTIONS(364), - [anon_sym_BANG_EQ] = ACTIONS(364), - [anon_sym_GT_EQ] = ACTIONS(366), - [anon_sym_LT_EQ] = ACTIONS(366), - [anon_sym_in] = ACTIONS(366), - [anon_sym_CARET] = ACTIONS(366), - [anon_sym_DOT_DOT] = ACTIONS(366), - [anon_sym_DOT_DOT_EQ] = ACTIONS(364), - [anon_sym_LBRACK] = ACTIONS(364), - [anon_sym_DOT] = ACTIONS(366), - [anon_sym_PERCENT_LBRACE] = ACTIONS(364), - [anon_sym_for] = ACTIONS(366), - [anon_sym_if] = ACTIONS(366), - [anon_sym_while] = ACTIONS(366), - [anon_sym_return] = ACTIONS(366), - [sym_break_expression] = ACTIONS(366), - [sym_continue_expression] = ACTIONS(366), - [sym_integer] = ACTIONS(366), - [sym_float] = ACTIONS(366), - [sym_complex] = ACTIONS(364), - [anon_sym_true] = ACTIONS(366), - [anon_sym_false] = ACTIONS(366), - [anon_sym_Inf] = ACTIONS(366), - [anon_sym_NaN] = ACTIONS(366), - [anon_sym_DQUOTE] = ACTIONS(364), + [ts_builtin_sym_end] = ACTIONS(369), + [sym_identifier] = ACTIONS(371), + [anon_sym_SEMI] = ACTIONS(369), + [anon_sym_let] = ACTIONS(371), + [anon_sym_EQ] = ACTIONS(371), + [anon_sym_COMMA] = ACTIONS(369), + [anon_sym_pure] = ACTIONS(371), + [anon_sym_fn] = ACTIONS(371), + [anon_sym_LPAREN] = ACTIONS(369), + [anon_sym_struct] = ACTIONS(371), + [anon_sym_LBRACE] = ACTIONS(369), + [anon_sym_RBRACE] = ACTIONS(369), + [anon_sym_LT] = ACTIONS(371), + [anon_sym_GT] = ACTIONS(371), + [anon_sym_PLUS_EQ] = ACTIONS(369), + [anon_sym_DASH_EQ] = ACTIONS(369), + [anon_sym_STAR_EQ] = ACTIONS(369), + [anon_sym_SLASH_EQ] = ACTIONS(369), + [anon_sym_BSLASH_EQ] = ACTIONS(369), + [anon_sym_PERCENT_EQ] = ACTIONS(369), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(369), + [anon_sym_CARET_EQ] = ACTIONS(369), + [anon_sym_AMP_EQ] = ACTIONS(369), + [anon_sym_PIPE_EQ] = ACTIONS(369), + [anon_sym_TILDE_EQ] = ACTIONS(369), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(369), + [anon_sym_LT_GT_EQ] = ACTIONS(369), + [anon_sym_LT_LT_EQ] = ACTIONS(369), + [anon_sym_GT_GT_EQ] = ACTIONS(369), + [anon_sym_as] = ACTIONS(371), + [anon_sym_BANG] = ACTIONS(371), + [anon_sym_DASH] = ACTIONS(371), + [anon_sym_TILDE] = ACTIONS(371), + [anon_sym_not] = ACTIONS(371), + [anon_sym_or] = ACTIONS(371), + [anon_sym_and] = ACTIONS(371), + [anon_sym_LT_EQ_GT] = ACTIONS(369), + [anon_sym_GT_EQ_LT] = ACTIONS(369), + [anon_sym_LT_LT] = ACTIONS(371), + [anon_sym_GT_GT] = ACTIONS(371), + [anon_sym_PIPE] = ACTIONS(371), + [anon_sym_AMP] = ACTIONS(371), + [anon_sym_PLUS] = ACTIONS(371), + [anon_sym_PLUS_PLUS] = ACTIONS(371), + [anon_sym_LT_GT] = ACTIONS(371), + [anon_sym_STAR] = ACTIONS(371), + [anon_sym_SLASH] = ACTIONS(371), + [anon_sym_BSLASH] = ACTIONS(371), + [anon_sym_PERCENT] = ACTIONS(371), + [anon_sym_PERCENT_PERCENT] = ACTIONS(371), + [anon_sym_EQ_EQ] = ACTIONS(369), + [anon_sym_BANG_EQ] = ACTIONS(369), + [anon_sym_GT_EQ] = ACTIONS(371), + [anon_sym_LT_EQ] = ACTIONS(371), + [anon_sym_in] = ACTIONS(371), + [anon_sym_CARET] = ACTIONS(371), + [anon_sym_DOT_DOT] = ACTIONS(371), + [anon_sym_DOT_DOT_EQ] = ACTIONS(369), + [anon_sym_LBRACK] = ACTIONS(369), + [anon_sym_DOT] = ACTIONS(371), + [anon_sym_PERCENT_LBRACE] = ACTIONS(369), + [anon_sym_for] = ACTIONS(371), + [anon_sym_if] = ACTIONS(371), + [anon_sym_while] = ACTIONS(371), + [anon_sym_return] = ACTIONS(371), + [sym_break_expression] = ACTIONS(371), + [sym_continue_expression] = ACTIONS(371), + [sym_integer] = ACTIONS(371), + [sym_float] = ACTIONS(371), + [sym_complex] = ACTIONS(369), + [anon_sym_true] = ACTIONS(371), + [anon_sym_false] = ACTIONS(371), + [anon_sym_Inf] = ACTIONS(371), + [anon_sym_NaN] = ACTIONS(371), + [anon_sym_DQUOTE] = ACTIONS(369), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(364), - [sym_raw_string] = ACTIONS(364), + [sym_named_op_assign] = ACTIONS(369), + [sym_raw_string] = ACTIONS(369), }, [60] = { - [ts_builtin_sym_end] = ACTIONS(368), - [sym_identifier] = ACTIONS(370), - [anon_sym_SEMI] = ACTIONS(368), - [anon_sym_let] = ACTIONS(370), - [anon_sym_EQ] = ACTIONS(370), - [anon_sym_COMMA] = ACTIONS(368), - [anon_sym_pure] = ACTIONS(370), - [anon_sym_fn] = ACTIONS(370), - [anon_sym_LPAREN] = ACTIONS(368), - [anon_sym_struct] = ACTIONS(370), - [anon_sym_LBRACE] = ACTIONS(368), - [anon_sym_RBRACE] = ACTIONS(368), - [anon_sym_LT] = ACTIONS(370), - [anon_sym_GT] = ACTIONS(370), - [anon_sym_PLUS_EQ] = ACTIONS(368), - [anon_sym_DASH_EQ] = ACTIONS(368), - [anon_sym_STAR_EQ] = ACTIONS(368), - [anon_sym_SLASH_EQ] = ACTIONS(368), - [anon_sym_BSLASH_EQ] = ACTIONS(368), - [anon_sym_PERCENT_EQ] = ACTIONS(368), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(368), - [anon_sym_CARET_EQ] = ACTIONS(368), - [anon_sym_AMP_EQ] = ACTIONS(368), - [anon_sym_PIPE_EQ] = ACTIONS(368), - [anon_sym_TILDE_EQ] = ACTIONS(368), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(368), - [anon_sym_LT_GT_EQ] = ACTIONS(368), - [anon_sym_LT_LT_EQ] = ACTIONS(368), - [anon_sym_GT_GT_EQ] = ACTIONS(368), - [anon_sym_BANG] = ACTIONS(370), - [anon_sym_DASH] = ACTIONS(370), - [anon_sym_TILDE] = ACTIONS(370), - [anon_sym_not] = ACTIONS(370), - [anon_sym_or] = ACTIONS(370), - [anon_sym_and] = ACTIONS(370), - [anon_sym_LT_EQ_GT] = ACTIONS(368), - [anon_sym_GT_EQ_LT] = ACTIONS(368), - [anon_sym_LT_LT] = ACTIONS(370), - [anon_sym_GT_GT] = ACTIONS(370), - [anon_sym_PIPE] = ACTIONS(370), - [anon_sym_AMP] = ACTIONS(370), - [anon_sym_PLUS] = ACTIONS(370), - [anon_sym_PLUS_PLUS] = ACTIONS(370), - [anon_sym_LT_GT] = ACTIONS(370), - [anon_sym_STAR] = ACTIONS(370), - [anon_sym_SLASH] = ACTIONS(370), - [anon_sym_BSLASH] = ACTIONS(370), - [anon_sym_PERCENT] = ACTIONS(370), - [anon_sym_PERCENT_PERCENT] = ACTIONS(370), - [anon_sym_EQ_EQ] = ACTIONS(368), - [anon_sym_BANG_EQ] = ACTIONS(368), - [anon_sym_GT_EQ] = ACTIONS(370), - [anon_sym_LT_EQ] = ACTIONS(370), - [anon_sym_in] = ACTIONS(370), - [anon_sym_CARET] = ACTIONS(370), - [anon_sym_DOT_DOT] = ACTIONS(370), - [anon_sym_DOT_DOT_EQ] = ACTIONS(368), - [anon_sym_LBRACK] = ACTIONS(368), - [anon_sym_DOT] = ACTIONS(370), - [anon_sym_PERCENT_LBRACE] = ACTIONS(368), - [anon_sym_for] = ACTIONS(370), - [anon_sym_if] = ACTIONS(370), - [anon_sym_while] = ACTIONS(370), - [anon_sym_return] = ACTIONS(370), - [sym_break_expression] = ACTIONS(370), - [sym_continue_expression] = ACTIONS(370), - [sym_integer] = ACTIONS(370), - [sym_float] = ACTIONS(370), - [sym_complex] = ACTIONS(368), - [anon_sym_true] = ACTIONS(370), - [anon_sym_false] = ACTIONS(370), - [anon_sym_Inf] = ACTIONS(370), - [anon_sym_NaN] = ACTIONS(370), - [anon_sym_DQUOTE] = ACTIONS(368), + [ts_builtin_sym_end] = ACTIONS(373), + [sym_identifier] = ACTIONS(375), + [anon_sym_SEMI] = ACTIONS(373), + [anon_sym_let] = ACTIONS(375), + [anon_sym_EQ] = ACTIONS(375), + [anon_sym_COMMA] = ACTIONS(373), + [anon_sym_pure] = ACTIONS(375), + [anon_sym_fn] = ACTIONS(375), + [anon_sym_LPAREN] = ACTIONS(373), + [anon_sym_struct] = ACTIONS(375), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_RBRACE] = ACTIONS(373), + [anon_sym_LT] = ACTIONS(375), + [anon_sym_GT] = ACTIONS(375), + [anon_sym_PLUS_EQ] = ACTIONS(373), + [anon_sym_DASH_EQ] = ACTIONS(373), + [anon_sym_STAR_EQ] = ACTIONS(373), + [anon_sym_SLASH_EQ] = ACTIONS(373), + [anon_sym_BSLASH_EQ] = ACTIONS(373), + [anon_sym_PERCENT_EQ] = ACTIONS(373), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(373), + [anon_sym_CARET_EQ] = ACTIONS(373), + [anon_sym_AMP_EQ] = ACTIONS(373), + [anon_sym_PIPE_EQ] = ACTIONS(373), + [anon_sym_TILDE_EQ] = ACTIONS(373), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(373), + [anon_sym_LT_GT_EQ] = ACTIONS(373), + [anon_sym_LT_LT_EQ] = ACTIONS(373), + [anon_sym_GT_GT_EQ] = ACTIONS(373), + [anon_sym_as] = ACTIONS(375), + [anon_sym_BANG] = ACTIONS(375), + [anon_sym_DASH] = ACTIONS(375), + [anon_sym_TILDE] = ACTIONS(375), + [anon_sym_not] = ACTIONS(375), + [anon_sym_or] = ACTIONS(375), + [anon_sym_and] = ACTIONS(375), + [anon_sym_LT_EQ_GT] = ACTIONS(373), + [anon_sym_GT_EQ_LT] = ACTIONS(373), + [anon_sym_LT_LT] = ACTIONS(375), + [anon_sym_GT_GT] = ACTIONS(375), + [anon_sym_PIPE] = ACTIONS(375), + [anon_sym_AMP] = ACTIONS(375), + [anon_sym_PLUS] = ACTIONS(375), + [anon_sym_PLUS_PLUS] = ACTIONS(375), + [anon_sym_LT_GT] = ACTIONS(375), + [anon_sym_STAR] = ACTIONS(375), + [anon_sym_SLASH] = ACTIONS(375), + [anon_sym_BSLASH] = ACTIONS(375), + [anon_sym_PERCENT] = ACTIONS(375), + [anon_sym_PERCENT_PERCENT] = ACTIONS(375), + [anon_sym_EQ_EQ] = ACTIONS(373), + [anon_sym_BANG_EQ] = ACTIONS(373), + [anon_sym_GT_EQ] = ACTIONS(375), + [anon_sym_LT_EQ] = ACTIONS(375), + [anon_sym_in] = ACTIONS(375), + [anon_sym_CARET] = ACTIONS(375), + [anon_sym_DOT_DOT] = ACTIONS(375), + [anon_sym_DOT_DOT_EQ] = ACTIONS(373), + [anon_sym_LBRACK] = ACTIONS(373), + [anon_sym_DOT] = ACTIONS(375), + [anon_sym_PERCENT_LBRACE] = ACTIONS(373), + [anon_sym_for] = ACTIONS(375), + [anon_sym_if] = ACTIONS(375), + [anon_sym_while] = ACTIONS(375), + [anon_sym_return] = ACTIONS(375), + [sym_break_expression] = ACTIONS(375), + [sym_continue_expression] = ACTIONS(375), + [sym_integer] = ACTIONS(375), + [sym_float] = ACTIONS(375), + [sym_complex] = ACTIONS(373), + [anon_sym_true] = ACTIONS(375), + [anon_sym_false] = ACTIONS(375), + [anon_sym_Inf] = ACTIONS(375), + [anon_sym_NaN] = ACTIONS(375), + [anon_sym_DQUOTE] = ACTIONS(373), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(368), - [sym_raw_string] = ACTIONS(368), + [sym_named_op_assign] = ACTIONS(373), + [sym_raw_string] = ACTIONS(373), }, [61] = { - [ts_builtin_sym_end] = ACTIONS(372), - [sym_identifier] = ACTIONS(374), - [anon_sym_SEMI] = ACTIONS(372), - [anon_sym_let] = ACTIONS(374), - [anon_sym_EQ] = ACTIONS(374), - [anon_sym_COMMA] = ACTIONS(372), - [anon_sym_pure] = ACTIONS(374), - [anon_sym_fn] = ACTIONS(374), - [anon_sym_LPAREN] = ACTIONS(372), - [anon_sym_struct] = ACTIONS(374), - [anon_sym_LBRACE] = ACTIONS(372), - [anon_sym_RBRACE] = ACTIONS(372), - [anon_sym_LT] = ACTIONS(374), - [anon_sym_GT] = ACTIONS(374), - [anon_sym_PLUS_EQ] = ACTIONS(372), - [anon_sym_DASH_EQ] = ACTIONS(372), - [anon_sym_STAR_EQ] = ACTIONS(372), - [anon_sym_SLASH_EQ] = ACTIONS(372), - [anon_sym_BSLASH_EQ] = ACTIONS(372), - [anon_sym_PERCENT_EQ] = ACTIONS(372), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(372), - [anon_sym_CARET_EQ] = ACTIONS(372), - [anon_sym_AMP_EQ] = ACTIONS(372), - [anon_sym_PIPE_EQ] = ACTIONS(372), - [anon_sym_TILDE_EQ] = ACTIONS(372), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(372), - [anon_sym_LT_GT_EQ] = ACTIONS(372), - [anon_sym_LT_LT_EQ] = ACTIONS(372), - [anon_sym_GT_GT_EQ] = ACTIONS(372), - [anon_sym_BANG] = ACTIONS(374), - [anon_sym_DASH] = ACTIONS(374), - [anon_sym_TILDE] = ACTIONS(374), - [anon_sym_not] = ACTIONS(374), - [anon_sym_or] = ACTIONS(374), - [anon_sym_and] = ACTIONS(374), - [anon_sym_LT_EQ_GT] = ACTIONS(372), - [anon_sym_GT_EQ_LT] = ACTIONS(372), - [anon_sym_LT_LT] = ACTIONS(374), - [anon_sym_GT_GT] = ACTIONS(374), - [anon_sym_PIPE] = ACTIONS(374), - [anon_sym_AMP] = ACTIONS(374), - [anon_sym_PLUS] = ACTIONS(374), - [anon_sym_PLUS_PLUS] = ACTIONS(374), - [anon_sym_LT_GT] = ACTIONS(374), - [anon_sym_STAR] = ACTIONS(374), - [anon_sym_SLASH] = ACTIONS(374), - [anon_sym_BSLASH] = ACTIONS(374), - [anon_sym_PERCENT] = ACTIONS(374), - [anon_sym_PERCENT_PERCENT] = ACTIONS(374), - [anon_sym_EQ_EQ] = ACTIONS(372), - [anon_sym_BANG_EQ] = ACTIONS(372), - [anon_sym_GT_EQ] = ACTIONS(374), - [anon_sym_LT_EQ] = ACTIONS(374), - [anon_sym_in] = ACTIONS(374), - [anon_sym_CARET] = ACTIONS(374), - [anon_sym_DOT_DOT] = ACTIONS(374), - [anon_sym_DOT_DOT_EQ] = ACTIONS(372), - [anon_sym_LBRACK] = ACTIONS(372), - [anon_sym_DOT] = ACTIONS(374), - [anon_sym_PERCENT_LBRACE] = ACTIONS(372), - [anon_sym_for] = ACTIONS(374), - [anon_sym_if] = ACTIONS(374), - [anon_sym_while] = ACTIONS(374), - [anon_sym_return] = ACTIONS(374), - [sym_break_expression] = ACTIONS(374), - [sym_continue_expression] = ACTIONS(374), - [sym_integer] = ACTIONS(374), - [sym_float] = ACTIONS(374), - [sym_complex] = ACTIONS(372), - [anon_sym_true] = ACTIONS(374), - [anon_sym_false] = ACTIONS(374), - [anon_sym_Inf] = ACTIONS(374), - [anon_sym_NaN] = ACTIONS(374), - [anon_sym_DQUOTE] = ACTIONS(372), + [ts_builtin_sym_end] = ACTIONS(377), + [sym_identifier] = ACTIONS(379), + [anon_sym_SEMI] = ACTIONS(377), + [anon_sym_let] = ACTIONS(379), + [anon_sym_EQ] = ACTIONS(379), + [anon_sym_COMMA] = ACTIONS(377), + [anon_sym_pure] = ACTIONS(379), + [anon_sym_fn] = ACTIONS(379), + [anon_sym_LPAREN] = ACTIONS(377), + [anon_sym_struct] = ACTIONS(379), + [anon_sym_LBRACE] = ACTIONS(377), + [anon_sym_RBRACE] = ACTIONS(377), + [anon_sym_LT] = ACTIONS(379), + [anon_sym_GT] = ACTIONS(379), + [anon_sym_PLUS_EQ] = ACTIONS(377), + [anon_sym_DASH_EQ] = ACTIONS(377), + [anon_sym_STAR_EQ] = ACTIONS(377), + [anon_sym_SLASH_EQ] = ACTIONS(377), + [anon_sym_BSLASH_EQ] = ACTIONS(377), + [anon_sym_PERCENT_EQ] = ACTIONS(377), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(377), + [anon_sym_CARET_EQ] = ACTIONS(377), + [anon_sym_AMP_EQ] = ACTIONS(377), + [anon_sym_PIPE_EQ] = ACTIONS(377), + [anon_sym_TILDE_EQ] = ACTIONS(377), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(377), + [anon_sym_LT_GT_EQ] = ACTIONS(377), + [anon_sym_LT_LT_EQ] = ACTIONS(377), + [anon_sym_GT_GT_EQ] = ACTIONS(377), + [anon_sym_as] = ACTIONS(379), + [anon_sym_BANG] = ACTIONS(379), + [anon_sym_DASH] = ACTIONS(379), + [anon_sym_TILDE] = ACTIONS(379), + [anon_sym_not] = ACTIONS(379), + [anon_sym_or] = ACTIONS(379), + [anon_sym_and] = ACTIONS(379), + [anon_sym_LT_EQ_GT] = ACTIONS(377), + [anon_sym_GT_EQ_LT] = ACTIONS(377), + [anon_sym_LT_LT] = ACTIONS(379), + [anon_sym_GT_GT] = ACTIONS(379), + [anon_sym_PIPE] = ACTIONS(379), + [anon_sym_AMP] = ACTIONS(379), + [anon_sym_PLUS] = ACTIONS(379), + [anon_sym_PLUS_PLUS] = ACTIONS(379), + [anon_sym_LT_GT] = ACTIONS(379), + [anon_sym_STAR] = ACTIONS(379), + [anon_sym_SLASH] = ACTIONS(379), + [anon_sym_BSLASH] = ACTIONS(379), + [anon_sym_PERCENT] = ACTIONS(379), + [anon_sym_PERCENT_PERCENT] = ACTIONS(379), + [anon_sym_EQ_EQ] = ACTIONS(377), + [anon_sym_BANG_EQ] = ACTIONS(377), + [anon_sym_GT_EQ] = ACTIONS(379), + [anon_sym_LT_EQ] = ACTIONS(379), + [anon_sym_in] = ACTIONS(379), + [anon_sym_CARET] = ACTIONS(379), + [anon_sym_DOT_DOT] = ACTIONS(379), + [anon_sym_DOT_DOT_EQ] = ACTIONS(377), + [anon_sym_LBRACK] = ACTIONS(377), + [anon_sym_DOT] = ACTIONS(379), + [anon_sym_PERCENT_LBRACE] = ACTIONS(377), + [anon_sym_for] = ACTIONS(379), + [anon_sym_if] = ACTIONS(379), + [anon_sym_while] = ACTIONS(379), + [anon_sym_return] = ACTIONS(379), + [sym_break_expression] = ACTIONS(379), + [sym_continue_expression] = ACTIONS(379), + [sym_integer] = ACTIONS(379), + [sym_float] = ACTIONS(379), + [sym_complex] = ACTIONS(377), + [anon_sym_true] = ACTIONS(379), + [anon_sym_false] = ACTIONS(379), + [anon_sym_Inf] = ACTIONS(379), + [anon_sym_NaN] = ACTIONS(379), + [anon_sym_DQUOTE] = ACTIONS(377), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(372), - [sym_raw_string] = ACTIONS(372), + [sym_named_op_assign] = ACTIONS(377), + [sym_raw_string] = ACTIONS(377), }, [62] = { - [ts_builtin_sym_end] = ACTIONS(376), - [sym_identifier] = ACTIONS(378), - [anon_sym_SEMI] = ACTIONS(376), - [anon_sym_let] = ACTIONS(378), - [anon_sym_EQ] = ACTIONS(378), - [anon_sym_COMMA] = ACTIONS(376), - [anon_sym_pure] = ACTIONS(378), - [anon_sym_fn] = ACTIONS(378), - [anon_sym_LPAREN] = ACTIONS(376), - [anon_sym_struct] = ACTIONS(378), - [anon_sym_LBRACE] = ACTIONS(376), - [anon_sym_RBRACE] = ACTIONS(376), - [anon_sym_LT] = ACTIONS(378), - [anon_sym_GT] = ACTIONS(378), - [anon_sym_PLUS_EQ] = ACTIONS(376), - [anon_sym_DASH_EQ] = ACTIONS(376), - [anon_sym_STAR_EQ] = ACTIONS(376), - [anon_sym_SLASH_EQ] = ACTIONS(376), - [anon_sym_BSLASH_EQ] = ACTIONS(376), - [anon_sym_PERCENT_EQ] = ACTIONS(376), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(376), - [anon_sym_CARET_EQ] = ACTIONS(376), - [anon_sym_AMP_EQ] = ACTIONS(376), - [anon_sym_PIPE_EQ] = ACTIONS(376), - [anon_sym_TILDE_EQ] = ACTIONS(376), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(376), - [anon_sym_LT_GT_EQ] = ACTIONS(376), - [anon_sym_LT_LT_EQ] = ACTIONS(376), - [anon_sym_GT_GT_EQ] = ACTIONS(376), - [anon_sym_BANG] = ACTIONS(378), - [anon_sym_DASH] = ACTIONS(378), - [anon_sym_TILDE] = ACTIONS(378), - [anon_sym_not] = ACTIONS(378), - [anon_sym_or] = ACTIONS(378), - [anon_sym_and] = ACTIONS(378), - [anon_sym_LT_EQ_GT] = ACTIONS(376), - [anon_sym_GT_EQ_LT] = ACTIONS(376), - [anon_sym_LT_LT] = ACTIONS(378), - [anon_sym_GT_GT] = ACTIONS(378), - [anon_sym_PIPE] = ACTIONS(378), - [anon_sym_AMP] = ACTIONS(378), - [anon_sym_PLUS] = ACTIONS(378), - [anon_sym_PLUS_PLUS] = ACTIONS(378), - [anon_sym_LT_GT] = ACTIONS(378), - [anon_sym_STAR] = ACTIONS(378), - [anon_sym_SLASH] = ACTIONS(378), - [anon_sym_BSLASH] = ACTIONS(378), - [anon_sym_PERCENT] = ACTIONS(378), - [anon_sym_PERCENT_PERCENT] = ACTIONS(378), - [anon_sym_EQ_EQ] = ACTIONS(376), - [anon_sym_BANG_EQ] = ACTIONS(376), - [anon_sym_GT_EQ] = ACTIONS(378), - [anon_sym_LT_EQ] = ACTIONS(378), - [anon_sym_in] = ACTIONS(378), - [anon_sym_CARET] = ACTIONS(378), - [anon_sym_DOT_DOT] = ACTIONS(378), - [anon_sym_DOT_DOT_EQ] = ACTIONS(376), - [anon_sym_LBRACK] = ACTIONS(376), - [anon_sym_DOT] = ACTIONS(378), - [anon_sym_PERCENT_LBRACE] = ACTIONS(376), - [anon_sym_for] = ACTIONS(378), - [anon_sym_if] = ACTIONS(378), - [anon_sym_while] = ACTIONS(378), - [anon_sym_return] = ACTIONS(378), - [sym_break_expression] = ACTIONS(378), - [sym_continue_expression] = ACTIONS(378), - [sym_integer] = ACTIONS(378), - [sym_float] = ACTIONS(378), - [sym_complex] = ACTIONS(376), - [anon_sym_true] = ACTIONS(378), - [anon_sym_false] = ACTIONS(378), - [anon_sym_Inf] = ACTIONS(378), - [anon_sym_NaN] = ACTIONS(378), - [anon_sym_DQUOTE] = ACTIONS(376), + [ts_builtin_sym_end] = ACTIONS(381), + [sym_identifier] = ACTIONS(383), + [anon_sym_SEMI] = ACTIONS(381), + [anon_sym_let] = ACTIONS(383), + [anon_sym_EQ] = ACTIONS(383), + [anon_sym_COMMA] = ACTIONS(381), + [anon_sym_pure] = ACTIONS(383), + [anon_sym_fn] = ACTIONS(383), + [anon_sym_LPAREN] = ACTIONS(381), + [anon_sym_struct] = ACTIONS(383), + [anon_sym_LBRACE] = ACTIONS(381), + [anon_sym_RBRACE] = ACTIONS(381), + [anon_sym_LT] = ACTIONS(383), + [anon_sym_GT] = ACTIONS(383), + [anon_sym_PLUS_EQ] = ACTIONS(381), + [anon_sym_DASH_EQ] = ACTIONS(381), + [anon_sym_STAR_EQ] = ACTIONS(381), + [anon_sym_SLASH_EQ] = ACTIONS(381), + [anon_sym_BSLASH_EQ] = ACTIONS(381), + [anon_sym_PERCENT_EQ] = ACTIONS(381), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(381), + [anon_sym_CARET_EQ] = ACTIONS(381), + [anon_sym_AMP_EQ] = ACTIONS(381), + [anon_sym_PIPE_EQ] = ACTIONS(381), + [anon_sym_TILDE_EQ] = ACTIONS(381), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(381), + [anon_sym_LT_GT_EQ] = ACTIONS(381), + [anon_sym_LT_LT_EQ] = ACTIONS(381), + [anon_sym_GT_GT_EQ] = ACTIONS(381), + [anon_sym_as] = ACTIONS(383), + [anon_sym_BANG] = ACTIONS(383), + [anon_sym_DASH] = ACTIONS(383), + [anon_sym_TILDE] = ACTIONS(383), + [anon_sym_not] = ACTIONS(383), + [anon_sym_or] = ACTIONS(383), + [anon_sym_and] = ACTIONS(383), + [anon_sym_LT_EQ_GT] = ACTIONS(381), + [anon_sym_GT_EQ_LT] = ACTIONS(381), + [anon_sym_LT_LT] = ACTIONS(383), + [anon_sym_GT_GT] = ACTIONS(383), + [anon_sym_PIPE] = ACTIONS(383), + [anon_sym_AMP] = ACTIONS(383), + [anon_sym_PLUS] = ACTIONS(383), + [anon_sym_PLUS_PLUS] = ACTIONS(383), + [anon_sym_LT_GT] = ACTIONS(383), + [anon_sym_STAR] = ACTIONS(383), + [anon_sym_SLASH] = ACTIONS(383), + [anon_sym_BSLASH] = ACTIONS(383), + [anon_sym_PERCENT] = ACTIONS(383), + [anon_sym_PERCENT_PERCENT] = ACTIONS(383), + [anon_sym_EQ_EQ] = ACTIONS(381), + [anon_sym_BANG_EQ] = ACTIONS(381), + [anon_sym_GT_EQ] = ACTIONS(383), + [anon_sym_LT_EQ] = ACTIONS(383), + [anon_sym_in] = ACTIONS(383), + [anon_sym_CARET] = ACTIONS(383), + [anon_sym_DOT_DOT] = ACTIONS(383), + [anon_sym_DOT_DOT_EQ] = ACTIONS(381), + [anon_sym_LBRACK] = ACTIONS(381), + [anon_sym_DOT] = ACTIONS(383), + [anon_sym_PERCENT_LBRACE] = ACTIONS(381), + [anon_sym_for] = ACTIONS(383), + [anon_sym_if] = ACTIONS(383), + [anon_sym_while] = ACTIONS(383), + [anon_sym_return] = ACTIONS(383), + [sym_break_expression] = ACTIONS(383), + [sym_continue_expression] = ACTIONS(383), + [sym_integer] = ACTIONS(383), + [sym_float] = ACTIONS(383), + [sym_complex] = ACTIONS(381), + [anon_sym_true] = ACTIONS(383), + [anon_sym_false] = ACTIONS(383), + [anon_sym_Inf] = ACTIONS(383), + [anon_sym_NaN] = ACTIONS(383), + [anon_sym_DQUOTE] = ACTIONS(381), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(376), - [sym_raw_string] = ACTIONS(376), + [sym_named_op_assign] = ACTIONS(381), + [sym_raw_string] = ACTIONS(381), }, [63] = { - [ts_builtin_sym_end] = ACTIONS(380), - [sym_identifier] = ACTIONS(382), - [anon_sym_SEMI] = ACTIONS(380), - [anon_sym_let] = ACTIONS(382), - [anon_sym_EQ] = ACTIONS(382), - [anon_sym_COMMA] = ACTIONS(380), - [anon_sym_pure] = ACTIONS(382), - [anon_sym_fn] = ACTIONS(382), - [anon_sym_LPAREN] = ACTIONS(380), - [anon_sym_struct] = ACTIONS(382), - [anon_sym_LBRACE] = ACTIONS(380), - [anon_sym_RBRACE] = ACTIONS(380), - [anon_sym_LT] = ACTIONS(382), - [anon_sym_GT] = ACTIONS(382), - [anon_sym_PLUS_EQ] = ACTIONS(380), - [anon_sym_DASH_EQ] = ACTIONS(380), - [anon_sym_STAR_EQ] = ACTIONS(380), - [anon_sym_SLASH_EQ] = ACTIONS(380), - [anon_sym_BSLASH_EQ] = ACTIONS(380), - [anon_sym_PERCENT_EQ] = ACTIONS(380), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(380), - [anon_sym_CARET_EQ] = ACTIONS(380), - [anon_sym_AMP_EQ] = ACTIONS(380), - [anon_sym_PIPE_EQ] = ACTIONS(380), - [anon_sym_TILDE_EQ] = ACTIONS(380), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(380), - [anon_sym_LT_GT_EQ] = ACTIONS(380), - [anon_sym_LT_LT_EQ] = ACTIONS(380), - [anon_sym_GT_GT_EQ] = ACTIONS(380), - [anon_sym_BANG] = ACTIONS(382), - [anon_sym_DASH] = ACTIONS(382), - [anon_sym_TILDE] = ACTIONS(382), - [anon_sym_not] = ACTIONS(382), - [anon_sym_or] = ACTIONS(382), - [anon_sym_and] = ACTIONS(382), - [anon_sym_LT_EQ_GT] = ACTIONS(380), - [anon_sym_GT_EQ_LT] = ACTIONS(380), - [anon_sym_LT_LT] = ACTIONS(382), - [anon_sym_GT_GT] = ACTIONS(382), - [anon_sym_PIPE] = ACTIONS(382), - [anon_sym_AMP] = ACTIONS(382), - [anon_sym_PLUS] = ACTIONS(382), - [anon_sym_PLUS_PLUS] = ACTIONS(382), - [anon_sym_LT_GT] = ACTIONS(382), - [anon_sym_STAR] = ACTIONS(382), - [anon_sym_SLASH] = ACTIONS(382), - [anon_sym_BSLASH] = ACTIONS(382), - [anon_sym_PERCENT] = ACTIONS(382), - [anon_sym_PERCENT_PERCENT] = ACTIONS(382), - [anon_sym_EQ_EQ] = ACTIONS(380), - [anon_sym_BANG_EQ] = ACTIONS(380), - [anon_sym_GT_EQ] = ACTIONS(382), - [anon_sym_LT_EQ] = ACTIONS(382), - [anon_sym_in] = ACTIONS(382), - [anon_sym_CARET] = ACTIONS(382), - [anon_sym_DOT_DOT] = ACTIONS(382), - [anon_sym_DOT_DOT_EQ] = ACTIONS(380), - [anon_sym_LBRACK] = ACTIONS(380), - [anon_sym_DOT] = ACTIONS(382), - [anon_sym_PERCENT_LBRACE] = ACTIONS(380), - [anon_sym_for] = ACTIONS(382), - [anon_sym_if] = ACTIONS(382), - [anon_sym_while] = ACTIONS(382), - [anon_sym_return] = ACTIONS(382), - [sym_break_expression] = ACTIONS(382), - [sym_continue_expression] = ACTIONS(382), - [sym_integer] = ACTIONS(382), - [sym_float] = ACTIONS(382), - [sym_complex] = ACTIONS(380), - [anon_sym_true] = ACTIONS(382), - [anon_sym_false] = ACTIONS(382), - [anon_sym_Inf] = ACTIONS(382), - [anon_sym_NaN] = ACTIONS(382), - [anon_sym_DQUOTE] = ACTIONS(380), + [ts_builtin_sym_end] = ACTIONS(385), + [sym_identifier] = ACTIONS(387), + [anon_sym_SEMI] = ACTIONS(385), + [anon_sym_let] = ACTIONS(387), + [anon_sym_EQ] = ACTIONS(387), + [anon_sym_COMMA] = ACTIONS(385), + [anon_sym_pure] = ACTIONS(387), + [anon_sym_fn] = ACTIONS(387), + [anon_sym_LPAREN] = ACTIONS(385), + [anon_sym_struct] = ACTIONS(387), + [anon_sym_LBRACE] = ACTIONS(385), + [anon_sym_RBRACE] = ACTIONS(385), + [anon_sym_LT] = ACTIONS(387), + [anon_sym_GT] = ACTIONS(387), + [anon_sym_PLUS_EQ] = ACTIONS(385), + [anon_sym_DASH_EQ] = ACTIONS(385), + [anon_sym_STAR_EQ] = ACTIONS(385), + [anon_sym_SLASH_EQ] = ACTIONS(385), + [anon_sym_BSLASH_EQ] = ACTIONS(385), + [anon_sym_PERCENT_EQ] = ACTIONS(385), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(385), + [anon_sym_CARET_EQ] = ACTIONS(385), + [anon_sym_AMP_EQ] = ACTIONS(385), + [anon_sym_PIPE_EQ] = ACTIONS(385), + [anon_sym_TILDE_EQ] = ACTIONS(385), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(385), + [anon_sym_LT_GT_EQ] = ACTIONS(385), + [anon_sym_LT_LT_EQ] = ACTIONS(385), + [anon_sym_GT_GT_EQ] = ACTIONS(385), + [anon_sym_as] = ACTIONS(387), + [anon_sym_BANG] = ACTIONS(387), + [anon_sym_DASH] = ACTIONS(387), + [anon_sym_TILDE] = ACTIONS(387), + [anon_sym_not] = ACTIONS(387), + [anon_sym_or] = ACTIONS(387), + [anon_sym_and] = ACTIONS(387), + [anon_sym_LT_EQ_GT] = ACTIONS(385), + [anon_sym_GT_EQ_LT] = ACTIONS(385), + [anon_sym_LT_LT] = ACTIONS(387), + [anon_sym_GT_GT] = ACTIONS(387), + [anon_sym_PIPE] = ACTIONS(387), + [anon_sym_AMP] = ACTIONS(387), + [anon_sym_PLUS] = ACTIONS(387), + [anon_sym_PLUS_PLUS] = ACTIONS(387), + [anon_sym_LT_GT] = ACTIONS(387), + [anon_sym_STAR] = ACTIONS(387), + [anon_sym_SLASH] = ACTIONS(387), + [anon_sym_BSLASH] = ACTIONS(387), + [anon_sym_PERCENT] = ACTIONS(387), + [anon_sym_PERCENT_PERCENT] = ACTIONS(387), + [anon_sym_EQ_EQ] = ACTIONS(385), + [anon_sym_BANG_EQ] = ACTIONS(385), + [anon_sym_GT_EQ] = ACTIONS(387), + [anon_sym_LT_EQ] = ACTIONS(387), + [anon_sym_in] = ACTIONS(387), + [anon_sym_CARET] = ACTIONS(387), + [anon_sym_DOT_DOT] = ACTIONS(387), + [anon_sym_DOT_DOT_EQ] = ACTIONS(385), + [anon_sym_LBRACK] = ACTIONS(385), + [anon_sym_DOT] = ACTIONS(387), + [anon_sym_PERCENT_LBRACE] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_if] = ACTIONS(387), + [anon_sym_while] = ACTIONS(387), + [anon_sym_return] = ACTIONS(387), + [sym_break_expression] = ACTIONS(387), + [sym_continue_expression] = ACTIONS(387), + [sym_integer] = ACTIONS(387), + [sym_float] = ACTIONS(387), + [sym_complex] = ACTIONS(385), + [anon_sym_true] = ACTIONS(387), + [anon_sym_false] = ACTIONS(387), + [anon_sym_Inf] = ACTIONS(387), + [anon_sym_NaN] = ACTIONS(387), + [anon_sym_DQUOTE] = ACTIONS(385), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(380), - [sym_raw_string] = ACTIONS(380), + [sym_named_op_assign] = ACTIONS(385), + [sym_raw_string] = ACTIONS(385), }, [64] = { - [ts_builtin_sym_end] = ACTIONS(384), - [sym_identifier] = ACTIONS(386), - [anon_sym_SEMI] = ACTIONS(384), - [anon_sym_let] = ACTIONS(386), - [anon_sym_EQ] = ACTIONS(386), - [anon_sym_COMMA] = ACTIONS(384), - [anon_sym_pure] = ACTIONS(386), - [anon_sym_fn] = ACTIONS(386), - [anon_sym_LPAREN] = ACTIONS(384), - [anon_sym_struct] = ACTIONS(386), - [anon_sym_LBRACE] = ACTIONS(384), - [anon_sym_RBRACE] = ACTIONS(384), - [anon_sym_LT] = ACTIONS(386), - [anon_sym_GT] = ACTIONS(386), - [anon_sym_PLUS_EQ] = ACTIONS(384), - [anon_sym_DASH_EQ] = ACTIONS(384), - [anon_sym_STAR_EQ] = ACTIONS(384), - [anon_sym_SLASH_EQ] = ACTIONS(384), - [anon_sym_BSLASH_EQ] = ACTIONS(384), - [anon_sym_PERCENT_EQ] = ACTIONS(384), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(384), - [anon_sym_CARET_EQ] = ACTIONS(384), - [anon_sym_AMP_EQ] = ACTIONS(384), - [anon_sym_PIPE_EQ] = ACTIONS(384), - [anon_sym_TILDE_EQ] = ACTIONS(384), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(384), - [anon_sym_LT_GT_EQ] = ACTIONS(384), - [anon_sym_LT_LT_EQ] = ACTIONS(384), - [anon_sym_GT_GT_EQ] = ACTIONS(384), - [anon_sym_BANG] = ACTIONS(386), - [anon_sym_DASH] = ACTIONS(386), - [anon_sym_TILDE] = ACTIONS(386), - [anon_sym_not] = ACTIONS(386), - [anon_sym_or] = ACTIONS(386), - [anon_sym_and] = ACTIONS(386), - [anon_sym_LT_EQ_GT] = ACTIONS(384), - [anon_sym_GT_EQ_LT] = ACTIONS(384), - [anon_sym_LT_LT] = ACTIONS(386), - [anon_sym_GT_GT] = ACTIONS(386), - [anon_sym_PIPE] = ACTIONS(386), - [anon_sym_AMP] = ACTIONS(386), - [anon_sym_PLUS] = ACTIONS(386), - [anon_sym_PLUS_PLUS] = ACTIONS(386), - [anon_sym_LT_GT] = ACTIONS(386), - [anon_sym_STAR] = ACTIONS(386), - [anon_sym_SLASH] = ACTIONS(386), - [anon_sym_BSLASH] = ACTIONS(386), - [anon_sym_PERCENT] = ACTIONS(386), - [anon_sym_PERCENT_PERCENT] = ACTIONS(386), - [anon_sym_EQ_EQ] = ACTIONS(384), - [anon_sym_BANG_EQ] = ACTIONS(384), - [anon_sym_GT_EQ] = ACTIONS(386), - [anon_sym_LT_EQ] = ACTIONS(386), - [anon_sym_in] = ACTIONS(386), - [anon_sym_CARET] = ACTIONS(386), - [anon_sym_DOT_DOT] = ACTIONS(386), - [anon_sym_DOT_DOT_EQ] = ACTIONS(384), - [anon_sym_LBRACK] = ACTIONS(384), - [anon_sym_DOT] = ACTIONS(386), - [anon_sym_PERCENT_LBRACE] = ACTIONS(384), - [anon_sym_for] = ACTIONS(386), - [anon_sym_if] = ACTIONS(386), - [anon_sym_while] = ACTIONS(386), - [anon_sym_return] = ACTIONS(386), - [sym_break_expression] = ACTIONS(386), - [sym_continue_expression] = ACTIONS(386), - [sym_integer] = ACTIONS(386), - [sym_float] = ACTIONS(386), - [sym_complex] = ACTIONS(384), - [anon_sym_true] = ACTIONS(386), - [anon_sym_false] = ACTIONS(386), - [anon_sym_Inf] = ACTIONS(386), - [anon_sym_NaN] = ACTIONS(386), - [anon_sym_DQUOTE] = ACTIONS(384), + [ts_builtin_sym_end] = ACTIONS(389), + [sym_identifier] = ACTIONS(391), + [anon_sym_SEMI] = ACTIONS(389), + [anon_sym_let] = ACTIONS(391), + [anon_sym_EQ] = ACTIONS(391), + [anon_sym_COMMA] = ACTIONS(389), + [anon_sym_pure] = ACTIONS(391), + [anon_sym_fn] = ACTIONS(391), + [anon_sym_LPAREN] = ACTIONS(389), + [anon_sym_struct] = ACTIONS(391), + [anon_sym_LBRACE] = ACTIONS(389), + [anon_sym_RBRACE] = ACTIONS(389), + [anon_sym_LT] = ACTIONS(391), + [anon_sym_GT] = ACTIONS(391), + [anon_sym_PLUS_EQ] = ACTIONS(389), + [anon_sym_DASH_EQ] = ACTIONS(389), + [anon_sym_STAR_EQ] = ACTIONS(389), + [anon_sym_SLASH_EQ] = ACTIONS(389), + [anon_sym_BSLASH_EQ] = ACTIONS(389), + [anon_sym_PERCENT_EQ] = ACTIONS(389), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(389), + [anon_sym_CARET_EQ] = ACTIONS(389), + [anon_sym_AMP_EQ] = ACTIONS(389), + [anon_sym_PIPE_EQ] = ACTIONS(389), + [anon_sym_TILDE_EQ] = ACTIONS(389), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(389), + [anon_sym_LT_GT_EQ] = ACTIONS(389), + [anon_sym_LT_LT_EQ] = ACTIONS(389), + [anon_sym_GT_GT_EQ] = ACTIONS(389), + [anon_sym_as] = ACTIONS(391), + [anon_sym_BANG] = ACTIONS(391), + [anon_sym_DASH] = ACTIONS(391), + [anon_sym_TILDE] = ACTIONS(391), + [anon_sym_not] = ACTIONS(391), + [anon_sym_or] = ACTIONS(391), + [anon_sym_and] = ACTIONS(391), + [anon_sym_LT_EQ_GT] = ACTIONS(389), + [anon_sym_GT_EQ_LT] = ACTIONS(389), + [anon_sym_LT_LT] = ACTIONS(391), + [anon_sym_GT_GT] = ACTIONS(391), + [anon_sym_PIPE] = ACTIONS(391), + [anon_sym_AMP] = ACTIONS(391), + [anon_sym_PLUS] = ACTIONS(391), + [anon_sym_PLUS_PLUS] = ACTIONS(391), + [anon_sym_LT_GT] = ACTIONS(391), + [anon_sym_STAR] = ACTIONS(391), + [anon_sym_SLASH] = ACTIONS(391), + [anon_sym_BSLASH] = ACTIONS(391), + [anon_sym_PERCENT] = ACTIONS(391), + [anon_sym_PERCENT_PERCENT] = ACTIONS(391), + [anon_sym_EQ_EQ] = ACTIONS(389), + [anon_sym_BANG_EQ] = ACTIONS(389), + [anon_sym_GT_EQ] = ACTIONS(391), + [anon_sym_LT_EQ] = ACTIONS(391), + [anon_sym_in] = ACTIONS(391), + [anon_sym_CARET] = ACTIONS(391), + [anon_sym_DOT_DOT] = ACTIONS(391), + [anon_sym_DOT_DOT_EQ] = ACTIONS(389), + [anon_sym_LBRACK] = ACTIONS(389), + [anon_sym_DOT] = ACTIONS(391), + [anon_sym_PERCENT_LBRACE] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_if] = ACTIONS(391), + [anon_sym_while] = ACTIONS(391), + [anon_sym_return] = ACTIONS(391), + [sym_break_expression] = ACTIONS(391), + [sym_continue_expression] = ACTIONS(391), + [sym_integer] = ACTIONS(391), + [sym_float] = ACTIONS(391), + [sym_complex] = ACTIONS(389), + [anon_sym_true] = ACTIONS(391), + [anon_sym_false] = ACTIONS(391), + [anon_sym_Inf] = ACTIONS(391), + [anon_sym_NaN] = ACTIONS(391), + [anon_sym_DQUOTE] = ACTIONS(389), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(384), - [sym_raw_string] = ACTIONS(384), + [sym_named_op_assign] = ACTIONS(389), + [sym_raw_string] = ACTIONS(389), }, [65] = { - [ts_builtin_sym_end] = ACTIONS(388), - [sym_identifier] = ACTIONS(390), - [anon_sym_SEMI] = ACTIONS(388), - [anon_sym_let] = ACTIONS(390), - [anon_sym_EQ] = ACTIONS(390), - [anon_sym_COMMA] = ACTIONS(388), - [anon_sym_pure] = ACTIONS(390), - [anon_sym_fn] = ACTIONS(390), - [anon_sym_LPAREN] = ACTIONS(388), - [anon_sym_struct] = ACTIONS(390), - [anon_sym_LBRACE] = ACTIONS(388), - [anon_sym_RBRACE] = ACTIONS(388), - [anon_sym_LT] = ACTIONS(390), - [anon_sym_GT] = ACTIONS(390), - [anon_sym_PLUS_EQ] = ACTIONS(388), - [anon_sym_DASH_EQ] = ACTIONS(388), - [anon_sym_STAR_EQ] = ACTIONS(388), - [anon_sym_SLASH_EQ] = ACTIONS(388), - [anon_sym_BSLASH_EQ] = ACTIONS(388), - [anon_sym_PERCENT_EQ] = ACTIONS(388), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(388), - [anon_sym_CARET_EQ] = ACTIONS(388), - [anon_sym_AMP_EQ] = ACTIONS(388), - [anon_sym_PIPE_EQ] = ACTIONS(388), - [anon_sym_TILDE_EQ] = ACTIONS(388), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(388), - [anon_sym_LT_GT_EQ] = ACTIONS(388), - [anon_sym_LT_LT_EQ] = ACTIONS(388), - [anon_sym_GT_GT_EQ] = ACTIONS(388), - [anon_sym_BANG] = ACTIONS(390), - [anon_sym_DASH] = ACTIONS(390), - [anon_sym_TILDE] = ACTIONS(390), - [anon_sym_not] = ACTIONS(390), - [anon_sym_or] = ACTIONS(390), - [anon_sym_and] = ACTIONS(390), - [anon_sym_LT_EQ_GT] = ACTIONS(388), - [anon_sym_GT_EQ_LT] = ACTIONS(388), - [anon_sym_LT_LT] = ACTIONS(390), - [anon_sym_GT_GT] = ACTIONS(390), - [anon_sym_PIPE] = ACTIONS(390), - [anon_sym_AMP] = ACTIONS(390), - [anon_sym_PLUS] = ACTIONS(390), - [anon_sym_PLUS_PLUS] = ACTIONS(390), - [anon_sym_LT_GT] = ACTIONS(390), - [anon_sym_STAR] = ACTIONS(390), - [anon_sym_SLASH] = ACTIONS(390), - [anon_sym_BSLASH] = ACTIONS(390), - [anon_sym_PERCENT] = ACTIONS(390), - [anon_sym_PERCENT_PERCENT] = ACTIONS(390), - [anon_sym_EQ_EQ] = ACTIONS(388), - [anon_sym_BANG_EQ] = ACTIONS(388), - [anon_sym_GT_EQ] = ACTIONS(390), - [anon_sym_LT_EQ] = ACTIONS(390), - [anon_sym_in] = ACTIONS(390), - [anon_sym_CARET] = ACTIONS(390), - [anon_sym_DOT_DOT] = ACTIONS(390), - [anon_sym_DOT_DOT_EQ] = ACTIONS(388), - [anon_sym_LBRACK] = ACTIONS(388), - [anon_sym_DOT] = ACTIONS(390), - [anon_sym_PERCENT_LBRACE] = ACTIONS(388), - [anon_sym_for] = ACTIONS(390), - [anon_sym_if] = ACTIONS(390), - [anon_sym_while] = ACTIONS(390), - [anon_sym_return] = ACTIONS(390), - [sym_break_expression] = ACTIONS(390), - [sym_continue_expression] = ACTIONS(390), - [sym_integer] = ACTIONS(390), - [sym_float] = ACTIONS(390), - [sym_complex] = ACTIONS(388), - [anon_sym_true] = ACTIONS(390), - [anon_sym_false] = ACTIONS(390), - [anon_sym_Inf] = ACTIONS(390), - [anon_sym_NaN] = ACTIONS(390), - [anon_sym_DQUOTE] = ACTIONS(388), + [ts_builtin_sym_end] = ACTIONS(393), + [sym_identifier] = ACTIONS(395), + [anon_sym_SEMI] = ACTIONS(393), + [anon_sym_let] = ACTIONS(395), + [anon_sym_EQ] = ACTIONS(395), + [anon_sym_COMMA] = ACTIONS(393), + [anon_sym_pure] = ACTIONS(395), + [anon_sym_fn] = ACTIONS(395), + [anon_sym_LPAREN] = ACTIONS(393), + [anon_sym_struct] = ACTIONS(395), + [anon_sym_LBRACE] = ACTIONS(393), + [anon_sym_RBRACE] = ACTIONS(393), + [anon_sym_LT] = ACTIONS(395), + [anon_sym_GT] = ACTIONS(395), + [anon_sym_PLUS_EQ] = ACTIONS(393), + [anon_sym_DASH_EQ] = ACTIONS(393), + [anon_sym_STAR_EQ] = ACTIONS(393), + [anon_sym_SLASH_EQ] = ACTIONS(393), + [anon_sym_BSLASH_EQ] = ACTIONS(393), + [anon_sym_PERCENT_EQ] = ACTIONS(393), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(393), + [anon_sym_CARET_EQ] = ACTIONS(393), + [anon_sym_AMP_EQ] = ACTIONS(393), + [anon_sym_PIPE_EQ] = ACTIONS(393), + [anon_sym_TILDE_EQ] = ACTIONS(393), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(393), + [anon_sym_LT_GT_EQ] = ACTIONS(393), + [anon_sym_LT_LT_EQ] = ACTIONS(393), + [anon_sym_GT_GT_EQ] = ACTIONS(393), + [anon_sym_as] = ACTIONS(395), + [anon_sym_BANG] = ACTIONS(395), + [anon_sym_DASH] = ACTIONS(395), + [anon_sym_TILDE] = ACTIONS(395), + [anon_sym_not] = ACTIONS(395), + [anon_sym_or] = ACTIONS(395), + [anon_sym_and] = ACTIONS(395), + [anon_sym_LT_EQ_GT] = ACTIONS(393), + [anon_sym_GT_EQ_LT] = ACTIONS(393), + [anon_sym_LT_LT] = ACTIONS(395), + [anon_sym_GT_GT] = ACTIONS(395), + [anon_sym_PIPE] = ACTIONS(395), + [anon_sym_AMP] = ACTIONS(395), + [anon_sym_PLUS] = ACTIONS(395), + [anon_sym_PLUS_PLUS] = ACTIONS(395), + [anon_sym_LT_GT] = ACTIONS(395), + [anon_sym_STAR] = ACTIONS(395), + [anon_sym_SLASH] = ACTIONS(395), + [anon_sym_BSLASH] = ACTIONS(395), + [anon_sym_PERCENT] = ACTIONS(395), + [anon_sym_PERCENT_PERCENT] = ACTIONS(395), + [anon_sym_EQ_EQ] = ACTIONS(393), + [anon_sym_BANG_EQ] = ACTIONS(393), + [anon_sym_GT_EQ] = ACTIONS(395), + [anon_sym_LT_EQ] = ACTIONS(395), + [anon_sym_in] = ACTIONS(395), + [anon_sym_CARET] = ACTIONS(395), + [anon_sym_DOT_DOT] = ACTIONS(395), + [anon_sym_DOT_DOT_EQ] = ACTIONS(393), + [anon_sym_LBRACK] = ACTIONS(393), + [anon_sym_DOT] = ACTIONS(395), + [anon_sym_PERCENT_LBRACE] = ACTIONS(393), + [anon_sym_for] = ACTIONS(395), + [anon_sym_if] = ACTIONS(395), + [anon_sym_while] = ACTIONS(395), + [anon_sym_return] = ACTIONS(395), + [sym_break_expression] = ACTIONS(395), + [sym_continue_expression] = ACTIONS(395), + [sym_integer] = ACTIONS(395), + [sym_float] = ACTIONS(395), + [sym_complex] = ACTIONS(393), + [anon_sym_true] = ACTIONS(395), + [anon_sym_false] = ACTIONS(395), + [anon_sym_Inf] = ACTIONS(395), + [anon_sym_NaN] = ACTIONS(395), + [anon_sym_DQUOTE] = ACTIONS(393), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(388), - [sym_raw_string] = ACTIONS(388), + [sym_named_op_assign] = ACTIONS(393), + [sym_raw_string] = ACTIONS(393), }, [66] = { - [ts_builtin_sym_end] = ACTIONS(392), - [sym_identifier] = ACTIONS(394), - [anon_sym_SEMI] = ACTIONS(392), - [anon_sym_let] = ACTIONS(394), - [anon_sym_EQ] = ACTIONS(394), - [anon_sym_COMMA] = ACTIONS(392), - [anon_sym_pure] = ACTIONS(394), - [anon_sym_fn] = ACTIONS(394), - [anon_sym_LPAREN] = ACTIONS(392), - [anon_sym_struct] = ACTIONS(394), - [anon_sym_LBRACE] = ACTIONS(392), - [anon_sym_RBRACE] = ACTIONS(392), - [anon_sym_LT] = ACTIONS(394), - [anon_sym_GT] = ACTIONS(394), - [anon_sym_PLUS_EQ] = ACTIONS(392), - [anon_sym_DASH_EQ] = ACTIONS(392), - [anon_sym_STAR_EQ] = ACTIONS(392), - [anon_sym_SLASH_EQ] = ACTIONS(392), - [anon_sym_BSLASH_EQ] = ACTIONS(392), - [anon_sym_PERCENT_EQ] = ACTIONS(392), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(392), - [anon_sym_CARET_EQ] = ACTIONS(392), - [anon_sym_AMP_EQ] = ACTIONS(392), - [anon_sym_PIPE_EQ] = ACTIONS(392), - [anon_sym_TILDE_EQ] = ACTIONS(392), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(392), - [anon_sym_LT_GT_EQ] = ACTIONS(392), - [anon_sym_LT_LT_EQ] = ACTIONS(392), - [anon_sym_GT_GT_EQ] = ACTIONS(392), - [anon_sym_BANG] = ACTIONS(394), - [anon_sym_DASH] = ACTIONS(394), - [anon_sym_TILDE] = ACTIONS(394), - [anon_sym_not] = ACTIONS(394), - [anon_sym_or] = ACTIONS(394), - [anon_sym_and] = ACTIONS(394), - [anon_sym_LT_EQ_GT] = ACTIONS(392), - [anon_sym_GT_EQ_LT] = ACTIONS(392), - [anon_sym_LT_LT] = ACTIONS(394), - [anon_sym_GT_GT] = ACTIONS(394), - [anon_sym_PIPE] = ACTIONS(394), - [anon_sym_AMP] = ACTIONS(394), - [anon_sym_PLUS] = ACTIONS(394), - [anon_sym_PLUS_PLUS] = ACTIONS(394), - [anon_sym_LT_GT] = ACTIONS(394), - [anon_sym_STAR] = ACTIONS(394), - [anon_sym_SLASH] = ACTIONS(394), - [anon_sym_BSLASH] = ACTIONS(394), - [anon_sym_PERCENT] = ACTIONS(394), - [anon_sym_PERCENT_PERCENT] = ACTIONS(394), - [anon_sym_EQ_EQ] = ACTIONS(392), - [anon_sym_BANG_EQ] = ACTIONS(392), - [anon_sym_GT_EQ] = ACTIONS(394), - [anon_sym_LT_EQ] = ACTIONS(394), - [anon_sym_in] = ACTIONS(394), - [anon_sym_CARET] = ACTIONS(394), - [anon_sym_DOT_DOT] = ACTIONS(394), - [anon_sym_DOT_DOT_EQ] = ACTIONS(392), - [anon_sym_LBRACK] = ACTIONS(392), - [anon_sym_DOT] = ACTIONS(394), - [anon_sym_PERCENT_LBRACE] = ACTIONS(392), - [anon_sym_for] = ACTIONS(394), - [anon_sym_if] = ACTIONS(394), - [anon_sym_while] = ACTIONS(394), - [anon_sym_return] = ACTIONS(394), - [sym_break_expression] = ACTIONS(394), - [sym_continue_expression] = ACTIONS(394), - [sym_integer] = ACTIONS(394), - [sym_float] = ACTIONS(394), - [sym_complex] = ACTIONS(392), - [anon_sym_true] = ACTIONS(394), - [anon_sym_false] = ACTIONS(394), - [anon_sym_Inf] = ACTIONS(394), - [anon_sym_NaN] = ACTIONS(394), - [anon_sym_DQUOTE] = ACTIONS(392), + [ts_builtin_sym_end] = ACTIONS(397), + [sym_identifier] = ACTIONS(399), + [anon_sym_SEMI] = ACTIONS(397), + [anon_sym_let] = ACTIONS(399), + [anon_sym_EQ] = ACTIONS(399), + [anon_sym_COMMA] = ACTIONS(397), + [anon_sym_pure] = ACTIONS(399), + [anon_sym_fn] = ACTIONS(399), + [anon_sym_LPAREN] = ACTIONS(397), + [anon_sym_struct] = ACTIONS(399), + [anon_sym_LBRACE] = ACTIONS(397), + [anon_sym_RBRACE] = ACTIONS(397), + [anon_sym_LT] = ACTIONS(399), + [anon_sym_GT] = ACTIONS(399), + [anon_sym_PLUS_EQ] = ACTIONS(397), + [anon_sym_DASH_EQ] = ACTIONS(397), + [anon_sym_STAR_EQ] = ACTIONS(397), + [anon_sym_SLASH_EQ] = ACTIONS(397), + [anon_sym_BSLASH_EQ] = ACTIONS(397), + [anon_sym_PERCENT_EQ] = ACTIONS(397), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(397), + [anon_sym_CARET_EQ] = ACTIONS(397), + [anon_sym_AMP_EQ] = ACTIONS(397), + [anon_sym_PIPE_EQ] = ACTIONS(397), + [anon_sym_TILDE_EQ] = ACTIONS(397), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(397), + [anon_sym_LT_GT_EQ] = ACTIONS(397), + [anon_sym_LT_LT_EQ] = ACTIONS(397), + [anon_sym_GT_GT_EQ] = ACTIONS(397), + [anon_sym_as] = ACTIONS(399), + [anon_sym_BANG] = ACTIONS(399), + [anon_sym_DASH] = ACTIONS(399), + [anon_sym_TILDE] = ACTIONS(399), + [anon_sym_not] = ACTIONS(399), + [anon_sym_or] = ACTIONS(399), + [anon_sym_and] = ACTIONS(399), + [anon_sym_LT_EQ_GT] = ACTIONS(397), + [anon_sym_GT_EQ_LT] = ACTIONS(397), + [anon_sym_LT_LT] = ACTIONS(399), + [anon_sym_GT_GT] = ACTIONS(399), + [anon_sym_PIPE] = ACTIONS(399), + [anon_sym_AMP] = ACTIONS(399), + [anon_sym_PLUS] = ACTIONS(399), + [anon_sym_PLUS_PLUS] = ACTIONS(399), + [anon_sym_LT_GT] = ACTIONS(399), + [anon_sym_STAR] = ACTIONS(399), + [anon_sym_SLASH] = ACTIONS(399), + [anon_sym_BSLASH] = ACTIONS(399), + [anon_sym_PERCENT] = ACTIONS(399), + [anon_sym_PERCENT_PERCENT] = ACTIONS(399), + [anon_sym_EQ_EQ] = ACTIONS(397), + [anon_sym_BANG_EQ] = ACTIONS(397), + [anon_sym_GT_EQ] = ACTIONS(399), + [anon_sym_LT_EQ] = ACTIONS(399), + [anon_sym_in] = ACTIONS(399), + [anon_sym_CARET] = ACTIONS(399), + [anon_sym_DOT_DOT] = ACTIONS(399), + [anon_sym_DOT_DOT_EQ] = ACTIONS(397), + [anon_sym_LBRACK] = ACTIONS(397), + [anon_sym_DOT] = ACTIONS(399), + [anon_sym_PERCENT_LBRACE] = ACTIONS(397), + [anon_sym_for] = ACTIONS(399), + [anon_sym_if] = ACTIONS(399), + [anon_sym_while] = ACTIONS(399), + [anon_sym_return] = ACTIONS(399), + [sym_break_expression] = ACTIONS(399), + [sym_continue_expression] = ACTIONS(399), + [sym_integer] = ACTIONS(399), + [sym_float] = ACTIONS(399), + [sym_complex] = ACTIONS(397), + [anon_sym_true] = ACTIONS(399), + [anon_sym_false] = ACTIONS(399), + [anon_sym_Inf] = ACTIONS(399), + [anon_sym_NaN] = ACTIONS(399), + [anon_sym_DQUOTE] = ACTIONS(397), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(392), - [sym_raw_string] = ACTIONS(392), + [sym_named_op_assign] = ACTIONS(397), + [sym_raw_string] = ACTIONS(397), }, [67] = { - [ts_builtin_sym_end] = ACTIONS(396), - [sym_identifier] = ACTIONS(398), - [anon_sym_SEMI] = ACTIONS(396), - [anon_sym_let] = ACTIONS(398), - [anon_sym_EQ] = ACTIONS(398), - [anon_sym_COMMA] = ACTIONS(396), - [anon_sym_pure] = ACTIONS(398), - [anon_sym_fn] = ACTIONS(398), - [anon_sym_LPAREN] = ACTIONS(396), - [anon_sym_struct] = ACTIONS(398), - [anon_sym_LBRACE] = ACTIONS(396), - [anon_sym_RBRACE] = ACTIONS(396), - [anon_sym_LT] = ACTIONS(398), - [anon_sym_GT] = ACTIONS(398), - [anon_sym_PLUS_EQ] = ACTIONS(396), - [anon_sym_DASH_EQ] = ACTIONS(396), - [anon_sym_STAR_EQ] = ACTIONS(396), - [anon_sym_SLASH_EQ] = ACTIONS(396), - [anon_sym_BSLASH_EQ] = ACTIONS(396), - [anon_sym_PERCENT_EQ] = ACTIONS(396), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(396), - [anon_sym_CARET_EQ] = ACTIONS(396), - [anon_sym_AMP_EQ] = ACTIONS(396), - [anon_sym_PIPE_EQ] = ACTIONS(396), - [anon_sym_TILDE_EQ] = ACTIONS(396), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(396), - [anon_sym_LT_GT_EQ] = ACTIONS(396), - [anon_sym_LT_LT_EQ] = ACTIONS(396), - [anon_sym_GT_GT_EQ] = ACTIONS(396), - [anon_sym_BANG] = ACTIONS(398), - [anon_sym_DASH] = ACTIONS(398), - [anon_sym_TILDE] = ACTIONS(398), - [anon_sym_not] = ACTIONS(398), - [anon_sym_or] = ACTIONS(398), - [anon_sym_and] = ACTIONS(398), - [anon_sym_LT_EQ_GT] = ACTIONS(396), - [anon_sym_GT_EQ_LT] = ACTIONS(396), - [anon_sym_LT_LT] = ACTIONS(398), - [anon_sym_GT_GT] = ACTIONS(398), - [anon_sym_PIPE] = ACTIONS(398), - [anon_sym_AMP] = ACTIONS(398), - [anon_sym_PLUS] = ACTIONS(398), - [anon_sym_PLUS_PLUS] = ACTIONS(398), - [anon_sym_LT_GT] = ACTIONS(398), - [anon_sym_STAR] = ACTIONS(398), - [anon_sym_SLASH] = ACTIONS(398), - [anon_sym_BSLASH] = ACTIONS(398), - [anon_sym_PERCENT] = ACTIONS(398), - [anon_sym_PERCENT_PERCENT] = ACTIONS(398), - [anon_sym_EQ_EQ] = ACTIONS(396), - [anon_sym_BANG_EQ] = ACTIONS(396), - [anon_sym_GT_EQ] = ACTIONS(398), - [anon_sym_LT_EQ] = ACTIONS(398), - [anon_sym_in] = ACTIONS(398), - [anon_sym_CARET] = ACTIONS(398), - [anon_sym_DOT_DOT] = ACTIONS(398), - [anon_sym_DOT_DOT_EQ] = ACTIONS(396), - [anon_sym_LBRACK] = ACTIONS(396), - [anon_sym_DOT] = ACTIONS(398), - [anon_sym_PERCENT_LBRACE] = ACTIONS(396), - [anon_sym_for] = ACTIONS(398), - [anon_sym_if] = ACTIONS(398), - [anon_sym_while] = ACTIONS(398), - [anon_sym_return] = ACTIONS(398), - [sym_break_expression] = ACTIONS(398), - [sym_continue_expression] = ACTIONS(398), - [sym_integer] = ACTIONS(398), - [sym_float] = ACTIONS(398), - [sym_complex] = ACTIONS(396), - [anon_sym_true] = ACTIONS(398), - [anon_sym_false] = ACTIONS(398), - [anon_sym_Inf] = ACTIONS(398), - [anon_sym_NaN] = ACTIONS(398), - [anon_sym_DQUOTE] = ACTIONS(396), + [ts_builtin_sym_end] = ACTIONS(401), + [sym_identifier] = ACTIONS(403), + [anon_sym_SEMI] = ACTIONS(401), + [anon_sym_let] = ACTIONS(403), + [anon_sym_EQ] = ACTIONS(403), + [anon_sym_COMMA] = ACTIONS(401), + [anon_sym_pure] = ACTIONS(403), + [anon_sym_fn] = ACTIONS(403), + [anon_sym_LPAREN] = ACTIONS(401), + [anon_sym_struct] = ACTIONS(403), + [anon_sym_LBRACE] = ACTIONS(401), + [anon_sym_RBRACE] = ACTIONS(401), + [anon_sym_LT] = ACTIONS(403), + [anon_sym_GT] = ACTIONS(403), + [anon_sym_PLUS_EQ] = ACTIONS(401), + [anon_sym_DASH_EQ] = ACTIONS(401), + [anon_sym_STAR_EQ] = ACTIONS(401), + [anon_sym_SLASH_EQ] = ACTIONS(401), + [anon_sym_BSLASH_EQ] = ACTIONS(401), + [anon_sym_PERCENT_EQ] = ACTIONS(401), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(401), + [anon_sym_CARET_EQ] = ACTIONS(401), + [anon_sym_AMP_EQ] = ACTIONS(401), + [anon_sym_PIPE_EQ] = ACTIONS(401), + [anon_sym_TILDE_EQ] = ACTIONS(401), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(401), + [anon_sym_LT_GT_EQ] = ACTIONS(401), + [anon_sym_LT_LT_EQ] = ACTIONS(401), + [anon_sym_GT_GT_EQ] = ACTIONS(401), + [anon_sym_as] = ACTIONS(403), + [anon_sym_BANG] = ACTIONS(403), + [anon_sym_DASH] = ACTIONS(403), + [anon_sym_TILDE] = ACTIONS(403), + [anon_sym_not] = ACTIONS(403), + [anon_sym_or] = ACTIONS(403), + [anon_sym_and] = ACTIONS(403), + [anon_sym_LT_EQ_GT] = ACTIONS(401), + [anon_sym_GT_EQ_LT] = ACTIONS(401), + [anon_sym_LT_LT] = ACTIONS(403), + [anon_sym_GT_GT] = ACTIONS(403), + [anon_sym_PIPE] = ACTIONS(403), + [anon_sym_AMP] = ACTIONS(403), + [anon_sym_PLUS] = ACTIONS(403), + [anon_sym_PLUS_PLUS] = ACTIONS(403), + [anon_sym_LT_GT] = ACTIONS(403), + [anon_sym_STAR] = ACTIONS(403), + [anon_sym_SLASH] = ACTIONS(403), + [anon_sym_BSLASH] = ACTIONS(403), + [anon_sym_PERCENT] = ACTIONS(403), + [anon_sym_PERCENT_PERCENT] = ACTIONS(403), + [anon_sym_EQ_EQ] = ACTIONS(401), + [anon_sym_BANG_EQ] = ACTIONS(401), + [anon_sym_GT_EQ] = ACTIONS(403), + [anon_sym_LT_EQ] = ACTIONS(403), + [anon_sym_in] = ACTIONS(403), + [anon_sym_CARET] = ACTIONS(403), + [anon_sym_DOT_DOT] = ACTIONS(403), + [anon_sym_DOT_DOT_EQ] = ACTIONS(401), + [anon_sym_LBRACK] = ACTIONS(401), + [anon_sym_DOT] = ACTIONS(403), + [anon_sym_PERCENT_LBRACE] = ACTIONS(401), + [anon_sym_for] = ACTIONS(403), + [anon_sym_if] = ACTIONS(403), + [anon_sym_while] = ACTIONS(403), + [anon_sym_return] = ACTIONS(403), + [sym_break_expression] = ACTIONS(403), + [sym_continue_expression] = ACTIONS(403), + [sym_integer] = ACTIONS(403), + [sym_float] = ACTIONS(403), + [sym_complex] = ACTIONS(401), + [anon_sym_true] = ACTIONS(403), + [anon_sym_false] = ACTIONS(403), + [anon_sym_Inf] = ACTIONS(403), + [anon_sym_NaN] = ACTIONS(403), + [anon_sym_DQUOTE] = ACTIONS(401), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(396), - [sym_raw_string] = ACTIONS(396), + [sym_named_op_assign] = ACTIONS(401), + [sym_raw_string] = ACTIONS(401), }, [68] = { - [ts_builtin_sym_end] = ACTIONS(400), - [sym_identifier] = ACTIONS(402), - [anon_sym_SEMI] = ACTIONS(400), - [anon_sym_let] = ACTIONS(402), - [anon_sym_EQ] = ACTIONS(402), - [anon_sym_COMMA] = ACTIONS(400), - [anon_sym_pure] = ACTIONS(402), - [anon_sym_fn] = ACTIONS(402), - [anon_sym_LPAREN] = ACTIONS(400), - [anon_sym_struct] = ACTIONS(402), - [anon_sym_LBRACE] = ACTIONS(400), - [anon_sym_RBRACE] = ACTIONS(400), - [anon_sym_LT] = ACTIONS(402), - [anon_sym_GT] = ACTIONS(402), - [anon_sym_PLUS_EQ] = ACTIONS(400), - [anon_sym_DASH_EQ] = ACTIONS(400), - [anon_sym_STAR_EQ] = ACTIONS(400), - [anon_sym_SLASH_EQ] = ACTIONS(400), - [anon_sym_BSLASH_EQ] = ACTIONS(400), - [anon_sym_PERCENT_EQ] = ACTIONS(400), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(400), - [anon_sym_CARET_EQ] = ACTIONS(400), - [anon_sym_AMP_EQ] = ACTIONS(400), - [anon_sym_PIPE_EQ] = ACTIONS(400), - [anon_sym_TILDE_EQ] = ACTIONS(400), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(400), - [anon_sym_LT_GT_EQ] = ACTIONS(400), - [anon_sym_LT_LT_EQ] = ACTIONS(400), - [anon_sym_GT_GT_EQ] = ACTIONS(400), - [anon_sym_BANG] = ACTIONS(402), - [anon_sym_DASH] = ACTIONS(402), - [anon_sym_TILDE] = ACTIONS(402), - [anon_sym_not] = ACTIONS(402), - [anon_sym_or] = ACTIONS(402), - [anon_sym_and] = ACTIONS(402), - [anon_sym_LT_EQ_GT] = ACTIONS(400), - [anon_sym_GT_EQ_LT] = ACTIONS(400), - [anon_sym_LT_LT] = ACTIONS(402), - [anon_sym_GT_GT] = ACTIONS(402), - [anon_sym_PIPE] = ACTIONS(402), - [anon_sym_AMP] = ACTIONS(402), - [anon_sym_PLUS] = ACTIONS(402), - [anon_sym_PLUS_PLUS] = ACTIONS(402), - [anon_sym_LT_GT] = ACTIONS(402), - [anon_sym_STAR] = ACTIONS(402), - [anon_sym_SLASH] = ACTIONS(402), - [anon_sym_BSLASH] = ACTIONS(402), - [anon_sym_PERCENT] = ACTIONS(402), - [anon_sym_PERCENT_PERCENT] = ACTIONS(402), - [anon_sym_EQ_EQ] = ACTIONS(400), - [anon_sym_BANG_EQ] = ACTIONS(400), - [anon_sym_GT_EQ] = ACTIONS(402), - [anon_sym_LT_EQ] = ACTIONS(402), - [anon_sym_in] = ACTIONS(402), - [anon_sym_CARET] = ACTIONS(402), - [anon_sym_DOT_DOT] = ACTIONS(402), - [anon_sym_DOT_DOT_EQ] = ACTIONS(400), - [anon_sym_LBRACK] = ACTIONS(400), - [anon_sym_DOT] = ACTIONS(402), - [anon_sym_PERCENT_LBRACE] = ACTIONS(400), - [anon_sym_for] = ACTIONS(402), - [anon_sym_if] = ACTIONS(402), - [anon_sym_while] = ACTIONS(402), - [anon_sym_return] = ACTIONS(402), - [sym_break_expression] = ACTIONS(402), - [sym_continue_expression] = ACTIONS(402), - [sym_integer] = ACTIONS(402), - [sym_float] = ACTIONS(402), - [sym_complex] = ACTIONS(400), - [anon_sym_true] = ACTIONS(402), - [anon_sym_false] = ACTIONS(402), - [anon_sym_Inf] = ACTIONS(402), - [anon_sym_NaN] = ACTIONS(402), - [anon_sym_DQUOTE] = ACTIONS(400), + [ts_builtin_sym_end] = ACTIONS(405), + [sym_identifier] = ACTIONS(407), + [anon_sym_SEMI] = ACTIONS(405), + [anon_sym_let] = ACTIONS(407), + [anon_sym_EQ] = ACTIONS(407), + [anon_sym_COMMA] = ACTIONS(405), + [anon_sym_pure] = ACTIONS(407), + [anon_sym_fn] = ACTIONS(407), + [anon_sym_LPAREN] = ACTIONS(405), + [anon_sym_struct] = ACTIONS(407), + [anon_sym_LBRACE] = ACTIONS(405), + [anon_sym_RBRACE] = ACTIONS(405), + [anon_sym_LT] = ACTIONS(407), + [anon_sym_GT] = ACTIONS(407), + [anon_sym_PLUS_EQ] = ACTIONS(405), + [anon_sym_DASH_EQ] = ACTIONS(405), + [anon_sym_STAR_EQ] = ACTIONS(405), + [anon_sym_SLASH_EQ] = ACTIONS(405), + [anon_sym_BSLASH_EQ] = ACTIONS(405), + [anon_sym_PERCENT_EQ] = ACTIONS(405), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(405), + [anon_sym_CARET_EQ] = ACTIONS(405), + [anon_sym_AMP_EQ] = ACTIONS(405), + [anon_sym_PIPE_EQ] = ACTIONS(405), + [anon_sym_TILDE_EQ] = ACTIONS(405), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(405), + [anon_sym_LT_GT_EQ] = ACTIONS(405), + [anon_sym_LT_LT_EQ] = ACTIONS(405), + [anon_sym_GT_GT_EQ] = ACTIONS(405), + [anon_sym_as] = ACTIONS(407), + [anon_sym_BANG] = ACTIONS(407), + [anon_sym_DASH] = ACTIONS(407), + [anon_sym_TILDE] = ACTIONS(407), + [anon_sym_not] = ACTIONS(407), + [anon_sym_or] = ACTIONS(407), + [anon_sym_and] = ACTIONS(407), + [anon_sym_LT_EQ_GT] = ACTIONS(405), + [anon_sym_GT_EQ_LT] = ACTIONS(405), + [anon_sym_LT_LT] = ACTIONS(407), + [anon_sym_GT_GT] = ACTIONS(407), + [anon_sym_PIPE] = ACTIONS(407), + [anon_sym_AMP] = ACTIONS(407), + [anon_sym_PLUS] = ACTIONS(407), + [anon_sym_PLUS_PLUS] = ACTIONS(407), + [anon_sym_LT_GT] = ACTIONS(407), + [anon_sym_STAR] = ACTIONS(407), + [anon_sym_SLASH] = ACTIONS(407), + [anon_sym_BSLASH] = ACTIONS(407), + [anon_sym_PERCENT] = ACTIONS(407), + [anon_sym_PERCENT_PERCENT] = ACTIONS(407), + [anon_sym_EQ_EQ] = ACTIONS(405), + [anon_sym_BANG_EQ] = ACTIONS(405), + [anon_sym_GT_EQ] = ACTIONS(407), + [anon_sym_LT_EQ] = ACTIONS(407), + [anon_sym_in] = ACTIONS(407), + [anon_sym_CARET] = ACTIONS(407), + [anon_sym_DOT_DOT] = ACTIONS(407), + [anon_sym_DOT_DOT_EQ] = ACTIONS(405), + [anon_sym_LBRACK] = ACTIONS(405), + [anon_sym_DOT] = ACTIONS(407), + [anon_sym_PERCENT_LBRACE] = ACTIONS(405), + [anon_sym_for] = ACTIONS(407), + [anon_sym_if] = ACTIONS(407), + [anon_sym_while] = ACTIONS(407), + [anon_sym_return] = ACTIONS(407), + [sym_break_expression] = ACTIONS(407), + [sym_continue_expression] = ACTIONS(407), + [sym_integer] = ACTIONS(407), + [sym_float] = ACTIONS(407), + [sym_complex] = ACTIONS(405), + [anon_sym_true] = ACTIONS(407), + [anon_sym_false] = ACTIONS(407), + [anon_sym_Inf] = ACTIONS(407), + [anon_sym_NaN] = ACTIONS(407), + [anon_sym_DQUOTE] = ACTIONS(405), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(400), - [sym_raw_string] = ACTIONS(400), + [sym_named_op_assign] = ACTIONS(405), + [sym_raw_string] = ACTIONS(405), }, [69] = { - [ts_builtin_sym_end] = ACTIONS(404), - [sym_identifier] = ACTIONS(406), - [anon_sym_SEMI] = ACTIONS(404), - [anon_sym_let] = ACTIONS(406), - [anon_sym_EQ] = ACTIONS(406), - [anon_sym_COMMA] = ACTIONS(404), - [anon_sym_pure] = ACTIONS(406), - [anon_sym_fn] = ACTIONS(406), - [anon_sym_LPAREN] = ACTIONS(404), - [anon_sym_struct] = ACTIONS(406), - [anon_sym_LBRACE] = ACTIONS(404), - [anon_sym_RBRACE] = ACTIONS(404), - [anon_sym_LT] = ACTIONS(406), - [anon_sym_GT] = ACTIONS(406), - [anon_sym_PLUS_EQ] = ACTIONS(404), - [anon_sym_DASH_EQ] = ACTIONS(404), - [anon_sym_STAR_EQ] = ACTIONS(404), - [anon_sym_SLASH_EQ] = ACTIONS(404), - [anon_sym_BSLASH_EQ] = ACTIONS(404), - [anon_sym_PERCENT_EQ] = ACTIONS(404), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(404), - [anon_sym_CARET_EQ] = ACTIONS(404), - [anon_sym_AMP_EQ] = ACTIONS(404), - [anon_sym_PIPE_EQ] = ACTIONS(404), - [anon_sym_TILDE_EQ] = ACTIONS(404), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(404), - [anon_sym_LT_GT_EQ] = ACTIONS(404), - [anon_sym_LT_LT_EQ] = ACTIONS(404), - [anon_sym_GT_GT_EQ] = ACTIONS(404), - [anon_sym_BANG] = ACTIONS(406), - [anon_sym_DASH] = ACTIONS(406), - [anon_sym_TILDE] = ACTIONS(406), - [anon_sym_not] = ACTIONS(406), - [anon_sym_or] = ACTIONS(406), - [anon_sym_and] = ACTIONS(406), - [anon_sym_LT_EQ_GT] = ACTIONS(404), - [anon_sym_GT_EQ_LT] = ACTIONS(404), - [anon_sym_LT_LT] = ACTIONS(406), - [anon_sym_GT_GT] = ACTIONS(406), - [anon_sym_PIPE] = ACTIONS(406), - [anon_sym_AMP] = ACTIONS(406), - [anon_sym_PLUS] = ACTIONS(406), - [anon_sym_PLUS_PLUS] = ACTIONS(406), - [anon_sym_LT_GT] = ACTIONS(406), - [anon_sym_STAR] = ACTIONS(406), - [anon_sym_SLASH] = ACTIONS(406), - [anon_sym_BSLASH] = ACTIONS(406), - [anon_sym_PERCENT] = ACTIONS(406), - [anon_sym_PERCENT_PERCENT] = ACTIONS(406), - [anon_sym_EQ_EQ] = ACTIONS(404), - [anon_sym_BANG_EQ] = ACTIONS(404), - [anon_sym_GT_EQ] = ACTIONS(406), - [anon_sym_LT_EQ] = ACTIONS(406), - [anon_sym_in] = ACTIONS(406), - [anon_sym_CARET] = ACTIONS(406), - [anon_sym_DOT_DOT] = ACTIONS(406), - [anon_sym_DOT_DOT_EQ] = ACTIONS(404), - [anon_sym_LBRACK] = ACTIONS(404), - [anon_sym_DOT] = ACTIONS(406), - [anon_sym_PERCENT_LBRACE] = ACTIONS(404), - [anon_sym_for] = ACTIONS(406), - [anon_sym_if] = ACTIONS(406), - [anon_sym_while] = ACTIONS(406), - [anon_sym_return] = ACTIONS(406), - [sym_break_expression] = ACTIONS(406), - [sym_continue_expression] = ACTIONS(406), - [sym_integer] = ACTIONS(406), - [sym_float] = ACTIONS(406), - [sym_complex] = ACTIONS(404), - [anon_sym_true] = ACTIONS(406), - [anon_sym_false] = ACTIONS(406), - [anon_sym_Inf] = ACTIONS(406), - [anon_sym_NaN] = ACTIONS(406), - [anon_sym_DQUOTE] = ACTIONS(404), + [ts_builtin_sym_end] = ACTIONS(409), + [sym_identifier] = ACTIONS(411), + [anon_sym_SEMI] = ACTIONS(409), + [anon_sym_let] = ACTIONS(411), + [anon_sym_EQ] = ACTIONS(411), + [anon_sym_COMMA] = ACTIONS(409), + [anon_sym_pure] = ACTIONS(411), + [anon_sym_fn] = ACTIONS(411), + [anon_sym_LPAREN] = ACTIONS(409), + [anon_sym_struct] = ACTIONS(411), + [anon_sym_LBRACE] = ACTIONS(409), + [anon_sym_RBRACE] = ACTIONS(409), + [anon_sym_LT] = ACTIONS(411), + [anon_sym_GT] = ACTIONS(411), + [anon_sym_PLUS_EQ] = ACTIONS(409), + [anon_sym_DASH_EQ] = ACTIONS(409), + [anon_sym_STAR_EQ] = ACTIONS(409), + [anon_sym_SLASH_EQ] = ACTIONS(409), + [anon_sym_BSLASH_EQ] = ACTIONS(409), + [anon_sym_PERCENT_EQ] = ACTIONS(409), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(409), + [anon_sym_CARET_EQ] = ACTIONS(409), + [anon_sym_AMP_EQ] = ACTIONS(409), + [anon_sym_PIPE_EQ] = ACTIONS(409), + [anon_sym_TILDE_EQ] = ACTIONS(409), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(409), + [anon_sym_LT_GT_EQ] = ACTIONS(409), + [anon_sym_LT_LT_EQ] = ACTIONS(409), + [anon_sym_GT_GT_EQ] = ACTIONS(409), + [anon_sym_as] = ACTIONS(411), + [anon_sym_BANG] = ACTIONS(411), + [anon_sym_DASH] = ACTIONS(411), + [anon_sym_TILDE] = ACTIONS(411), + [anon_sym_not] = ACTIONS(411), + [anon_sym_or] = ACTIONS(411), + [anon_sym_and] = ACTIONS(411), + [anon_sym_LT_EQ_GT] = ACTIONS(409), + [anon_sym_GT_EQ_LT] = ACTIONS(409), + [anon_sym_LT_LT] = ACTIONS(411), + [anon_sym_GT_GT] = ACTIONS(411), + [anon_sym_PIPE] = ACTIONS(411), + [anon_sym_AMP] = ACTIONS(411), + [anon_sym_PLUS] = ACTIONS(411), + [anon_sym_PLUS_PLUS] = ACTIONS(411), + [anon_sym_LT_GT] = ACTIONS(411), + [anon_sym_STAR] = ACTIONS(411), + [anon_sym_SLASH] = ACTIONS(411), + [anon_sym_BSLASH] = ACTIONS(411), + [anon_sym_PERCENT] = ACTIONS(411), + [anon_sym_PERCENT_PERCENT] = ACTIONS(411), + [anon_sym_EQ_EQ] = ACTIONS(409), + [anon_sym_BANG_EQ] = ACTIONS(409), + [anon_sym_GT_EQ] = ACTIONS(411), + [anon_sym_LT_EQ] = ACTIONS(411), + [anon_sym_in] = ACTIONS(411), + [anon_sym_CARET] = ACTIONS(411), + [anon_sym_DOT_DOT] = ACTIONS(411), + [anon_sym_DOT_DOT_EQ] = ACTIONS(409), + [anon_sym_LBRACK] = ACTIONS(409), + [anon_sym_DOT] = ACTIONS(411), + [anon_sym_PERCENT_LBRACE] = ACTIONS(409), + [anon_sym_for] = ACTIONS(411), + [anon_sym_if] = ACTIONS(411), + [anon_sym_while] = ACTIONS(411), + [anon_sym_return] = ACTIONS(411), + [sym_break_expression] = ACTIONS(411), + [sym_continue_expression] = ACTIONS(411), + [sym_integer] = ACTIONS(411), + [sym_float] = ACTIONS(411), + [sym_complex] = ACTIONS(409), + [anon_sym_true] = ACTIONS(411), + [anon_sym_false] = ACTIONS(411), + [anon_sym_Inf] = ACTIONS(411), + [anon_sym_NaN] = ACTIONS(411), + [anon_sym_DQUOTE] = ACTIONS(409), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(404), - [sym_raw_string] = ACTIONS(404), + [sym_named_op_assign] = ACTIONS(409), + [sym_raw_string] = ACTIONS(409), }, [70] = { - [ts_builtin_sym_end] = ACTIONS(408), - [sym_identifier] = ACTIONS(410), - [anon_sym_SEMI] = ACTIONS(408), - [anon_sym_let] = ACTIONS(410), - [anon_sym_EQ] = ACTIONS(410), - [anon_sym_COMMA] = ACTIONS(408), - [anon_sym_pure] = ACTIONS(410), - [anon_sym_fn] = ACTIONS(410), - [anon_sym_LPAREN] = ACTIONS(408), - [anon_sym_struct] = ACTIONS(410), - [anon_sym_LBRACE] = ACTIONS(408), - [anon_sym_RBRACE] = ACTIONS(408), - [anon_sym_LT] = ACTIONS(410), - [anon_sym_GT] = ACTIONS(410), - [anon_sym_PLUS_EQ] = ACTIONS(408), - [anon_sym_DASH_EQ] = ACTIONS(408), - [anon_sym_STAR_EQ] = ACTIONS(408), - [anon_sym_SLASH_EQ] = ACTIONS(408), - [anon_sym_BSLASH_EQ] = ACTIONS(408), - [anon_sym_PERCENT_EQ] = ACTIONS(408), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(408), - [anon_sym_CARET_EQ] = ACTIONS(408), - [anon_sym_AMP_EQ] = ACTIONS(408), - [anon_sym_PIPE_EQ] = ACTIONS(408), - [anon_sym_TILDE_EQ] = ACTIONS(408), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(408), - [anon_sym_LT_GT_EQ] = ACTIONS(408), - [anon_sym_LT_LT_EQ] = ACTIONS(408), - [anon_sym_GT_GT_EQ] = ACTIONS(408), - [anon_sym_BANG] = ACTIONS(410), - [anon_sym_DASH] = ACTIONS(410), - [anon_sym_TILDE] = ACTIONS(410), - [anon_sym_not] = ACTIONS(410), - [anon_sym_or] = ACTIONS(410), - [anon_sym_and] = ACTIONS(410), - [anon_sym_LT_EQ_GT] = ACTIONS(408), - [anon_sym_GT_EQ_LT] = ACTIONS(408), - [anon_sym_LT_LT] = ACTIONS(410), - [anon_sym_GT_GT] = ACTIONS(410), - [anon_sym_PIPE] = ACTIONS(410), - [anon_sym_AMP] = ACTIONS(410), - [anon_sym_PLUS] = ACTIONS(410), - [anon_sym_PLUS_PLUS] = ACTIONS(410), - [anon_sym_LT_GT] = ACTIONS(410), - [anon_sym_STAR] = ACTIONS(410), - [anon_sym_SLASH] = ACTIONS(410), - [anon_sym_BSLASH] = ACTIONS(410), - [anon_sym_PERCENT] = ACTIONS(410), - [anon_sym_PERCENT_PERCENT] = ACTIONS(410), - [anon_sym_EQ_EQ] = ACTIONS(408), - [anon_sym_BANG_EQ] = ACTIONS(408), - [anon_sym_GT_EQ] = ACTIONS(410), - [anon_sym_LT_EQ] = ACTIONS(410), - [anon_sym_in] = ACTIONS(410), - [anon_sym_CARET] = ACTIONS(410), - [anon_sym_DOT_DOT] = ACTIONS(410), - [anon_sym_DOT_DOT_EQ] = ACTIONS(408), - [anon_sym_LBRACK] = ACTIONS(408), - [anon_sym_DOT] = ACTIONS(410), - [anon_sym_PERCENT_LBRACE] = ACTIONS(408), - [anon_sym_for] = ACTIONS(410), - [anon_sym_if] = ACTIONS(410), - [anon_sym_while] = ACTIONS(410), - [anon_sym_return] = ACTIONS(410), - [sym_break_expression] = ACTIONS(410), - [sym_continue_expression] = ACTIONS(410), - [sym_integer] = ACTIONS(410), - [sym_float] = ACTIONS(410), - [sym_complex] = ACTIONS(408), - [anon_sym_true] = ACTIONS(410), - [anon_sym_false] = ACTIONS(410), - [anon_sym_Inf] = ACTIONS(410), - [anon_sym_NaN] = ACTIONS(410), - [anon_sym_DQUOTE] = ACTIONS(408), + [ts_builtin_sym_end] = ACTIONS(413), + [sym_identifier] = ACTIONS(415), + [anon_sym_SEMI] = ACTIONS(413), + [anon_sym_let] = ACTIONS(415), + [anon_sym_EQ] = ACTIONS(415), + [anon_sym_COMMA] = ACTIONS(413), + [anon_sym_pure] = ACTIONS(415), + [anon_sym_fn] = ACTIONS(415), + [anon_sym_LPAREN] = ACTIONS(413), + [anon_sym_struct] = ACTIONS(415), + [anon_sym_LBRACE] = ACTIONS(413), + [anon_sym_RBRACE] = ACTIONS(413), + [anon_sym_LT] = ACTIONS(415), + [anon_sym_GT] = ACTIONS(415), + [anon_sym_PLUS_EQ] = ACTIONS(413), + [anon_sym_DASH_EQ] = ACTIONS(413), + [anon_sym_STAR_EQ] = ACTIONS(413), + [anon_sym_SLASH_EQ] = ACTIONS(413), + [anon_sym_BSLASH_EQ] = ACTIONS(413), + [anon_sym_PERCENT_EQ] = ACTIONS(413), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(413), + [anon_sym_CARET_EQ] = ACTIONS(413), + [anon_sym_AMP_EQ] = ACTIONS(413), + [anon_sym_PIPE_EQ] = ACTIONS(413), + [anon_sym_TILDE_EQ] = ACTIONS(413), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(413), + [anon_sym_LT_GT_EQ] = ACTIONS(413), + [anon_sym_LT_LT_EQ] = ACTIONS(413), + [anon_sym_GT_GT_EQ] = ACTIONS(413), + [anon_sym_as] = ACTIONS(415), + [anon_sym_BANG] = ACTIONS(415), + [anon_sym_DASH] = ACTIONS(415), + [anon_sym_TILDE] = ACTIONS(415), + [anon_sym_not] = ACTIONS(415), + [anon_sym_or] = ACTIONS(415), + [anon_sym_and] = ACTIONS(415), + [anon_sym_LT_EQ_GT] = ACTIONS(413), + [anon_sym_GT_EQ_LT] = ACTIONS(413), + [anon_sym_LT_LT] = ACTIONS(415), + [anon_sym_GT_GT] = ACTIONS(415), + [anon_sym_PIPE] = ACTIONS(415), + [anon_sym_AMP] = ACTIONS(415), + [anon_sym_PLUS] = ACTIONS(415), + [anon_sym_PLUS_PLUS] = ACTIONS(415), + [anon_sym_LT_GT] = ACTIONS(415), + [anon_sym_STAR] = ACTIONS(415), + [anon_sym_SLASH] = ACTIONS(415), + [anon_sym_BSLASH] = ACTIONS(415), + [anon_sym_PERCENT] = ACTIONS(415), + [anon_sym_PERCENT_PERCENT] = ACTIONS(415), + [anon_sym_EQ_EQ] = ACTIONS(413), + [anon_sym_BANG_EQ] = ACTIONS(413), + [anon_sym_GT_EQ] = ACTIONS(415), + [anon_sym_LT_EQ] = ACTIONS(415), + [anon_sym_in] = ACTIONS(415), + [anon_sym_CARET] = ACTIONS(415), + [anon_sym_DOT_DOT] = ACTIONS(415), + [anon_sym_DOT_DOT_EQ] = ACTIONS(413), + [anon_sym_LBRACK] = ACTIONS(413), + [anon_sym_DOT] = ACTIONS(415), + [anon_sym_PERCENT_LBRACE] = ACTIONS(413), + [anon_sym_for] = ACTIONS(415), + [anon_sym_if] = ACTIONS(415), + [anon_sym_while] = ACTIONS(415), + [anon_sym_return] = ACTIONS(415), + [sym_break_expression] = ACTIONS(415), + [sym_continue_expression] = ACTIONS(415), + [sym_integer] = ACTIONS(415), + [sym_float] = ACTIONS(415), + [sym_complex] = ACTIONS(413), + [anon_sym_true] = ACTIONS(415), + [anon_sym_false] = ACTIONS(415), + [anon_sym_Inf] = ACTIONS(415), + [anon_sym_NaN] = ACTIONS(415), + [anon_sym_DQUOTE] = ACTIONS(413), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(408), - [sym_raw_string] = ACTIONS(408), + [sym_named_op_assign] = ACTIONS(413), + [sym_raw_string] = ACTIONS(413), }, [71] = { - [ts_builtin_sym_end] = ACTIONS(412), - [sym_identifier] = ACTIONS(414), - [anon_sym_SEMI] = ACTIONS(412), - [anon_sym_let] = ACTIONS(414), - [anon_sym_EQ] = ACTIONS(414), - [anon_sym_COMMA] = ACTIONS(412), - [anon_sym_pure] = ACTIONS(414), - [anon_sym_fn] = ACTIONS(414), - [anon_sym_LPAREN] = ACTIONS(412), - [anon_sym_struct] = ACTIONS(414), - [anon_sym_LBRACE] = ACTIONS(412), - [anon_sym_RBRACE] = ACTIONS(412), - [anon_sym_LT] = ACTIONS(414), - [anon_sym_GT] = ACTIONS(414), - [anon_sym_PLUS_EQ] = ACTIONS(412), - [anon_sym_DASH_EQ] = ACTIONS(412), - [anon_sym_STAR_EQ] = ACTIONS(412), - [anon_sym_SLASH_EQ] = ACTIONS(412), - [anon_sym_BSLASH_EQ] = ACTIONS(412), - [anon_sym_PERCENT_EQ] = ACTIONS(412), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(412), - [anon_sym_CARET_EQ] = ACTIONS(412), - [anon_sym_AMP_EQ] = ACTIONS(412), - [anon_sym_PIPE_EQ] = ACTIONS(412), - [anon_sym_TILDE_EQ] = ACTIONS(412), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(412), - [anon_sym_LT_GT_EQ] = ACTIONS(412), - [anon_sym_LT_LT_EQ] = ACTIONS(412), - [anon_sym_GT_GT_EQ] = ACTIONS(412), - [anon_sym_BANG] = ACTIONS(414), - [anon_sym_DASH] = ACTIONS(414), - [anon_sym_TILDE] = ACTIONS(414), - [anon_sym_not] = ACTIONS(414), - [anon_sym_or] = ACTIONS(414), - [anon_sym_and] = ACTIONS(414), - [anon_sym_LT_EQ_GT] = ACTIONS(412), - [anon_sym_GT_EQ_LT] = ACTIONS(412), - [anon_sym_LT_LT] = ACTIONS(414), - [anon_sym_GT_GT] = ACTIONS(414), - [anon_sym_PIPE] = ACTIONS(414), - [anon_sym_AMP] = ACTIONS(414), - [anon_sym_PLUS] = ACTIONS(414), - [anon_sym_PLUS_PLUS] = ACTIONS(414), - [anon_sym_LT_GT] = ACTIONS(414), - [anon_sym_STAR] = ACTIONS(414), - [anon_sym_SLASH] = ACTIONS(414), - [anon_sym_BSLASH] = ACTIONS(414), - [anon_sym_PERCENT] = ACTIONS(414), - [anon_sym_PERCENT_PERCENT] = ACTIONS(414), - [anon_sym_EQ_EQ] = ACTIONS(412), - [anon_sym_BANG_EQ] = ACTIONS(412), - [anon_sym_GT_EQ] = ACTIONS(414), - [anon_sym_LT_EQ] = ACTIONS(414), - [anon_sym_in] = ACTIONS(414), - [anon_sym_CARET] = ACTIONS(414), - [anon_sym_DOT_DOT] = ACTIONS(414), - [anon_sym_DOT_DOT_EQ] = ACTIONS(412), - [anon_sym_LBRACK] = ACTIONS(412), - [anon_sym_DOT] = ACTIONS(414), - [anon_sym_PERCENT_LBRACE] = ACTIONS(412), - [anon_sym_for] = ACTIONS(414), - [anon_sym_if] = ACTIONS(414), - [anon_sym_while] = ACTIONS(414), - [anon_sym_return] = ACTIONS(414), - [sym_break_expression] = ACTIONS(414), - [sym_continue_expression] = ACTIONS(414), - [sym_integer] = ACTIONS(414), - [sym_float] = ACTIONS(414), - [sym_complex] = ACTIONS(412), - [anon_sym_true] = ACTIONS(414), - [anon_sym_false] = ACTIONS(414), - [anon_sym_Inf] = ACTIONS(414), - [anon_sym_NaN] = ACTIONS(414), - [anon_sym_DQUOTE] = ACTIONS(412), + [ts_builtin_sym_end] = ACTIONS(417), + [sym_identifier] = ACTIONS(419), + [anon_sym_SEMI] = ACTIONS(417), + [anon_sym_let] = ACTIONS(419), + [anon_sym_EQ] = ACTIONS(419), + [anon_sym_COMMA] = ACTIONS(417), + [anon_sym_pure] = ACTIONS(419), + [anon_sym_fn] = ACTIONS(419), + [anon_sym_LPAREN] = ACTIONS(417), + [anon_sym_struct] = ACTIONS(419), + [anon_sym_LBRACE] = ACTIONS(417), + [anon_sym_RBRACE] = ACTIONS(417), + [anon_sym_LT] = ACTIONS(419), + [anon_sym_GT] = ACTIONS(419), + [anon_sym_PLUS_EQ] = ACTIONS(417), + [anon_sym_DASH_EQ] = ACTIONS(417), + [anon_sym_STAR_EQ] = ACTIONS(417), + [anon_sym_SLASH_EQ] = ACTIONS(417), + [anon_sym_BSLASH_EQ] = ACTIONS(417), + [anon_sym_PERCENT_EQ] = ACTIONS(417), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(417), + [anon_sym_CARET_EQ] = ACTIONS(417), + [anon_sym_AMP_EQ] = ACTIONS(417), + [anon_sym_PIPE_EQ] = ACTIONS(417), + [anon_sym_TILDE_EQ] = ACTIONS(417), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(417), + [anon_sym_LT_GT_EQ] = ACTIONS(417), + [anon_sym_LT_LT_EQ] = ACTIONS(417), + [anon_sym_GT_GT_EQ] = ACTIONS(417), + [anon_sym_as] = ACTIONS(419), + [anon_sym_BANG] = ACTIONS(419), + [anon_sym_DASH] = ACTIONS(419), + [anon_sym_TILDE] = ACTIONS(419), + [anon_sym_not] = ACTIONS(419), + [anon_sym_or] = ACTIONS(419), + [anon_sym_and] = ACTIONS(419), + [anon_sym_LT_EQ_GT] = ACTIONS(417), + [anon_sym_GT_EQ_LT] = ACTIONS(417), + [anon_sym_LT_LT] = ACTIONS(419), + [anon_sym_GT_GT] = ACTIONS(419), + [anon_sym_PIPE] = ACTIONS(419), + [anon_sym_AMP] = ACTIONS(419), + [anon_sym_PLUS] = ACTIONS(419), + [anon_sym_PLUS_PLUS] = ACTIONS(419), + [anon_sym_LT_GT] = ACTIONS(419), + [anon_sym_STAR] = ACTIONS(419), + [anon_sym_SLASH] = ACTIONS(419), + [anon_sym_BSLASH] = ACTIONS(419), + [anon_sym_PERCENT] = ACTIONS(419), + [anon_sym_PERCENT_PERCENT] = ACTIONS(419), + [anon_sym_EQ_EQ] = ACTIONS(417), + [anon_sym_BANG_EQ] = ACTIONS(417), + [anon_sym_GT_EQ] = ACTIONS(419), + [anon_sym_LT_EQ] = ACTIONS(419), + [anon_sym_in] = ACTIONS(419), + [anon_sym_CARET] = ACTIONS(419), + [anon_sym_DOT_DOT] = ACTIONS(419), + [anon_sym_DOT_DOT_EQ] = ACTIONS(417), + [anon_sym_LBRACK] = ACTIONS(417), + [anon_sym_DOT] = ACTIONS(419), + [anon_sym_PERCENT_LBRACE] = ACTIONS(417), + [anon_sym_for] = ACTIONS(419), + [anon_sym_if] = ACTIONS(419), + [anon_sym_while] = ACTIONS(419), + [anon_sym_return] = ACTIONS(419), + [sym_break_expression] = ACTIONS(419), + [sym_continue_expression] = ACTIONS(419), + [sym_integer] = ACTIONS(419), + [sym_float] = ACTIONS(419), + [sym_complex] = ACTIONS(417), + [anon_sym_true] = ACTIONS(419), + [anon_sym_false] = ACTIONS(419), + [anon_sym_Inf] = ACTIONS(419), + [anon_sym_NaN] = ACTIONS(419), + [anon_sym_DQUOTE] = ACTIONS(417), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(412), - [sym_raw_string] = ACTIONS(412), + [sym_named_op_assign] = ACTIONS(417), + [sym_raw_string] = ACTIONS(417), }, [72] = { - [ts_builtin_sym_end] = ACTIONS(416), - [sym_identifier] = ACTIONS(418), - [anon_sym_SEMI] = ACTIONS(416), - [anon_sym_let] = ACTIONS(418), - [anon_sym_EQ] = ACTIONS(418), - [anon_sym_COMMA] = ACTIONS(416), - [anon_sym_pure] = ACTIONS(418), - [anon_sym_fn] = ACTIONS(418), - [anon_sym_LPAREN] = ACTIONS(416), - [anon_sym_struct] = ACTIONS(418), - [anon_sym_LBRACE] = ACTIONS(416), - [anon_sym_RBRACE] = ACTIONS(416), - [anon_sym_LT] = ACTIONS(418), - [anon_sym_GT] = ACTIONS(418), - [anon_sym_PLUS_EQ] = ACTIONS(416), - [anon_sym_DASH_EQ] = ACTIONS(416), - [anon_sym_STAR_EQ] = ACTIONS(416), - [anon_sym_SLASH_EQ] = ACTIONS(416), - [anon_sym_BSLASH_EQ] = ACTIONS(416), - [anon_sym_PERCENT_EQ] = ACTIONS(416), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(416), - [anon_sym_CARET_EQ] = ACTIONS(416), - [anon_sym_AMP_EQ] = ACTIONS(416), - [anon_sym_PIPE_EQ] = ACTIONS(416), - [anon_sym_TILDE_EQ] = ACTIONS(416), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(416), - [anon_sym_LT_GT_EQ] = ACTIONS(416), - [anon_sym_LT_LT_EQ] = ACTIONS(416), - [anon_sym_GT_GT_EQ] = ACTIONS(416), - [anon_sym_BANG] = ACTIONS(418), - [anon_sym_DASH] = ACTIONS(418), - [anon_sym_TILDE] = ACTIONS(418), - [anon_sym_not] = ACTIONS(418), - [anon_sym_or] = ACTIONS(418), - [anon_sym_and] = ACTIONS(418), - [anon_sym_LT_EQ_GT] = ACTIONS(416), - [anon_sym_GT_EQ_LT] = ACTIONS(416), - [anon_sym_LT_LT] = ACTIONS(418), - [anon_sym_GT_GT] = ACTIONS(418), - [anon_sym_PIPE] = ACTIONS(418), - [anon_sym_AMP] = ACTIONS(418), - [anon_sym_PLUS] = ACTIONS(418), - [anon_sym_PLUS_PLUS] = ACTIONS(418), - [anon_sym_LT_GT] = ACTIONS(418), - [anon_sym_STAR] = ACTIONS(418), - [anon_sym_SLASH] = ACTIONS(418), - [anon_sym_BSLASH] = ACTIONS(418), - [anon_sym_PERCENT] = ACTIONS(418), - [anon_sym_PERCENT_PERCENT] = ACTIONS(418), - [anon_sym_EQ_EQ] = ACTIONS(416), - [anon_sym_BANG_EQ] = ACTIONS(416), - [anon_sym_GT_EQ] = ACTIONS(418), - [anon_sym_LT_EQ] = ACTIONS(418), - [anon_sym_in] = ACTIONS(418), - [anon_sym_CARET] = ACTIONS(418), - [anon_sym_DOT_DOT] = ACTIONS(418), - [anon_sym_DOT_DOT_EQ] = ACTIONS(416), - [anon_sym_LBRACK] = ACTIONS(416), - [anon_sym_DOT] = ACTIONS(418), - [anon_sym_PERCENT_LBRACE] = ACTIONS(416), - [anon_sym_for] = ACTIONS(418), - [anon_sym_if] = ACTIONS(418), - [anon_sym_while] = ACTIONS(418), - [anon_sym_return] = ACTIONS(418), - [sym_break_expression] = ACTIONS(418), - [sym_continue_expression] = ACTIONS(418), - [sym_integer] = ACTIONS(418), - [sym_float] = ACTIONS(418), - [sym_complex] = ACTIONS(416), - [anon_sym_true] = ACTIONS(418), - [anon_sym_false] = ACTIONS(418), - [anon_sym_Inf] = ACTIONS(418), - [anon_sym_NaN] = ACTIONS(418), - [anon_sym_DQUOTE] = ACTIONS(416), + [ts_builtin_sym_end] = ACTIONS(421), + [sym_identifier] = ACTIONS(423), + [anon_sym_SEMI] = ACTIONS(421), + [anon_sym_let] = ACTIONS(423), + [anon_sym_EQ] = ACTIONS(423), + [anon_sym_COMMA] = ACTIONS(421), + [anon_sym_pure] = ACTIONS(423), + [anon_sym_fn] = ACTIONS(423), + [anon_sym_LPAREN] = ACTIONS(421), + [anon_sym_struct] = ACTIONS(423), + [anon_sym_LBRACE] = ACTIONS(421), + [anon_sym_RBRACE] = ACTIONS(421), + [anon_sym_LT] = ACTIONS(423), + [anon_sym_GT] = ACTIONS(423), + [anon_sym_PLUS_EQ] = ACTIONS(421), + [anon_sym_DASH_EQ] = ACTIONS(421), + [anon_sym_STAR_EQ] = ACTIONS(421), + [anon_sym_SLASH_EQ] = ACTIONS(421), + [anon_sym_BSLASH_EQ] = ACTIONS(421), + [anon_sym_PERCENT_EQ] = ACTIONS(421), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(421), + [anon_sym_CARET_EQ] = ACTIONS(421), + [anon_sym_AMP_EQ] = ACTIONS(421), + [anon_sym_PIPE_EQ] = ACTIONS(421), + [anon_sym_TILDE_EQ] = ACTIONS(421), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(421), + [anon_sym_LT_GT_EQ] = ACTIONS(421), + [anon_sym_LT_LT_EQ] = ACTIONS(421), + [anon_sym_GT_GT_EQ] = ACTIONS(421), + [anon_sym_as] = ACTIONS(423), + [anon_sym_BANG] = ACTIONS(423), + [anon_sym_DASH] = ACTIONS(423), + [anon_sym_TILDE] = ACTIONS(423), + [anon_sym_not] = ACTIONS(423), + [anon_sym_or] = ACTIONS(423), + [anon_sym_and] = ACTIONS(423), + [anon_sym_LT_EQ_GT] = ACTIONS(421), + [anon_sym_GT_EQ_LT] = ACTIONS(421), + [anon_sym_LT_LT] = ACTIONS(423), + [anon_sym_GT_GT] = ACTIONS(423), + [anon_sym_PIPE] = ACTIONS(423), + [anon_sym_AMP] = ACTIONS(423), + [anon_sym_PLUS] = ACTIONS(423), + [anon_sym_PLUS_PLUS] = ACTIONS(423), + [anon_sym_LT_GT] = ACTIONS(423), + [anon_sym_STAR] = ACTIONS(423), + [anon_sym_SLASH] = ACTIONS(423), + [anon_sym_BSLASH] = ACTIONS(423), + [anon_sym_PERCENT] = ACTIONS(423), + [anon_sym_PERCENT_PERCENT] = ACTIONS(423), + [anon_sym_EQ_EQ] = ACTIONS(421), + [anon_sym_BANG_EQ] = ACTIONS(421), + [anon_sym_GT_EQ] = ACTIONS(423), + [anon_sym_LT_EQ] = ACTIONS(423), + [anon_sym_in] = ACTIONS(423), + [anon_sym_CARET] = ACTIONS(423), + [anon_sym_DOT_DOT] = ACTIONS(423), + [anon_sym_DOT_DOT_EQ] = ACTIONS(421), + [anon_sym_LBRACK] = ACTIONS(421), + [anon_sym_DOT] = ACTIONS(423), + [anon_sym_PERCENT_LBRACE] = ACTIONS(421), + [anon_sym_for] = ACTIONS(423), + [anon_sym_if] = ACTIONS(423), + [anon_sym_while] = ACTIONS(423), + [anon_sym_return] = ACTIONS(423), + [sym_break_expression] = ACTIONS(423), + [sym_continue_expression] = ACTIONS(423), + [sym_integer] = ACTIONS(423), + [sym_float] = ACTIONS(423), + [sym_complex] = ACTIONS(421), + [anon_sym_true] = ACTIONS(423), + [anon_sym_false] = ACTIONS(423), + [anon_sym_Inf] = ACTIONS(423), + [anon_sym_NaN] = ACTIONS(423), + [anon_sym_DQUOTE] = ACTIONS(421), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(416), - [sym_raw_string] = ACTIONS(416), + [sym_named_op_assign] = ACTIONS(421), + [sym_raw_string] = ACTIONS(421), }, [73] = { - [ts_builtin_sym_end] = ACTIONS(420), - [sym_identifier] = ACTIONS(422), - [anon_sym_SEMI] = ACTIONS(420), - [anon_sym_let] = ACTIONS(422), - [anon_sym_EQ] = ACTIONS(422), - [anon_sym_COMMA] = ACTIONS(420), - [anon_sym_pure] = ACTIONS(422), - [anon_sym_fn] = ACTIONS(422), - [anon_sym_LPAREN] = ACTIONS(420), - [anon_sym_struct] = ACTIONS(422), - [anon_sym_LBRACE] = ACTIONS(420), - [anon_sym_RBRACE] = ACTIONS(420), - [anon_sym_LT] = ACTIONS(422), - [anon_sym_GT] = ACTIONS(422), - [anon_sym_PLUS_EQ] = ACTIONS(420), - [anon_sym_DASH_EQ] = ACTIONS(420), - [anon_sym_STAR_EQ] = ACTIONS(420), - [anon_sym_SLASH_EQ] = ACTIONS(420), - [anon_sym_BSLASH_EQ] = ACTIONS(420), - [anon_sym_PERCENT_EQ] = ACTIONS(420), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(420), - [anon_sym_CARET_EQ] = ACTIONS(420), - [anon_sym_AMP_EQ] = ACTIONS(420), - [anon_sym_PIPE_EQ] = ACTIONS(420), - [anon_sym_TILDE_EQ] = ACTIONS(420), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(420), - [anon_sym_LT_GT_EQ] = ACTIONS(420), - [anon_sym_LT_LT_EQ] = ACTIONS(420), - [anon_sym_GT_GT_EQ] = ACTIONS(420), - [anon_sym_BANG] = ACTIONS(422), - [anon_sym_DASH] = ACTIONS(422), - [anon_sym_TILDE] = ACTIONS(422), - [anon_sym_not] = ACTIONS(422), - [anon_sym_or] = ACTIONS(422), - [anon_sym_and] = ACTIONS(422), - [anon_sym_LT_EQ_GT] = ACTIONS(420), - [anon_sym_GT_EQ_LT] = ACTIONS(420), - [anon_sym_LT_LT] = ACTIONS(422), - [anon_sym_GT_GT] = ACTIONS(422), - [anon_sym_PIPE] = ACTIONS(422), - [anon_sym_AMP] = ACTIONS(422), - [anon_sym_PLUS] = ACTIONS(422), - [anon_sym_PLUS_PLUS] = ACTIONS(422), - [anon_sym_LT_GT] = ACTIONS(422), - [anon_sym_STAR] = ACTIONS(422), - [anon_sym_SLASH] = ACTIONS(422), - [anon_sym_BSLASH] = ACTIONS(422), - [anon_sym_PERCENT] = ACTIONS(422), - [anon_sym_PERCENT_PERCENT] = ACTIONS(422), - [anon_sym_EQ_EQ] = ACTIONS(420), - [anon_sym_BANG_EQ] = ACTIONS(420), - [anon_sym_GT_EQ] = ACTIONS(422), - [anon_sym_LT_EQ] = ACTIONS(422), - [anon_sym_in] = ACTIONS(422), - [anon_sym_CARET] = ACTIONS(422), - [anon_sym_DOT_DOT] = ACTIONS(422), - [anon_sym_DOT_DOT_EQ] = ACTIONS(420), - [anon_sym_LBRACK] = ACTIONS(420), - [anon_sym_DOT] = ACTIONS(422), - [anon_sym_PERCENT_LBRACE] = ACTIONS(420), - [anon_sym_for] = ACTIONS(422), - [anon_sym_if] = ACTIONS(422), - [anon_sym_while] = ACTIONS(422), - [anon_sym_return] = ACTIONS(422), - [sym_break_expression] = ACTIONS(422), - [sym_continue_expression] = ACTIONS(422), - [sym_integer] = ACTIONS(422), - [sym_float] = ACTIONS(422), - [sym_complex] = ACTIONS(420), - [anon_sym_true] = ACTIONS(422), - [anon_sym_false] = ACTIONS(422), - [anon_sym_Inf] = ACTIONS(422), - [anon_sym_NaN] = ACTIONS(422), - [anon_sym_DQUOTE] = ACTIONS(420), + [ts_builtin_sym_end] = ACTIONS(425), + [sym_identifier] = ACTIONS(427), + [anon_sym_SEMI] = ACTIONS(425), + [anon_sym_let] = ACTIONS(427), + [anon_sym_EQ] = ACTIONS(427), + [anon_sym_COMMA] = ACTIONS(425), + [anon_sym_pure] = ACTIONS(427), + [anon_sym_fn] = ACTIONS(427), + [anon_sym_LPAREN] = ACTIONS(425), + [anon_sym_struct] = ACTIONS(427), + [anon_sym_LBRACE] = ACTIONS(425), + [anon_sym_RBRACE] = ACTIONS(425), + [anon_sym_LT] = ACTIONS(427), + [anon_sym_GT] = ACTIONS(427), + [anon_sym_PLUS_EQ] = ACTIONS(425), + [anon_sym_DASH_EQ] = ACTIONS(425), + [anon_sym_STAR_EQ] = ACTIONS(425), + [anon_sym_SLASH_EQ] = ACTIONS(425), + [anon_sym_BSLASH_EQ] = ACTIONS(425), + [anon_sym_PERCENT_EQ] = ACTIONS(425), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(425), + [anon_sym_CARET_EQ] = ACTIONS(425), + [anon_sym_AMP_EQ] = ACTIONS(425), + [anon_sym_PIPE_EQ] = ACTIONS(425), + [anon_sym_TILDE_EQ] = ACTIONS(425), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(425), + [anon_sym_LT_GT_EQ] = ACTIONS(425), + [anon_sym_LT_LT_EQ] = ACTIONS(425), + [anon_sym_GT_GT_EQ] = ACTIONS(425), + [anon_sym_as] = ACTIONS(427), + [anon_sym_BANG] = ACTIONS(427), + [anon_sym_DASH] = ACTIONS(427), + [anon_sym_TILDE] = ACTIONS(427), + [anon_sym_not] = ACTIONS(427), + [anon_sym_or] = ACTIONS(427), + [anon_sym_and] = ACTIONS(427), + [anon_sym_LT_EQ_GT] = ACTIONS(425), + [anon_sym_GT_EQ_LT] = ACTIONS(425), + [anon_sym_LT_LT] = ACTIONS(427), + [anon_sym_GT_GT] = ACTIONS(427), + [anon_sym_PIPE] = ACTIONS(427), + [anon_sym_AMP] = ACTIONS(427), + [anon_sym_PLUS] = ACTIONS(427), + [anon_sym_PLUS_PLUS] = ACTIONS(427), + [anon_sym_LT_GT] = ACTIONS(427), + [anon_sym_STAR] = ACTIONS(427), + [anon_sym_SLASH] = ACTIONS(427), + [anon_sym_BSLASH] = ACTIONS(427), + [anon_sym_PERCENT] = ACTIONS(427), + [anon_sym_PERCENT_PERCENT] = ACTIONS(427), + [anon_sym_EQ_EQ] = ACTIONS(425), + [anon_sym_BANG_EQ] = ACTIONS(425), + [anon_sym_GT_EQ] = ACTIONS(427), + [anon_sym_LT_EQ] = ACTIONS(427), + [anon_sym_in] = ACTIONS(427), + [anon_sym_CARET] = ACTIONS(427), + [anon_sym_DOT_DOT] = ACTIONS(427), + [anon_sym_DOT_DOT_EQ] = ACTIONS(425), + [anon_sym_LBRACK] = ACTIONS(425), + [anon_sym_DOT] = ACTIONS(427), + [anon_sym_PERCENT_LBRACE] = ACTIONS(425), + [anon_sym_for] = ACTIONS(427), + [anon_sym_if] = ACTIONS(427), + [anon_sym_while] = ACTIONS(427), + [anon_sym_return] = ACTIONS(427), + [sym_break_expression] = ACTIONS(427), + [sym_continue_expression] = ACTIONS(427), + [sym_integer] = ACTIONS(427), + [sym_float] = ACTIONS(427), + [sym_complex] = ACTIONS(425), + [anon_sym_true] = ACTIONS(427), + [anon_sym_false] = ACTIONS(427), + [anon_sym_Inf] = ACTIONS(427), + [anon_sym_NaN] = ACTIONS(427), + [anon_sym_DQUOTE] = ACTIONS(425), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(420), - [sym_raw_string] = ACTIONS(420), + [sym_named_op_assign] = ACTIONS(425), + [sym_raw_string] = ACTIONS(425), }, [74] = { - [ts_builtin_sym_end] = ACTIONS(424), - [sym_identifier] = ACTIONS(426), - [anon_sym_SEMI] = ACTIONS(424), - [anon_sym_let] = ACTIONS(426), - [anon_sym_EQ] = ACTIONS(426), - [anon_sym_COMMA] = ACTIONS(424), - [anon_sym_pure] = ACTIONS(426), - [anon_sym_fn] = ACTIONS(426), - [anon_sym_LPAREN] = ACTIONS(424), - [anon_sym_struct] = ACTIONS(426), - [anon_sym_LBRACE] = ACTIONS(424), - [anon_sym_RBRACE] = ACTIONS(424), - [anon_sym_LT] = ACTIONS(426), - [anon_sym_GT] = ACTIONS(426), - [anon_sym_PLUS_EQ] = ACTIONS(424), - [anon_sym_DASH_EQ] = ACTIONS(424), - [anon_sym_STAR_EQ] = ACTIONS(424), - [anon_sym_SLASH_EQ] = ACTIONS(424), - [anon_sym_BSLASH_EQ] = ACTIONS(424), - [anon_sym_PERCENT_EQ] = ACTIONS(424), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(424), - [anon_sym_CARET_EQ] = ACTIONS(424), - [anon_sym_AMP_EQ] = ACTIONS(424), - [anon_sym_PIPE_EQ] = ACTIONS(424), - [anon_sym_TILDE_EQ] = ACTIONS(424), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(424), - [anon_sym_LT_GT_EQ] = ACTIONS(424), - [anon_sym_LT_LT_EQ] = ACTIONS(424), - [anon_sym_GT_GT_EQ] = ACTIONS(424), - [anon_sym_BANG] = ACTIONS(426), - [anon_sym_DASH] = ACTIONS(426), - [anon_sym_TILDE] = ACTIONS(426), - [anon_sym_not] = ACTIONS(426), - [anon_sym_or] = ACTIONS(426), - [anon_sym_and] = ACTIONS(426), - [anon_sym_LT_EQ_GT] = ACTIONS(424), - [anon_sym_GT_EQ_LT] = ACTIONS(424), - [anon_sym_LT_LT] = ACTIONS(426), - [anon_sym_GT_GT] = ACTIONS(426), - [anon_sym_PIPE] = ACTIONS(426), - [anon_sym_AMP] = ACTIONS(426), - [anon_sym_PLUS] = ACTIONS(426), - [anon_sym_PLUS_PLUS] = ACTIONS(426), - [anon_sym_LT_GT] = ACTIONS(426), - [anon_sym_STAR] = ACTIONS(426), - [anon_sym_SLASH] = ACTIONS(426), - [anon_sym_BSLASH] = ACTIONS(426), - [anon_sym_PERCENT] = ACTIONS(426), - [anon_sym_PERCENT_PERCENT] = ACTIONS(426), - [anon_sym_EQ_EQ] = ACTIONS(424), - [anon_sym_BANG_EQ] = ACTIONS(424), - [anon_sym_GT_EQ] = ACTIONS(426), - [anon_sym_LT_EQ] = ACTIONS(426), - [anon_sym_in] = ACTIONS(426), - [anon_sym_CARET] = ACTIONS(426), - [anon_sym_DOT_DOT] = ACTIONS(426), - [anon_sym_DOT_DOT_EQ] = ACTIONS(424), - [anon_sym_LBRACK] = ACTIONS(424), - [anon_sym_DOT] = ACTIONS(426), - [anon_sym_PERCENT_LBRACE] = ACTIONS(424), - [anon_sym_for] = ACTIONS(426), - [anon_sym_if] = ACTIONS(426), - [anon_sym_while] = ACTIONS(426), - [anon_sym_return] = ACTIONS(426), - [sym_break_expression] = ACTIONS(426), - [sym_continue_expression] = ACTIONS(426), - [sym_integer] = ACTIONS(426), - [sym_float] = ACTIONS(426), - [sym_complex] = ACTIONS(424), - [anon_sym_true] = ACTIONS(426), - [anon_sym_false] = ACTIONS(426), - [anon_sym_Inf] = ACTIONS(426), - [anon_sym_NaN] = ACTIONS(426), - [anon_sym_DQUOTE] = ACTIONS(424), + [ts_builtin_sym_end] = ACTIONS(429), + [sym_identifier] = ACTIONS(431), + [anon_sym_SEMI] = ACTIONS(429), + [anon_sym_let] = ACTIONS(431), + [anon_sym_EQ] = ACTIONS(431), + [anon_sym_COMMA] = ACTIONS(429), + [anon_sym_pure] = ACTIONS(431), + [anon_sym_fn] = ACTIONS(431), + [anon_sym_LPAREN] = ACTIONS(429), + [anon_sym_struct] = ACTIONS(431), + [anon_sym_LBRACE] = ACTIONS(429), + [anon_sym_RBRACE] = ACTIONS(429), + [anon_sym_LT] = ACTIONS(431), + [anon_sym_GT] = ACTIONS(431), + [anon_sym_PLUS_EQ] = ACTIONS(429), + [anon_sym_DASH_EQ] = ACTIONS(429), + [anon_sym_STAR_EQ] = ACTIONS(429), + [anon_sym_SLASH_EQ] = ACTIONS(429), + [anon_sym_BSLASH_EQ] = ACTIONS(429), + [anon_sym_PERCENT_EQ] = ACTIONS(429), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(429), + [anon_sym_CARET_EQ] = ACTIONS(429), + [anon_sym_AMP_EQ] = ACTIONS(429), + [anon_sym_PIPE_EQ] = ACTIONS(429), + [anon_sym_TILDE_EQ] = ACTIONS(429), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(429), + [anon_sym_LT_GT_EQ] = ACTIONS(429), + [anon_sym_LT_LT_EQ] = ACTIONS(429), + [anon_sym_GT_GT_EQ] = ACTIONS(429), + [anon_sym_as] = ACTIONS(431), + [anon_sym_BANG] = ACTIONS(431), + [anon_sym_DASH] = ACTIONS(431), + [anon_sym_TILDE] = ACTIONS(431), + [anon_sym_not] = ACTIONS(431), + [anon_sym_or] = ACTIONS(431), + [anon_sym_and] = ACTIONS(431), + [anon_sym_LT_EQ_GT] = ACTIONS(429), + [anon_sym_GT_EQ_LT] = ACTIONS(429), + [anon_sym_LT_LT] = ACTIONS(431), + [anon_sym_GT_GT] = ACTIONS(431), + [anon_sym_PIPE] = ACTIONS(431), + [anon_sym_AMP] = ACTIONS(431), + [anon_sym_PLUS] = ACTIONS(431), + [anon_sym_PLUS_PLUS] = ACTIONS(431), + [anon_sym_LT_GT] = ACTIONS(431), + [anon_sym_STAR] = ACTIONS(431), + [anon_sym_SLASH] = ACTIONS(431), + [anon_sym_BSLASH] = ACTIONS(431), + [anon_sym_PERCENT] = ACTIONS(431), + [anon_sym_PERCENT_PERCENT] = ACTIONS(431), + [anon_sym_EQ_EQ] = ACTIONS(429), + [anon_sym_BANG_EQ] = ACTIONS(429), + [anon_sym_GT_EQ] = ACTIONS(431), + [anon_sym_LT_EQ] = ACTIONS(431), + [anon_sym_in] = ACTIONS(431), + [anon_sym_CARET] = ACTIONS(431), + [anon_sym_DOT_DOT] = ACTIONS(431), + [anon_sym_DOT_DOT_EQ] = ACTIONS(429), + [anon_sym_LBRACK] = ACTIONS(429), + [anon_sym_DOT] = ACTIONS(431), + [anon_sym_PERCENT_LBRACE] = ACTIONS(429), + [anon_sym_for] = ACTIONS(431), + [anon_sym_if] = ACTIONS(431), + [anon_sym_while] = ACTIONS(431), + [anon_sym_return] = ACTIONS(431), + [sym_break_expression] = ACTIONS(431), + [sym_continue_expression] = ACTIONS(431), + [sym_integer] = ACTIONS(431), + [sym_float] = ACTIONS(431), + [sym_complex] = ACTIONS(429), + [anon_sym_true] = ACTIONS(431), + [anon_sym_false] = ACTIONS(431), + [anon_sym_Inf] = ACTIONS(431), + [anon_sym_NaN] = ACTIONS(431), + [anon_sym_DQUOTE] = ACTIONS(429), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(424), - [sym_raw_string] = ACTIONS(424), + [sym_named_op_assign] = ACTIONS(429), + [sym_raw_string] = ACTIONS(429), }, [75] = { - [ts_builtin_sym_end] = ACTIONS(428), - [sym_identifier] = ACTIONS(430), - [anon_sym_SEMI] = ACTIONS(428), - [anon_sym_let] = ACTIONS(430), - [anon_sym_EQ] = ACTIONS(430), - [anon_sym_COMMA] = ACTIONS(428), - [anon_sym_pure] = ACTIONS(430), - [anon_sym_fn] = ACTIONS(430), - [anon_sym_LPAREN] = ACTIONS(428), - [anon_sym_struct] = ACTIONS(430), - [anon_sym_LBRACE] = ACTIONS(428), - [anon_sym_RBRACE] = ACTIONS(428), - [anon_sym_LT] = ACTIONS(430), - [anon_sym_GT] = ACTIONS(430), - [anon_sym_PLUS_EQ] = ACTIONS(428), - [anon_sym_DASH_EQ] = ACTIONS(428), - [anon_sym_STAR_EQ] = ACTIONS(428), - [anon_sym_SLASH_EQ] = ACTIONS(428), - [anon_sym_BSLASH_EQ] = ACTIONS(428), - [anon_sym_PERCENT_EQ] = ACTIONS(428), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(428), - [anon_sym_CARET_EQ] = ACTIONS(428), - [anon_sym_AMP_EQ] = ACTIONS(428), - [anon_sym_PIPE_EQ] = ACTIONS(428), - [anon_sym_TILDE_EQ] = ACTIONS(428), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(428), - [anon_sym_LT_GT_EQ] = ACTIONS(428), - [anon_sym_LT_LT_EQ] = ACTIONS(428), - [anon_sym_GT_GT_EQ] = ACTIONS(428), - [anon_sym_BANG] = ACTIONS(430), - [anon_sym_DASH] = ACTIONS(430), - [anon_sym_TILDE] = ACTIONS(430), - [anon_sym_not] = ACTIONS(430), - [anon_sym_or] = ACTIONS(430), - [anon_sym_and] = ACTIONS(430), - [anon_sym_LT_EQ_GT] = ACTIONS(428), - [anon_sym_GT_EQ_LT] = ACTIONS(428), - [anon_sym_LT_LT] = ACTIONS(430), - [anon_sym_GT_GT] = ACTIONS(430), - [anon_sym_PIPE] = ACTIONS(430), - [anon_sym_AMP] = ACTIONS(430), - [anon_sym_PLUS] = ACTIONS(430), - [anon_sym_PLUS_PLUS] = ACTIONS(430), - [anon_sym_LT_GT] = ACTIONS(430), - [anon_sym_STAR] = ACTIONS(430), - [anon_sym_SLASH] = ACTIONS(430), - [anon_sym_BSLASH] = ACTIONS(430), - [anon_sym_PERCENT] = ACTIONS(430), - [anon_sym_PERCENT_PERCENT] = ACTIONS(430), - [anon_sym_EQ_EQ] = ACTIONS(428), - [anon_sym_BANG_EQ] = ACTIONS(428), - [anon_sym_GT_EQ] = ACTIONS(430), - [anon_sym_LT_EQ] = ACTIONS(430), - [anon_sym_in] = ACTIONS(430), - [anon_sym_CARET] = ACTIONS(430), - [anon_sym_DOT_DOT] = ACTIONS(430), - [anon_sym_DOT_DOT_EQ] = ACTIONS(428), - [anon_sym_LBRACK] = ACTIONS(428), - [anon_sym_DOT] = ACTIONS(430), - [anon_sym_PERCENT_LBRACE] = ACTIONS(428), - [anon_sym_for] = ACTIONS(430), - [anon_sym_if] = ACTIONS(430), - [anon_sym_while] = ACTIONS(430), - [anon_sym_return] = ACTIONS(430), - [sym_break_expression] = ACTIONS(430), - [sym_continue_expression] = ACTIONS(430), - [sym_integer] = ACTIONS(430), - [sym_float] = ACTIONS(430), - [sym_complex] = ACTIONS(428), - [anon_sym_true] = ACTIONS(430), - [anon_sym_false] = ACTIONS(430), - [anon_sym_Inf] = ACTIONS(430), - [anon_sym_NaN] = ACTIONS(430), - [anon_sym_DQUOTE] = ACTIONS(428), + [ts_builtin_sym_end] = ACTIONS(433), + [sym_identifier] = ACTIONS(435), + [anon_sym_SEMI] = ACTIONS(433), + [anon_sym_let] = ACTIONS(435), + [anon_sym_EQ] = ACTIONS(435), + [anon_sym_COMMA] = ACTIONS(433), + [anon_sym_pure] = ACTIONS(435), + [anon_sym_fn] = ACTIONS(435), + [anon_sym_LPAREN] = ACTIONS(433), + [anon_sym_struct] = ACTIONS(435), + [anon_sym_LBRACE] = ACTIONS(433), + [anon_sym_RBRACE] = ACTIONS(433), + [anon_sym_LT] = ACTIONS(435), + [anon_sym_GT] = ACTIONS(435), + [anon_sym_PLUS_EQ] = ACTIONS(433), + [anon_sym_DASH_EQ] = ACTIONS(433), + [anon_sym_STAR_EQ] = ACTIONS(433), + [anon_sym_SLASH_EQ] = ACTIONS(433), + [anon_sym_BSLASH_EQ] = ACTIONS(433), + [anon_sym_PERCENT_EQ] = ACTIONS(433), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(433), + [anon_sym_CARET_EQ] = ACTIONS(433), + [anon_sym_AMP_EQ] = ACTIONS(433), + [anon_sym_PIPE_EQ] = ACTIONS(433), + [anon_sym_TILDE_EQ] = ACTIONS(433), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(433), + [anon_sym_LT_GT_EQ] = ACTIONS(433), + [anon_sym_LT_LT_EQ] = ACTIONS(433), + [anon_sym_GT_GT_EQ] = ACTIONS(433), + [anon_sym_as] = ACTIONS(435), + [anon_sym_BANG] = ACTIONS(435), + [anon_sym_DASH] = ACTIONS(435), + [anon_sym_TILDE] = ACTIONS(435), + [anon_sym_not] = ACTIONS(435), + [anon_sym_or] = ACTIONS(435), + [anon_sym_and] = ACTIONS(435), + [anon_sym_LT_EQ_GT] = ACTIONS(433), + [anon_sym_GT_EQ_LT] = ACTIONS(433), + [anon_sym_LT_LT] = ACTIONS(435), + [anon_sym_GT_GT] = ACTIONS(435), + [anon_sym_PIPE] = ACTIONS(435), + [anon_sym_AMP] = ACTIONS(435), + [anon_sym_PLUS] = ACTIONS(435), + [anon_sym_PLUS_PLUS] = ACTIONS(435), + [anon_sym_LT_GT] = ACTIONS(435), + [anon_sym_STAR] = ACTIONS(435), + [anon_sym_SLASH] = ACTIONS(435), + [anon_sym_BSLASH] = ACTIONS(435), + [anon_sym_PERCENT] = ACTIONS(435), + [anon_sym_PERCENT_PERCENT] = ACTIONS(435), + [anon_sym_EQ_EQ] = ACTIONS(433), + [anon_sym_BANG_EQ] = ACTIONS(433), + [anon_sym_GT_EQ] = ACTIONS(435), + [anon_sym_LT_EQ] = ACTIONS(435), + [anon_sym_in] = ACTIONS(435), + [anon_sym_CARET] = ACTIONS(435), + [anon_sym_DOT_DOT] = ACTIONS(435), + [anon_sym_DOT_DOT_EQ] = ACTIONS(433), + [anon_sym_LBRACK] = ACTIONS(433), + [anon_sym_DOT] = ACTIONS(435), + [anon_sym_PERCENT_LBRACE] = ACTIONS(433), + [anon_sym_for] = ACTIONS(435), + [anon_sym_if] = ACTIONS(435), + [anon_sym_while] = ACTIONS(435), + [anon_sym_return] = ACTIONS(435), + [sym_break_expression] = ACTIONS(435), + [sym_continue_expression] = ACTIONS(435), + [sym_integer] = ACTIONS(435), + [sym_float] = ACTIONS(435), + [sym_complex] = ACTIONS(433), + [anon_sym_true] = ACTIONS(435), + [anon_sym_false] = ACTIONS(435), + [anon_sym_Inf] = ACTIONS(435), + [anon_sym_NaN] = ACTIONS(435), + [anon_sym_DQUOTE] = ACTIONS(433), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(428), - [sym_raw_string] = ACTIONS(428), + [sym_named_op_assign] = ACTIONS(433), + [sym_raw_string] = ACTIONS(433), }, [76] = { - [ts_builtin_sym_end] = ACTIONS(432), - [sym_identifier] = ACTIONS(434), - [anon_sym_SEMI] = ACTIONS(432), - [anon_sym_let] = ACTIONS(434), - [anon_sym_EQ] = ACTIONS(434), - [anon_sym_COMMA] = ACTIONS(432), - [anon_sym_pure] = ACTIONS(434), - [anon_sym_fn] = ACTIONS(434), - [anon_sym_LPAREN] = ACTIONS(432), - [anon_sym_struct] = ACTIONS(434), - [anon_sym_LBRACE] = ACTIONS(432), - [anon_sym_RBRACE] = ACTIONS(432), - [anon_sym_LT] = ACTIONS(434), - [anon_sym_GT] = ACTIONS(434), - [anon_sym_PLUS_EQ] = ACTIONS(432), - [anon_sym_DASH_EQ] = ACTIONS(432), - [anon_sym_STAR_EQ] = ACTIONS(432), - [anon_sym_SLASH_EQ] = ACTIONS(432), - [anon_sym_BSLASH_EQ] = ACTIONS(432), - [anon_sym_PERCENT_EQ] = ACTIONS(432), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(432), - [anon_sym_CARET_EQ] = ACTIONS(432), - [anon_sym_AMP_EQ] = ACTIONS(432), - [anon_sym_PIPE_EQ] = ACTIONS(432), - [anon_sym_TILDE_EQ] = ACTIONS(432), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(432), - [anon_sym_LT_GT_EQ] = ACTIONS(432), - [anon_sym_LT_LT_EQ] = ACTIONS(432), - [anon_sym_GT_GT_EQ] = ACTIONS(432), - [anon_sym_BANG] = ACTIONS(434), - [anon_sym_DASH] = ACTIONS(434), - [anon_sym_TILDE] = ACTIONS(434), - [anon_sym_not] = ACTIONS(434), - [anon_sym_or] = ACTIONS(434), - [anon_sym_and] = ACTIONS(434), - [anon_sym_LT_EQ_GT] = ACTIONS(432), - [anon_sym_GT_EQ_LT] = ACTIONS(432), - [anon_sym_LT_LT] = ACTIONS(434), - [anon_sym_GT_GT] = ACTIONS(434), - [anon_sym_PIPE] = ACTIONS(434), - [anon_sym_AMP] = ACTIONS(434), - [anon_sym_PLUS] = ACTIONS(434), - [anon_sym_PLUS_PLUS] = ACTIONS(434), - [anon_sym_LT_GT] = ACTIONS(434), - [anon_sym_STAR] = ACTIONS(434), - [anon_sym_SLASH] = ACTIONS(434), - [anon_sym_BSLASH] = ACTIONS(434), - [anon_sym_PERCENT] = ACTIONS(434), - [anon_sym_PERCENT_PERCENT] = ACTIONS(434), - [anon_sym_EQ_EQ] = ACTIONS(432), - [anon_sym_BANG_EQ] = ACTIONS(432), - [anon_sym_GT_EQ] = ACTIONS(434), - [anon_sym_LT_EQ] = ACTIONS(434), - [anon_sym_in] = ACTIONS(434), - [anon_sym_CARET] = ACTIONS(434), - [anon_sym_DOT_DOT] = ACTIONS(434), - [anon_sym_DOT_DOT_EQ] = ACTIONS(432), - [anon_sym_LBRACK] = ACTIONS(432), - [anon_sym_DOT] = ACTIONS(434), - [anon_sym_PERCENT_LBRACE] = ACTIONS(432), - [anon_sym_for] = ACTIONS(434), - [anon_sym_if] = ACTIONS(434), - [anon_sym_while] = ACTIONS(434), - [anon_sym_return] = ACTIONS(434), - [sym_break_expression] = ACTIONS(434), - [sym_continue_expression] = ACTIONS(434), - [sym_integer] = ACTIONS(434), - [sym_float] = ACTIONS(434), - [sym_complex] = ACTIONS(432), - [anon_sym_true] = ACTIONS(434), - [anon_sym_false] = ACTIONS(434), - [anon_sym_Inf] = ACTIONS(434), - [anon_sym_NaN] = ACTIONS(434), - [anon_sym_DQUOTE] = ACTIONS(432), + [ts_builtin_sym_end] = ACTIONS(437), + [sym_identifier] = ACTIONS(439), + [anon_sym_SEMI] = ACTIONS(437), + [anon_sym_let] = ACTIONS(439), + [anon_sym_EQ] = ACTIONS(439), + [anon_sym_COMMA] = ACTIONS(437), + [anon_sym_pure] = ACTIONS(439), + [anon_sym_fn] = ACTIONS(439), + [anon_sym_LPAREN] = ACTIONS(437), + [anon_sym_struct] = ACTIONS(439), + [anon_sym_LBRACE] = ACTIONS(437), + [anon_sym_RBRACE] = ACTIONS(437), + [anon_sym_LT] = ACTIONS(439), + [anon_sym_GT] = ACTIONS(439), + [anon_sym_PLUS_EQ] = ACTIONS(437), + [anon_sym_DASH_EQ] = ACTIONS(437), + [anon_sym_STAR_EQ] = ACTIONS(437), + [anon_sym_SLASH_EQ] = ACTIONS(437), + [anon_sym_BSLASH_EQ] = ACTIONS(437), + [anon_sym_PERCENT_EQ] = ACTIONS(437), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(437), + [anon_sym_CARET_EQ] = ACTIONS(437), + [anon_sym_AMP_EQ] = ACTIONS(437), + [anon_sym_PIPE_EQ] = ACTIONS(437), + [anon_sym_TILDE_EQ] = ACTIONS(437), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(437), + [anon_sym_LT_GT_EQ] = ACTIONS(437), + [anon_sym_LT_LT_EQ] = ACTIONS(437), + [anon_sym_GT_GT_EQ] = ACTIONS(437), + [anon_sym_as] = ACTIONS(439), + [anon_sym_BANG] = ACTIONS(439), + [anon_sym_DASH] = ACTIONS(439), + [anon_sym_TILDE] = ACTIONS(439), + [anon_sym_not] = ACTIONS(439), + [anon_sym_or] = ACTIONS(439), + [anon_sym_and] = ACTIONS(439), + [anon_sym_LT_EQ_GT] = ACTIONS(437), + [anon_sym_GT_EQ_LT] = ACTIONS(437), + [anon_sym_LT_LT] = ACTIONS(439), + [anon_sym_GT_GT] = ACTIONS(439), + [anon_sym_PIPE] = ACTIONS(439), + [anon_sym_AMP] = ACTIONS(439), + [anon_sym_PLUS] = ACTIONS(439), + [anon_sym_PLUS_PLUS] = ACTIONS(439), + [anon_sym_LT_GT] = ACTIONS(439), + [anon_sym_STAR] = ACTIONS(439), + [anon_sym_SLASH] = ACTIONS(439), + [anon_sym_BSLASH] = ACTIONS(439), + [anon_sym_PERCENT] = ACTIONS(439), + [anon_sym_PERCENT_PERCENT] = ACTIONS(439), + [anon_sym_EQ_EQ] = ACTIONS(437), + [anon_sym_BANG_EQ] = ACTIONS(437), + [anon_sym_GT_EQ] = ACTIONS(439), + [anon_sym_LT_EQ] = ACTIONS(439), + [anon_sym_in] = ACTIONS(439), + [anon_sym_CARET] = ACTIONS(439), + [anon_sym_DOT_DOT] = ACTIONS(439), + [anon_sym_DOT_DOT_EQ] = ACTIONS(437), + [anon_sym_LBRACK] = ACTIONS(437), + [anon_sym_DOT] = ACTIONS(439), + [anon_sym_PERCENT_LBRACE] = ACTIONS(437), + [anon_sym_for] = ACTIONS(439), + [anon_sym_if] = ACTIONS(439), + [anon_sym_while] = ACTIONS(439), + [anon_sym_return] = ACTIONS(439), + [sym_break_expression] = ACTIONS(439), + [sym_continue_expression] = ACTIONS(439), + [sym_integer] = ACTIONS(439), + [sym_float] = ACTIONS(439), + [sym_complex] = ACTIONS(437), + [anon_sym_true] = ACTIONS(439), + [anon_sym_false] = ACTIONS(439), + [anon_sym_Inf] = ACTIONS(439), + [anon_sym_NaN] = ACTIONS(439), + [anon_sym_DQUOTE] = ACTIONS(437), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(432), - [sym_raw_string] = ACTIONS(432), + [sym_named_op_assign] = ACTIONS(437), + [sym_raw_string] = ACTIONS(437), }, [77] = { - [ts_builtin_sym_end] = ACTIONS(436), - [sym_identifier] = ACTIONS(438), - [anon_sym_SEMI] = ACTIONS(436), - [anon_sym_let] = ACTIONS(438), - [anon_sym_EQ] = ACTIONS(438), - [anon_sym_COMMA] = ACTIONS(436), - [anon_sym_pure] = ACTIONS(438), - [anon_sym_fn] = ACTIONS(438), - [anon_sym_LPAREN] = ACTIONS(436), - [anon_sym_struct] = ACTIONS(438), - [anon_sym_LBRACE] = ACTIONS(436), - [anon_sym_RBRACE] = ACTIONS(436), - [anon_sym_LT] = ACTIONS(438), - [anon_sym_GT] = ACTIONS(438), - [anon_sym_PLUS_EQ] = ACTIONS(436), - [anon_sym_DASH_EQ] = ACTIONS(436), - [anon_sym_STAR_EQ] = ACTIONS(436), - [anon_sym_SLASH_EQ] = ACTIONS(436), - [anon_sym_BSLASH_EQ] = ACTIONS(436), - [anon_sym_PERCENT_EQ] = ACTIONS(436), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(436), - [anon_sym_CARET_EQ] = ACTIONS(436), - [anon_sym_AMP_EQ] = ACTIONS(436), - [anon_sym_PIPE_EQ] = ACTIONS(436), - [anon_sym_TILDE_EQ] = ACTIONS(436), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(436), - [anon_sym_LT_GT_EQ] = ACTIONS(436), - [anon_sym_LT_LT_EQ] = ACTIONS(436), - [anon_sym_GT_GT_EQ] = ACTIONS(436), - [anon_sym_BANG] = ACTIONS(438), - [anon_sym_DASH] = ACTIONS(438), - [anon_sym_TILDE] = ACTIONS(438), - [anon_sym_not] = ACTIONS(438), - [anon_sym_or] = ACTIONS(438), - [anon_sym_and] = ACTIONS(438), - [anon_sym_LT_EQ_GT] = ACTIONS(436), - [anon_sym_GT_EQ_LT] = ACTIONS(436), - [anon_sym_LT_LT] = ACTIONS(438), - [anon_sym_GT_GT] = ACTIONS(438), - [anon_sym_PIPE] = ACTIONS(438), - [anon_sym_AMP] = ACTIONS(438), - [anon_sym_PLUS] = ACTIONS(438), - [anon_sym_PLUS_PLUS] = ACTIONS(438), - [anon_sym_LT_GT] = ACTIONS(438), - [anon_sym_STAR] = ACTIONS(438), - [anon_sym_SLASH] = ACTIONS(438), - [anon_sym_BSLASH] = ACTIONS(438), - [anon_sym_PERCENT] = ACTIONS(438), - [anon_sym_PERCENT_PERCENT] = ACTIONS(438), - [anon_sym_EQ_EQ] = ACTIONS(436), - [anon_sym_BANG_EQ] = ACTIONS(436), - [anon_sym_GT_EQ] = ACTIONS(438), - [anon_sym_LT_EQ] = ACTIONS(438), - [anon_sym_in] = ACTIONS(438), - [anon_sym_CARET] = ACTIONS(438), - [anon_sym_DOT_DOT] = ACTIONS(438), - [anon_sym_DOT_DOT_EQ] = ACTIONS(436), - [anon_sym_LBRACK] = ACTIONS(436), - [anon_sym_DOT] = ACTIONS(438), - [anon_sym_PERCENT_LBRACE] = ACTIONS(436), - [anon_sym_for] = ACTIONS(438), - [anon_sym_if] = ACTIONS(438), - [anon_sym_while] = ACTIONS(438), - [anon_sym_return] = ACTIONS(438), - [sym_break_expression] = ACTIONS(438), - [sym_continue_expression] = ACTIONS(438), - [sym_integer] = ACTIONS(438), - [sym_float] = ACTIONS(438), - [sym_complex] = ACTIONS(436), - [anon_sym_true] = ACTIONS(438), - [anon_sym_false] = ACTIONS(438), - [anon_sym_Inf] = ACTIONS(438), - [anon_sym_NaN] = ACTIONS(438), - [anon_sym_DQUOTE] = ACTIONS(436), + [ts_builtin_sym_end] = ACTIONS(441), + [sym_identifier] = ACTIONS(443), + [anon_sym_SEMI] = ACTIONS(441), + [anon_sym_let] = ACTIONS(443), + [anon_sym_EQ] = ACTIONS(443), + [anon_sym_COMMA] = ACTIONS(441), + [anon_sym_pure] = ACTIONS(443), + [anon_sym_fn] = ACTIONS(443), + [anon_sym_LPAREN] = ACTIONS(441), + [anon_sym_struct] = ACTIONS(443), + [anon_sym_LBRACE] = ACTIONS(441), + [anon_sym_RBRACE] = ACTIONS(441), + [anon_sym_LT] = ACTIONS(443), + [anon_sym_GT] = ACTIONS(443), + [anon_sym_PLUS_EQ] = ACTIONS(441), + [anon_sym_DASH_EQ] = ACTIONS(441), + [anon_sym_STAR_EQ] = ACTIONS(441), + [anon_sym_SLASH_EQ] = ACTIONS(441), + [anon_sym_BSLASH_EQ] = ACTIONS(441), + [anon_sym_PERCENT_EQ] = ACTIONS(441), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(441), + [anon_sym_CARET_EQ] = ACTIONS(441), + [anon_sym_AMP_EQ] = ACTIONS(441), + [anon_sym_PIPE_EQ] = ACTIONS(441), + [anon_sym_TILDE_EQ] = ACTIONS(441), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(441), + [anon_sym_LT_GT_EQ] = ACTIONS(441), + [anon_sym_LT_LT_EQ] = ACTIONS(441), + [anon_sym_GT_GT_EQ] = ACTIONS(441), + [anon_sym_as] = ACTIONS(443), + [anon_sym_BANG] = ACTIONS(443), + [anon_sym_DASH] = ACTIONS(443), + [anon_sym_TILDE] = ACTIONS(443), + [anon_sym_not] = ACTIONS(443), + [anon_sym_or] = ACTIONS(443), + [anon_sym_and] = ACTIONS(443), + [anon_sym_LT_EQ_GT] = ACTIONS(441), + [anon_sym_GT_EQ_LT] = ACTIONS(441), + [anon_sym_LT_LT] = ACTIONS(443), + [anon_sym_GT_GT] = ACTIONS(443), + [anon_sym_PIPE] = ACTIONS(443), + [anon_sym_AMP] = ACTIONS(443), + [anon_sym_PLUS] = ACTIONS(443), + [anon_sym_PLUS_PLUS] = ACTIONS(443), + [anon_sym_LT_GT] = ACTIONS(443), + [anon_sym_STAR] = ACTIONS(443), + [anon_sym_SLASH] = ACTIONS(443), + [anon_sym_BSLASH] = ACTIONS(443), + [anon_sym_PERCENT] = ACTIONS(443), + [anon_sym_PERCENT_PERCENT] = ACTIONS(443), + [anon_sym_EQ_EQ] = ACTIONS(441), + [anon_sym_BANG_EQ] = ACTIONS(441), + [anon_sym_GT_EQ] = ACTIONS(443), + [anon_sym_LT_EQ] = ACTIONS(443), + [anon_sym_in] = ACTIONS(443), + [anon_sym_CARET] = ACTIONS(443), + [anon_sym_DOT_DOT] = ACTIONS(443), + [anon_sym_DOT_DOT_EQ] = ACTIONS(441), + [anon_sym_LBRACK] = ACTIONS(441), + [anon_sym_DOT] = ACTIONS(443), + [anon_sym_PERCENT_LBRACE] = ACTIONS(441), + [anon_sym_for] = ACTIONS(443), + [anon_sym_if] = ACTIONS(443), + [anon_sym_while] = ACTIONS(443), + [anon_sym_return] = ACTIONS(443), + [sym_break_expression] = ACTIONS(443), + [sym_continue_expression] = ACTIONS(443), + [sym_integer] = ACTIONS(443), + [sym_float] = ACTIONS(443), + [sym_complex] = ACTIONS(441), + [anon_sym_true] = ACTIONS(443), + [anon_sym_false] = ACTIONS(443), + [anon_sym_Inf] = ACTIONS(443), + [anon_sym_NaN] = ACTIONS(443), + [anon_sym_DQUOTE] = ACTIONS(441), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(436), - [sym_raw_string] = ACTIONS(436), + [sym_named_op_assign] = ACTIONS(441), + [sym_raw_string] = ACTIONS(441), }, [78] = { - [ts_builtin_sym_end] = ACTIONS(440), - [sym_identifier] = ACTIONS(442), - [anon_sym_SEMI] = ACTIONS(440), - [anon_sym_let] = ACTIONS(442), - [anon_sym_EQ] = ACTIONS(442), - [anon_sym_COMMA] = ACTIONS(440), - [anon_sym_pure] = ACTIONS(442), - [anon_sym_fn] = ACTIONS(442), - [anon_sym_LPAREN] = ACTIONS(440), - [anon_sym_struct] = ACTIONS(442), - [anon_sym_LBRACE] = ACTIONS(440), - [anon_sym_RBRACE] = ACTIONS(440), - [anon_sym_LT] = ACTIONS(442), - [anon_sym_GT] = ACTIONS(442), - [anon_sym_PLUS_EQ] = ACTIONS(440), - [anon_sym_DASH_EQ] = ACTIONS(440), - [anon_sym_STAR_EQ] = ACTIONS(440), - [anon_sym_SLASH_EQ] = ACTIONS(440), - [anon_sym_BSLASH_EQ] = ACTIONS(440), - [anon_sym_PERCENT_EQ] = ACTIONS(440), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(440), - [anon_sym_CARET_EQ] = ACTIONS(440), - [anon_sym_AMP_EQ] = ACTIONS(440), - [anon_sym_PIPE_EQ] = ACTIONS(440), - [anon_sym_TILDE_EQ] = ACTIONS(440), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(440), - [anon_sym_LT_GT_EQ] = ACTIONS(440), - [anon_sym_LT_LT_EQ] = ACTIONS(440), - [anon_sym_GT_GT_EQ] = ACTIONS(440), - [anon_sym_BANG] = ACTIONS(442), - [anon_sym_DASH] = ACTIONS(442), - [anon_sym_TILDE] = ACTIONS(442), - [anon_sym_not] = ACTIONS(442), - [anon_sym_or] = ACTIONS(442), - [anon_sym_and] = ACTIONS(442), - [anon_sym_LT_EQ_GT] = ACTIONS(440), - [anon_sym_GT_EQ_LT] = ACTIONS(440), - [anon_sym_LT_LT] = ACTIONS(442), - [anon_sym_GT_GT] = ACTIONS(442), - [anon_sym_PIPE] = ACTIONS(442), - [anon_sym_AMP] = ACTIONS(442), - [anon_sym_PLUS] = ACTIONS(442), - [anon_sym_PLUS_PLUS] = ACTIONS(442), - [anon_sym_LT_GT] = ACTIONS(442), - [anon_sym_STAR] = ACTIONS(442), - [anon_sym_SLASH] = ACTIONS(442), - [anon_sym_BSLASH] = ACTIONS(442), - [anon_sym_PERCENT] = ACTIONS(442), - [anon_sym_PERCENT_PERCENT] = ACTIONS(442), - [anon_sym_EQ_EQ] = ACTIONS(440), - [anon_sym_BANG_EQ] = ACTIONS(440), - [anon_sym_GT_EQ] = ACTIONS(442), - [anon_sym_LT_EQ] = ACTIONS(442), - [anon_sym_in] = ACTIONS(442), - [anon_sym_CARET] = ACTIONS(442), - [anon_sym_DOT_DOT] = ACTIONS(442), - [anon_sym_DOT_DOT_EQ] = ACTIONS(440), - [anon_sym_LBRACK] = ACTIONS(440), - [anon_sym_DOT] = ACTIONS(442), - [anon_sym_PERCENT_LBRACE] = ACTIONS(440), - [anon_sym_for] = ACTIONS(442), - [anon_sym_if] = ACTIONS(442), - [anon_sym_while] = ACTIONS(442), - [anon_sym_return] = ACTIONS(442), - [sym_break_expression] = ACTIONS(442), - [sym_continue_expression] = ACTIONS(442), - [sym_integer] = ACTIONS(442), - [sym_float] = ACTIONS(442), - [sym_complex] = ACTIONS(440), - [anon_sym_true] = ACTIONS(442), - [anon_sym_false] = ACTIONS(442), - [anon_sym_Inf] = ACTIONS(442), - [anon_sym_NaN] = ACTIONS(442), - [anon_sym_DQUOTE] = ACTIONS(440), + [ts_builtin_sym_end] = ACTIONS(445), + [sym_identifier] = ACTIONS(447), + [anon_sym_SEMI] = ACTIONS(445), + [anon_sym_let] = ACTIONS(447), + [anon_sym_EQ] = ACTIONS(447), + [anon_sym_COMMA] = ACTIONS(445), + [anon_sym_pure] = ACTIONS(447), + [anon_sym_fn] = ACTIONS(447), + [anon_sym_LPAREN] = ACTIONS(445), + [anon_sym_struct] = ACTIONS(447), + [anon_sym_LBRACE] = ACTIONS(445), + [anon_sym_RBRACE] = ACTIONS(445), + [anon_sym_LT] = ACTIONS(447), + [anon_sym_GT] = ACTIONS(447), + [anon_sym_PLUS_EQ] = ACTIONS(445), + [anon_sym_DASH_EQ] = ACTIONS(445), + [anon_sym_STAR_EQ] = ACTIONS(445), + [anon_sym_SLASH_EQ] = ACTIONS(445), + [anon_sym_BSLASH_EQ] = ACTIONS(445), + [anon_sym_PERCENT_EQ] = ACTIONS(445), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(445), + [anon_sym_CARET_EQ] = ACTIONS(445), + [anon_sym_AMP_EQ] = ACTIONS(445), + [anon_sym_PIPE_EQ] = ACTIONS(445), + [anon_sym_TILDE_EQ] = ACTIONS(445), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(445), + [anon_sym_LT_GT_EQ] = ACTIONS(445), + [anon_sym_LT_LT_EQ] = ACTIONS(445), + [anon_sym_GT_GT_EQ] = ACTIONS(445), + [anon_sym_as] = ACTIONS(447), + [anon_sym_BANG] = ACTIONS(447), + [anon_sym_DASH] = ACTIONS(447), + [anon_sym_TILDE] = ACTIONS(447), + [anon_sym_not] = ACTIONS(447), + [anon_sym_or] = ACTIONS(447), + [anon_sym_and] = ACTIONS(447), + [anon_sym_LT_EQ_GT] = ACTIONS(445), + [anon_sym_GT_EQ_LT] = ACTIONS(445), + [anon_sym_LT_LT] = ACTIONS(447), + [anon_sym_GT_GT] = ACTIONS(447), + [anon_sym_PIPE] = ACTIONS(447), + [anon_sym_AMP] = ACTIONS(447), + [anon_sym_PLUS] = ACTIONS(447), + [anon_sym_PLUS_PLUS] = ACTIONS(447), + [anon_sym_LT_GT] = ACTIONS(447), + [anon_sym_STAR] = ACTIONS(447), + [anon_sym_SLASH] = ACTIONS(447), + [anon_sym_BSLASH] = ACTIONS(447), + [anon_sym_PERCENT] = ACTIONS(447), + [anon_sym_PERCENT_PERCENT] = ACTIONS(447), + [anon_sym_EQ_EQ] = ACTIONS(445), + [anon_sym_BANG_EQ] = ACTIONS(445), + [anon_sym_GT_EQ] = ACTIONS(447), + [anon_sym_LT_EQ] = ACTIONS(447), + [anon_sym_in] = ACTIONS(447), + [anon_sym_CARET] = ACTIONS(447), + [anon_sym_DOT_DOT] = ACTIONS(447), + [anon_sym_DOT_DOT_EQ] = ACTIONS(445), + [anon_sym_LBRACK] = ACTIONS(445), + [anon_sym_DOT] = ACTIONS(447), + [anon_sym_PERCENT_LBRACE] = ACTIONS(445), + [anon_sym_for] = ACTIONS(447), + [anon_sym_if] = ACTIONS(447), + [anon_sym_while] = ACTIONS(447), + [anon_sym_return] = ACTIONS(447), + [sym_break_expression] = ACTIONS(447), + [sym_continue_expression] = ACTIONS(447), + [sym_integer] = ACTIONS(447), + [sym_float] = ACTIONS(447), + [sym_complex] = ACTIONS(445), + [anon_sym_true] = ACTIONS(447), + [anon_sym_false] = ACTIONS(447), + [anon_sym_Inf] = ACTIONS(447), + [anon_sym_NaN] = ACTIONS(447), + [anon_sym_DQUOTE] = ACTIONS(445), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(440), - [sym_raw_string] = ACTIONS(440), + [sym_named_op_assign] = ACTIONS(445), + [sym_raw_string] = ACTIONS(445), }, [79] = { - [ts_builtin_sym_end] = ACTIONS(444), - [sym_identifier] = ACTIONS(446), - [anon_sym_SEMI] = ACTIONS(444), - [anon_sym_let] = ACTIONS(446), - [anon_sym_EQ] = ACTIONS(446), - [anon_sym_COMMA] = ACTIONS(444), - [anon_sym_pure] = ACTIONS(446), - [anon_sym_fn] = ACTIONS(446), - [anon_sym_LPAREN] = ACTIONS(444), - [anon_sym_struct] = ACTIONS(446), - [anon_sym_LBRACE] = ACTIONS(444), - [anon_sym_RBRACE] = ACTIONS(444), - [anon_sym_LT] = ACTIONS(446), - [anon_sym_GT] = ACTIONS(446), - [anon_sym_PLUS_EQ] = ACTIONS(444), - [anon_sym_DASH_EQ] = ACTIONS(444), - [anon_sym_STAR_EQ] = ACTIONS(444), - [anon_sym_SLASH_EQ] = ACTIONS(444), - [anon_sym_BSLASH_EQ] = ACTIONS(444), - [anon_sym_PERCENT_EQ] = ACTIONS(444), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(444), - [anon_sym_CARET_EQ] = ACTIONS(444), - [anon_sym_AMP_EQ] = ACTIONS(444), - [anon_sym_PIPE_EQ] = ACTIONS(444), - [anon_sym_TILDE_EQ] = ACTIONS(444), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(444), - [anon_sym_LT_GT_EQ] = ACTIONS(444), - [anon_sym_LT_LT_EQ] = ACTIONS(444), - [anon_sym_GT_GT_EQ] = ACTIONS(444), - [anon_sym_BANG] = ACTIONS(446), - [anon_sym_DASH] = ACTIONS(446), - [anon_sym_TILDE] = ACTIONS(446), - [anon_sym_not] = ACTIONS(446), - [anon_sym_or] = ACTIONS(446), - [anon_sym_and] = ACTIONS(446), - [anon_sym_LT_EQ_GT] = ACTIONS(444), - [anon_sym_GT_EQ_LT] = ACTIONS(444), - [anon_sym_LT_LT] = ACTIONS(446), - [anon_sym_GT_GT] = ACTIONS(446), - [anon_sym_PIPE] = ACTIONS(446), - [anon_sym_AMP] = ACTIONS(446), - [anon_sym_PLUS] = ACTIONS(446), - [anon_sym_PLUS_PLUS] = ACTIONS(446), - [anon_sym_LT_GT] = ACTIONS(446), - [anon_sym_STAR] = ACTIONS(446), - [anon_sym_SLASH] = ACTIONS(446), - [anon_sym_BSLASH] = ACTIONS(446), - [anon_sym_PERCENT] = ACTIONS(446), - [anon_sym_PERCENT_PERCENT] = ACTIONS(446), - [anon_sym_EQ_EQ] = ACTIONS(444), - [anon_sym_BANG_EQ] = ACTIONS(444), - [anon_sym_GT_EQ] = ACTIONS(446), - [anon_sym_LT_EQ] = ACTIONS(446), - [anon_sym_in] = ACTIONS(446), - [anon_sym_CARET] = ACTIONS(446), - [anon_sym_DOT_DOT] = ACTIONS(446), - [anon_sym_DOT_DOT_EQ] = ACTIONS(444), - [anon_sym_LBRACK] = ACTIONS(444), - [anon_sym_DOT] = ACTIONS(446), - [anon_sym_PERCENT_LBRACE] = ACTIONS(444), - [anon_sym_for] = ACTIONS(446), - [anon_sym_if] = ACTIONS(446), - [anon_sym_while] = ACTIONS(446), - [anon_sym_return] = ACTIONS(446), - [sym_break_expression] = ACTIONS(446), - [sym_continue_expression] = ACTIONS(446), - [sym_integer] = ACTIONS(446), - [sym_float] = ACTIONS(446), - [sym_complex] = ACTIONS(444), - [anon_sym_true] = ACTIONS(446), - [anon_sym_false] = ACTIONS(446), - [anon_sym_Inf] = ACTIONS(446), - [anon_sym_NaN] = ACTIONS(446), - [anon_sym_DQUOTE] = ACTIONS(444), + [ts_builtin_sym_end] = ACTIONS(449), + [sym_identifier] = ACTIONS(451), + [anon_sym_SEMI] = ACTIONS(449), + [anon_sym_let] = ACTIONS(451), + [anon_sym_EQ] = ACTIONS(451), + [anon_sym_COMMA] = ACTIONS(449), + [anon_sym_pure] = ACTIONS(451), + [anon_sym_fn] = ACTIONS(451), + [anon_sym_LPAREN] = ACTIONS(449), + [anon_sym_struct] = ACTIONS(451), + [anon_sym_LBRACE] = ACTIONS(449), + [anon_sym_RBRACE] = ACTIONS(449), + [anon_sym_LT] = ACTIONS(451), + [anon_sym_GT] = ACTIONS(451), + [anon_sym_PLUS_EQ] = ACTIONS(449), + [anon_sym_DASH_EQ] = ACTIONS(449), + [anon_sym_STAR_EQ] = ACTIONS(449), + [anon_sym_SLASH_EQ] = ACTIONS(449), + [anon_sym_BSLASH_EQ] = ACTIONS(449), + [anon_sym_PERCENT_EQ] = ACTIONS(449), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(449), + [anon_sym_CARET_EQ] = ACTIONS(449), + [anon_sym_AMP_EQ] = ACTIONS(449), + [anon_sym_PIPE_EQ] = ACTIONS(449), + [anon_sym_TILDE_EQ] = ACTIONS(449), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(449), + [anon_sym_LT_GT_EQ] = ACTIONS(449), + [anon_sym_LT_LT_EQ] = ACTIONS(449), + [anon_sym_GT_GT_EQ] = ACTIONS(449), + [anon_sym_as] = ACTIONS(451), + [anon_sym_BANG] = ACTIONS(451), + [anon_sym_DASH] = ACTIONS(451), + [anon_sym_TILDE] = ACTIONS(451), + [anon_sym_not] = ACTIONS(451), + [anon_sym_or] = ACTIONS(451), + [anon_sym_and] = ACTIONS(451), + [anon_sym_LT_EQ_GT] = ACTIONS(449), + [anon_sym_GT_EQ_LT] = ACTIONS(449), + [anon_sym_LT_LT] = ACTIONS(451), + [anon_sym_GT_GT] = ACTIONS(451), + [anon_sym_PIPE] = ACTIONS(451), + [anon_sym_AMP] = ACTIONS(451), + [anon_sym_PLUS] = ACTIONS(451), + [anon_sym_PLUS_PLUS] = ACTIONS(451), + [anon_sym_LT_GT] = ACTIONS(451), + [anon_sym_STAR] = ACTIONS(451), + [anon_sym_SLASH] = ACTIONS(451), + [anon_sym_BSLASH] = ACTIONS(451), + [anon_sym_PERCENT] = ACTIONS(451), + [anon_sym_PERCENT_PERCENT] = ACTIONS(451), + [anon_sym_EQ_EQ] = ACTIONS(449), + [anon_sym_BANG_EQ] = ACTIONS(449), + [anon_sym_GT_EQ] = ACTIONS(451), + [anon_sym_LT_EQ] = ACTIONS(451), + [anon_sym_in] = ACTIONS(451), + [anon_sym_CARET] = ACTIONS(451), + [anon_sym_DOT_DOT] = ACTIONS(451), + [anon_sym_DOT_DOT_EQ] = ACTIONS(449), + [anon_sym_LBRACK] = ACTIONS(449), + [anon_sym_DOT] = ACTIONS(451), + [anon_sym_PERCENT_LBRACE] = ACTIONS(449), + [anon_sym_for] = ACTIONS(451), + [anon_sym_if] = ACTIONS(451), + [anon_sym_while] = ACTIONS(451), + [anon_sym_return] = ACTIONS(451), + [sym_break_expression] = ACTIONS(451), + [sym_continue_expression] = ACTIONS(451), + [sym_integer] = ACTIONS(451), + [sym_float] = ACTIONS(451), + [sym_complex] = ACTIONS(449), + [anon_sym_true] = ACTIONS(451), + [anon_sym_false] = ACTIONS(451), + [anon_sym_Inf] = ACTIONS(451), + [anon_sym_NaN] = ACTIONS(451), + [anon_sym_DQUOTE] = ACTIONS(449), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(444), - [sym_raw_string] = ACTIONS(444), + [sym_named_op_assign] = ACTIONS(449), + [sym_raw_string] = ACTIONS(449), }, [80] = { - [ts_builtin_sym_end] = ACTIONS(448), - [sym_identifier] = ACTIONS(450), - [anon_sym_SEMI] = ACTIONS(448), - [anon_sym_let] = ACTIONS(450), - [anon_sym_EQ] = ACTIONS(450), - [anon_sym_COMMA] = ACTIONS(448), - [anon_sym_pure] = ACTIONS(450), - [anon_sym_fn] = ACTIONS(450), - [anon_sym_LPAREN] = ACTIONS(448), - [anon_sym_struct] = ACTIONS(450), - [anon_sym_LBRACE] = ACTIONS(448), - [anon_sym_RBRACE] = ACTIONS(448), - [anon_sym_LT] = ACTIONS(450), - [anon_sym_GT] = ACTIONS(450), - [anon_sym_PLUS_EQ] = ACTIONS(448), - [anon_sym_DASH_EQ] = ACTIONS(448), - [anon_sym_STAR_EQ] = ACTIONS(448), - [anon_sym_SLASH_EQ] = ACTIONS(448), - [anon_sym_BSLASH_EQ] = ACTIONS(448), - [anon_sym_PERCENT_EQ] = ACTIONS(448), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(448), - [anon_sym_CARET_EQ] = ACTIONS(448), - [anon_sym_AMP_EQ] = ACTIONS(448), - [anon_sym_PIPE_EQ] = ACTIONS(448), - [anon_sym_TILDE_EQ] = ACTIONS(448), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(448), - [anon_sym_LT_GT_EQ] = ACTIONS(448), - [anon_sym_LT_LT_EQ] = ACTIONS(448), - [anon_sym_GT_GT_EQ] = ACTIONS(448), - [anon_sym_BANG] = ACTIONS(450), - [anon_sym_DASH] = ACTIONS(450), - [anon_sym_TILDE] = ACTIONS(450), - [anon_sym_not] = ACTIONS(450), - [anon_sym_or] = ACTIONS(450), - [anon_sym_and] = ACTIONS(450), - [anon_sym_LT_EQ_GT] = ACTIONS(448), - [anon_sym_GT_EQ_LT] = ACTIONS(448), - [anon_sym_LT_LT] = ACTIONS(450), - [anon_sym_GT_GT] = ACTIONS(450), - [anon_sym_PIPE] = ACTIONS(450), - [anon_sym_AMP] = ACTIONS(450), - [anon_sym_PLUS] = ACTIONS(450), - [anon_sym_PLUS_PLUS] = ACTIONS(450), - [anon_sym_LT_GT] = ACTIONS(450), - [anon_sym_STAR] = ACTIONS(450), - [anon_sym_SLASH] = ACTIONS(450), - [anon_sym_BSLASH] = ACTIONS(450), - [anon_sym_PERCENT] = ACTIONS(450), - [anon_sym_PERCENT_PERCENT] = ACTIONS(450), - [anon_sym_EQ_EQ] = ACTIONS(448), - [anon_sym_BANG_EQ] = ACTIONS(448), - [anon_sym_GT_EQ] = ACTIONS(450), - [anon_sym_LT_EQ] = ACTIONS(450), - [anon_sym_in] = ACTIONS(450), - [anon_sym_CARET] = ACTIONS(450), - [anon_sym_DOT_DOT] = ACTIONS(450), - [anon_sym_DOT_DOT_EQ] = ACTIONS(448), - [anon_sym_LBRACK] = ACTIONS(448), - [anon_sym_DOT] = ACTIONS(450), - [anon_sym_PERCENT_LBRACE] = ACTIONS(448), - [anon_sym_for] = ACTIONS(450), - [anon_sym_if] = ACTIONS(450), - [anon_sym_while] = ACTIONS(450), - [anon_sym_return] = ACTIONS(450), - [sym_break_expression] = ACTIONS(450), - [sym_continue_expression] = ACTIONS(450), - [sym_integer] = ACTIONS(450), - [sym_float] = ACTIONS(450), - [sym_complex] = ACTIONS(448), - [anon_sym_true] = ACTIONS(450), - [anon_sym_false] = ACTIONS(450), - [anon_sym_Inf] = ACTIONS(450), - [anon_sym_NaN] = ACTIONS(450), - [anon_sym_DQUOTE] = ACTIONS(448), + [ts_builtin_sym_end] = ACTIONS(453), + [sym_identifier] = ACTIONS(455), + [anon_sym_SEMI] = ACTIONS(453), + [anon_sym_let] = ACTIONS(455), + [anon_sym_EQ] = ACTIONS(455), + [anon_sym_COMMA] = ACTIONS(453), + [anon_sym_pure] = ACTIONS(455), + [anon_sym_fn] = ACTIONS(455), + [anon_sym_LPAREN] = ACTIONS(453), + [anon_sym_struct] = ACTIONS(455), + [anon_sym_LBRACE] = ACTIONS(453), + [anon_sym_RBRACE] = ACTIONS(453), + [anon_sym_LT] = ACTIONS(455), + [anon_sym_GT] = ACTIONS(455), + [anon_sym_PLUS_EQ] = ACTIONS(453), + [anon_sym_DASH_EQ] = ACTIONS(453), + [anon_sym_STAR_EQ] = ACTIONS(453), + [anon_sym_SLASH_EQ] = ACTIONS(453), + [anon_sym_BSLASH_EQ] = ACTIONS(453), + [anon_sym_PERCENT_EQ] = ACTIONS(453), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(453), + [anon_sym_CARET_EQ] = ACTIONS(453), + [anon_sym_AMP_EQ] = ACTIONS(453), + [anon_sym_PIPE_EQ] = ACTIONS(453), + [anon_sym_TILDE_EQ] = ACTIONS(453), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(453), + [anon_sym_LT_GT_EQ] = ACTIONS(453), + [anon_sym_LT_LT_EQ] = ACTIONS(453), + [anon_sym_GT_GT_EQ] = ACTIONS(453), + [anon_sym_as] = ACTIONS(455), + [anon_sym_BANG] = ACTIONS(455), + [anon_sym_DASH] = ACTIONS(455), + [anon_sym_TILDE] = ACTIONS(455), + [anon_sym_not] = ACTIONS(455), + [anon_sym_or] = ACTIONS(455), + [anon_sym_and] = ACTIONS(455), + [anon_sym_LT_EQ_GT] = ACTIONS(453), + [anon_sym_GT_EQ_LT] = ACTIONS(453), + [anon_sym_LT_LT] = ACTIONS(455), + [anon_sym_GT_GT] = ACTIONS(455), + [anon_sym_PIPE] = ACTIONS(455), + [anon_sym_AMP] = ACTIONS(455), + [anon_sym_PLUS] = ACTIONS(455), + [anon_sym_PLUS_PLUS] = ACTIONS(455), + [anon_sym_LT_GT] = ACTIONS(455), + [anon_sym_STAR] = ACTIONS(455), + [anon_sym_SLASH] = ACTIONS(455), + [anon_sym_BSLASH] = ACTIONS(455), + [anon_sym_PERCENT] = ACTIONS(455), + [anon_sym_PERCENT_PERCENT] = ACTIONS(455), + [anon_sym_EQ_EQ] = ACTIONS(453), + [anon_sym_BANG_EQ] = ACTIONS(453), + [anon_sym_GT_EQ] = ACTIONS(455), + [anon_sym_LT_EQ] = ACTIONS(455), + [anon_sym_in] = ACTIONS(455), + [anon_sym_CARET] = ACTIONS(455), + [anon_sym_DOT_DOT] = ACTIONS(455), + [anon_sym_DOT_DOT_EQ] = ACTIONS(453), + [anon_sym_LBRACK] = ACTIONS(453), + [anon_sym_DOT] = ACTIONS(455), + [anon_sym_PERCENT_LBRACE] = ACTIONS(453), + [anon_sym_for] = ACTIONS(455), + [anon_sym_if] = ACTIONS(455), + [anon_sym_while] = ACTIONS(455), + [anon_sym_return] = ACTIONS(455), + [sym_break_expression] = ACTIONS(455), + [sym_continue_expression] = ACTIONS(455), + [sym_integer] = ACTIONS(455), + [sym_float] = ACTIONS(455), + [sym_complex] = ACTIONS(453), + [anon_sym_true] = ACTIONS(455), + [anon_sym_false] = ACTIONS(455), + [anon_sym_Inf] = ACTIONS(455), + [anon_sym_NaN] = ACTIONS(455), + [anon_sym_DQUOTE] = ACTIONS(453), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(448), - [sym_raw_string] = ACTIONS(448), + [sym_named_op_assign] = ACTIONS(453), + [sym_raw_string] = ACTIONS(453), }, [81] = { - [ts_builtin_sym_end] = ACTIONS(452), - [sym_identifier] = ACTIONS(454), - [anon_sym_SEMI] = ACTIONS(452), - [anon_sym_let] = ACTIONS(454), - [anon_sym_EQ] = ACTIONS(454), - [anon_sym_COMMA] = ACTIONS(452), - [anon_sym_pure] = ACTIONS(454), - [anon_sym_fn] = ACTIONS(454), - [anon_sym_LPAREN] = ACTIONS(452), - [anon_sym_struct] = ACTIONS(454), - [anon_sym_LBRACE] = ACTIONS(452), - [anon_sym_RBRACE] = ACTIONS(452), - [anon_sym_LT] = ACTIONS(454), - [anon_sym_GT] = ACTIONS(454), - [anon_sym_PLUS_EQ] = ACTIONS(452), - [anon_sym_DASH_EQ] = ACTIONS(452), - [anon_sym_STAR_EQ] = ACTIONS(452), - [anon_sym_SLASH_EQ] = ACTIONS(452), - [anon_sym_BSLASH_EQ] = ACTIONS(452), - [anon_sym_PERCENT_EQ] = ACTIONS(452), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(452), - [anon_sym_CARET_EQ] = ACTIONS(452), - [anon_sym_AMP_EQ] = ACTIONS(452), - [anon_sym_PIPE_EQ] = ACTIONS(452), - [anon_sym_TILDE_EQ] = ACTIONS(452), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(452), - [anon_sym_LT_GT_EQ] = ACTIONS(452), - [anon_sym_LT_LT_EQ] = ACTIONS(452), - [anon_sym_GT_GT_EQ] = ACTIONS(452), - [anon_sym_BANG] = ACTIONS(454), - [anon_sym_DASH] = ACTIONS(454), - [anon_sym_TILDE] = ACTIONS(454), - [anon_sym_not] = ACTIONS(454), - [anon_sym_or] = ACTIONS(454), - [anon_sym_and] = ACTIONS(454), - [anon_sym_LT_EQ_GT] = ACTIONS(452), - [anon_sym_GT_EQ_LT] = ACTIONS(452), - [anon_sym_LT_LT] = ACTIONS(454), - [anon_sym_GT_GT] = ACTIONS(454), - [anon_sym_PIPE] = ACTIONS(454), - [anon_sym_AMP] = ACTIONS(454), - [anon_sym_PLUS] = ACTIONS(454), - [anon_sym_PLUS_PLUS] = ACTIONS(454), - [anon_sym_LT_GT] = ACTIONS(454), - [anon_sym_STAR] = ACTIONS(454), - [anon_sym_SLASH] = ACTIONS(454), - [anon_sym_BSLASH] = ACTIONS(454), - [anon_sym_PERCENT] = ACTIONS(454), - [anon_sym_PERCENT_PERCENT] = ACTIONS(454), - [anon_sym_EQ_EQ] = ACTIONS(452), - [anon_sym_BANG_EQ] = ACTIONS(452), - [anon_sym_GT_EQ] = ACTIONS(454), - [anon_sym_LT_EQ] = ACTIONS(454), - [anon_sym_in] = ACTIONS(454), - [anon_sym_CARET] = ACTIONS(454), - [anon_sym_DOT_DOT] = ACTIONS(454), - [anon_sym_DOT_DOT_EQ] = ACTIONS(452), - [anon_sym_LBRACK] = ACTIONS(452), - [anon_sym_DOT] = ACTIONS(454), - [anon_sym_PERCENT_LBRACE] = ACTIONS(452), - [anon_sym_for] = ACTIONS(454), - [anon_sym_if] = ACTIONS(454), - [anon_sym_while] = ACTIONS(454), - [anon_sym_return] = ACTIONS(454), - [sym_break_expression] = ACTIONS(454), - [sym_continue_expression] = ACTIONS(454), - [sym_integer] = ACTIONS(454), - [sym_float] = ACTIONS(454), - [sym_complex] = ACTIONS(452), - [anon_sym_true] = ACTIONS(454), - [anon_sym_false] = ACTIONS(454), - [anon_sym_Inf] = ACTIONS(454), - [anon_sym_NaN] = ACTIONS(454), - [anon_sym_DQUOTE] = ACTIONS(452), + [ts_builtin_sym_end] = ACTIONS(457), + [sym_identifier] = ACTIONS(459), + [anon_sym_SEMI] = ACTIONS(457), + [anon_sym_let] = ACTIONS(459), + [anon_sym_EQ] = ACTIONS(459), + [anon_sym_COMMA] = ACTIONS(457), + [anon_sym_pure] = ACTIONS(459), + [anon_sym_fn] = ACTIONS(459), + [anon_sym_LPAREN] = ACTIONS(457), + [anon_sym_struct] = ACTIONS(459), + [anon_sym_LBRACE] = ACTIONS(457), + [anon_sym_RBRACE] = ACTIONS(457), + [anon_sym_LT] = ACTIONS(459), + [anon_sym_GT] = ACTIONS(459), + [anon_sym_PLUS_EQ] = ACTIONS(457), + [anon_sym_DASH_EQ] = ACTIONS(457), + [anon_sym_STAR_EQ] = ACTIONS(457), + [anon_sym_SLASH_EQ] = ACTIONS(457), + [anon_sym_BSLASH_EQ] = ACTIONS(457), + [anon_sym_PERCENT_EQ] = ACTIONS(457), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(457), + [anon_sym_CARET_EQ] = ACTIONS(457), + [anon_sym_AMP_EQ] = ACTIONS(457), + [anon_sym_PIPE_EQ] = ACTIONS(457), + [anon_sym_TILDE_EQ] = ACTIONS(457), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(457), + [anon_sym_LT_GT_EQ] = ACTIONS(457), + [anon_sym_LT_LT_EQ] = ACTIONS(457), + [anon_sym_GT_GT_EQ] = ACTIONS(457), + [anon_sym_as] = ACTIONS(459), + [anon_sym_BANG] = ACTIONS(459), + [anon_sym_DASH] = ACTIONS(459), + [anon_sym_TILDE] = ACTIONS(459), + [anon_sym_not] = ACTIONS(459), + [anon_sym_or] = ACTIONS(459), + [anon_sym_and] = ACTIONS(459), + [anon_sym_LT_EQ_GT] = ACTIONS(457), + [anon_sym_GT_EQ_LT] = ACTIONS(457), + [anon_sym_LT_LT] = ACTIONS(459), + [anon_sym_GT_GT] = ACTIONS(459), + [anon_sym_PIPE] = ACTIONS(459), + [anon_sym_AMP] = ACTIONS(459), + [anon_sym_PLUS] = ACTIONS(459), + [anon_sym_PLUS_PLUS] = ACTIONS(459), + [anon_sym_LT_GT] = ACTIONS(459), + [anon_sym_STAR] = ACTIONS(459), + [anon_sym_SLASH] = ACTIONS(459), + [anon_sym_BSLASH] = ACTIONS(459), + [anon_sym_PERCENT] = ACTIONS(459), + [anon_sym_PERCENT_PERCENT] = ACTIONS(459), + [anon_sym_EQ_EQ] = ACTIONS(457), + [anon_sym_BANG_EQ] = ACTIONS(457), + [anon_sym_GT_EQ] = ACTIONS(459), + [anon_sym_LT_EQ] = ACTIONS(459), + [anon_sym_in] = ACTIONS(459), + [anon_sym_CARET] = ACTIONS(459), + [anon_sym_DOT_DOT] = ACTIONS(459), + [anon_sym_DOT_DOT_EQ] = ACTIONS(457), + [anon_sym_LBRACK] = ACTIONS(457), + [anon_sym_DOT] = ACTIONS(459), + [anon_sym_PERCENT_LBRACE] = ACTIONS(457), + [anon_sym_for] = ACTIONS(459), + [anon_sym_if] = ACTIONS(459), + [anon_sym_while] = ACTIONS(459), + [anon_sym_return] = ACTIONS(459), + [sym_break_expression] = ACTIONS(459), + [sym_continue_expression] = ACTIONS(459), + [sym_integer] = ACTIONS(459), + [sym_float] = ACTIONS(459), + [sym_complex] = ACTIONS(457), + [anon_sym_true] = ACTIONS(459), + [anon_sym_false] = ACTIONS(459), + [anon_sym_Inf] = ACTIONS(459), + [anon_sym_NaN] = ACTIONS(459), + [anon_sym_DQUOTE] = ACTIONS(457), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(452), - [sym_raw_string] = ACTIONS(452), + [sym_named_op_assign] = ACTIONS(457), + [sym_raw_string] = ACTIONS(457), }, [82] = { - [ts_builtin_sym_end] = ACTIONS(456), - [sym_identifier] = ACTIONS(458), - [anon_sym_SEMI] = ACTIONS(456), - [anon_sym_let] = ACTIONS(458), - [anon_sym_EQ] = ACTIONS(458), - [anon_sym_COMMA] = ACTIONS(456), - [anon_sym_pure] = ACTIONS(458), - [anon_sym_fn] = ACTIONS(458), - [anon_sym_LPAREN] = ACTIONS(456), - [anon_sym_struct] = ACTIONS(458), - [anon_sym_LBRACE] = ACTIONS(456), - [anon_sym_RBRACE] = ACTIONS(456), - [anon_sym_LT] = ACTIONS(458), - [anon_sym_GT] = ACTIONS(458), - [anon_sym_PLUS_EQ] = ACTIONS(456), - [anon_sym_DASH_EQ] = ACTIONS(456), - [anon_sym_STAR_EQ] = ACTIONS(456), - [anon_sym_SLASH_EQ] = ACTIONS(456), - [anon_sym_BSLASH_EQ] = ACTIONS(456), - [anon_sym_PERCENT_EQ] = ACTIONS(456), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(456), - [anon_sym_CARET_EQ] = ACTIONS(456), - [anon_sym_AMP_EQ] = ACTIONS(456), - [anon_sym_PIPE_EQ] = ACTIONS(456), - [anon_sym_TILDE_EQ] = ACTIONS(456), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(456), - [anon_sym_LT_GT_EQ] = ACTIONS(456), - [anon_sym_LT_LT_EQ] = ACTIONS(456), - [anon_sym_GT_GT_EQ] = ACTIONS(456), - [anon_sym_BANG] = ACTIONS(458), - [anon_sym_DASH] = ACTIONS(458), - [anon_sym_TILDE] = ACTIONS(458), - [anon_sym_not] = ACTIONS(458), - [anon_sym_or] = ACTIONS(458), - [anon_sym_and] = ACTIONS(458), - [anon_sym_LT_EQ_GT] = ACTIONS(456), - [anon_sym_GT_EQ_LT] = ACTIONS(456), - [anon_sym_LT_LT] = ACTIONS(458), - [anon_sym_GT_GT] = ACTIONS(458), - [anon_sym_PIPE] = ACTIONS(458), - [anon_sym_AMP] = ACTIONS(458), - [anon_sym_PLUS] = ACTIONS(458), - [anon_sym_PLUS_PLUS] = ACTIONS(458), - [anon_sym_LT_GT] = ACTIONS(458), - [anon_sym_STAR] = ACTIONS(458), - [anon_sym_SLASH] = ACTIONS(458), - [anon_sym_BSLASH] = ACTIONS(458), - [anon_sym_PERCENT] = ACTIONS(458), - [anon_sym_PERCENT_PERCENT] = ACTIONS(458), - [anon_sym_EQ_EQ] = ACTIONS(456), - [anon_sym_BANG_EQ] = ACTIONS(456), - [anon_sym_GT_EQ] = ACTIONS(458), - [anon_sym_LT_EQ] = ACTIONS(458), - [anon_sym_in] = ACTIONS(458), - [anon_sym_CARET] = ACTIONS(458), - [anon_sym_DOT_DOT] = ACTIONS(458), - [anon_sym_DOT_DOT_EQ] = ACTIONS(456), - [anon_sym_LBRACK] = ACTIONS(456), - [anon_sym_DOT] = ACTIONS(458), - [anon_sym_PERCENT_LBRACE] = ACTIONS(456), - [anon_sym_for] = ACTIONS(458), - [anon_sym_if] = ACTIONS(458), - [anon_sym_while] = ACTIONS(458), - [anon_sym_return] = ACTIONS(458), - [sym_break_expression] = ACTIONS(458), - [sym_continue_expression] = ACTIONS(458), - [sym_integer] = ACTIONS(458), - [sym_float] = ACTIONS(458), - [sym_complex] = ACTIONS(456), - [anon_sym_true] = ACTIONS(458), - [anon_sym_false] = ACTIONS(458), - [anon_sym_Inf] = ACTIONS(458), - [anon_sym_NaN] = ACTIONS(458), - [anon_sym_DQUOTE] = ACTIONS(456), + [ts_builtin_sym_end] = ACTIONS(461), + [sym_identifier] = ACTIONS(463), + [anon_sym_SEMI] = ACTIONS(461), + [anon_sym_let] = ACTIONS(463), + [anon_sym_EQ] = ACTIONS(463), + [anon_sym_COMMA] = ACTIONS(461), + [anon_sym_pure] = ACTIONS(463), + [anon_sym_fn] = ACTIONS(463), + [anon_sym_LPAREN] = ACTIONS(461), + [anon_sym_struct] = ACTIONS(463), + [anon_sym_LBRACE] = ACTIONS(461), + [anon_sym_RBRACE] = ACTIONS(461), + [anon_sym_LT] = ACTIONS(463), + [anon_sym_GT] = ACTIONS(463), + [anon_sym_PLUS_EQ] = ACTIONS(461), + [anon_sym_DASH_EQ] = ACTIONS(461), + [anon_sym_STAR_EQ] = ACTIONS(461), + [anon_sym_SLASH_EQ] = ACTIONS(461), + [anon_sym_BSLASH_EQ] = ACTIONS(461), + [anon_sym_PERCENT_EQ] = ACTIONS(461), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(461), + [anon_sym_CARET_EQ] = ACTIONS(461), + [anon_sym_AMP_EQ] = ACTIONS(461), + [anon_sym_PIPE_EQ] = ACTIONS(461), + [anon_sym_TILDE_EQ] = ACTIONS(461), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(461), + [anon_sym_LT_GT_EQ] = ACTIONS(461), + [anon_sym_LT_LT_EQ] = ACTIONS(461), + [anon_sym_GT_GT_EQ] = ACTIONS(461), + [anon_sym_as] = ACTIONS(463), + [anon_sym_BANG] = ACTIONS(463), + [anon_sym_DASH] = ACTIONS(463), + [anon_sym_TILDE] = ACTIONS(463), + [anon_sym_not] = ACTIONS(463), + [anon_sym_or] = ACTIONS(463), + [anon_sym_and] = ACTIONS(463), + [anon_sym_LT_EQ_GT] = ACTIONS(461), + [anon_sym_GT_EQ_LT] = ACTIONS(461), + [anon_sym_LT_LT] = ACTIONS(463), + [anon_sym_GT_GT] = ACTIONS(463), + [anon_sym_PIPE] = ACTIONS(463), + [anon_sym_AMP] = ACTIONS(463), + [anon_sym_PLUS] = ACTIONS(463), + [anon_sym_PLUS_PLUS] = ACTIONS(463), + [anon_sym_LT_GT] = ACTIONS(463), + [anon_sym_STAR] = ACTIONS(463), + [anon_sym_SLASH] = ACTIONS(463), + [anon_sym_BSLASH] = ACTIONS(463), + [anon_sym_PERCENT] = ACTIONS(463), + [anon_sym_PERCENT_PERCENT] = ACTIONS(463), + [anon_sym_EQ_EQ] = ACTIONS(461), + [anon_sym_BANG_EQ] = ACTIONS(461), + [anon_sym_GT_EQ] = ACTIONS(463), + [anon_sym_LT_EQ] = ACTIONS(463), + [anon_sym_in] = ACTIONS(463), + [anon_sym_CARET] = ACTIONS(463), + [anon_sym_DOT_DOT] = ACTIONS(463), + [anon_sym_DOT_DOT_EQ] = ACTIONS(461), + [anon_sym_LBRACK] = ACTIONS(461), + [anon_sym_DOT] = ACTIONS(463), + [anon_sym_PERCENT_LBRACE] = ACTIONS(461), + [anon_sym_for] = ACTIONS(463), + [anon_sym_if] = ACTIONS(463), + [anon_sym_while] = ACTIONS(463), + [anon_sym_return] = ACTIONS(463), + [sym_break_expression] = ACTIONS(463), + [sym_continue_expression] = ACTIONS(463), + [sym_integer] = ACTIONS(463), + [sym_float] = ACTIONS(463), + [sym_complex] = ACTIONS(461), + [anon_sym_true] = ACTIONS(463), + [anon_sym_false] = ACTIONS(463), + [anon_sym_Inf] = ACTIONS(463), + [anon_sym_NaN] = ACTIONS(463), + [anon_sym_DQUOTE] = ACTIONS(461), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(456), - [sym_raw_string] = ACTIONS(456), + [sym_named_op_assign] = ACTIONS(461), + [sym_raw_string] = ACTIONS(461), }, [83] = { - [ts_builtin_sym_end] = ACTIONS(460), - [sym_identifier] = ACTIONS(462), - [anon_sym_SEMI] = ACTIONS(460), - [anon_sym_let] = ACTIONS(462), - [anon_sym_EQ] = ACTIONS(462), - [anon_sym_COMMA] = ACTIONS(460), - [anon_sym_pure] = ACTIONS(462), - [anon_sym_fn] = ACTIONS(462), - [anon_sym_LPAREN] = ACTIONS(460), - [anon_sym_struct] = ACTIONS(462), - [anon_sym_LBRACE] = ACTIONS(460), - [anon_sym_RBRACE] = ACTIONS(460), - [anon_sym_LT] = ACTIONS(462), - [anon_sym_GT] = ACTIONS(462), - [anon_sym_PLUS_EQ] = ACTIONS(460), - [anon_sym_DASH_EQ] = ACTIONS(460), - [anon_sym_STAR_EQ] = ACTIONS(460), - [anon_sym_SLASH_EQ] = ACTIONS(460), - [anon_sym_BSLASH_EQ] = ACTIONS(460), - [anon_sym_PERCENT_EQ] = ACTIONS(460), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(460), - [anon_sym_CARET_EQ] = ACTIONS(460), - [anon_sym_AMP_EQ] = ACTIONS(460), - [anon_sym_PIPE_EQ] = ACTIONS(460), - [anon_sym_TILDE_EQ] = ACTIONS(460), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(460), - [anon_sym_LT_GT_EQ] = ACTIONS(460), - [anon_sym_LT_LT_EQ] = ACTIONS(460), - [anon_sym_GT_GT_EQ] = ACTIONS(460), - [anon_sym_BANG] = ACTIONS(462), - [anon_sym_DASH] = ACTIONS(462), - [anon_sym_TILDE] = ACTIONS(462), - [anon_sym_not] = ACTIONS(462), - [anon_sym_or] = ACTIONS(462), - [anon_sym_and] = ACTIONS(462), - [anon_sym_LT_EQ_GT] = ACTIONS(460), - [anon_sym_GT_EQ_LT] = ACTIONS(460), - [anon_sym_LT_LT] = ACTIONS(462), - [anon_sym_GT_GT] = ACTIONS(462), - [anon_sym_PIPE] = ACTIONS(462), - [anon_sym_AMP] = ACTIONS(462), - [anon_sym_PLUS] = ACTIONS(462), - [anon_sym_PLUS_PLUS] = ACTIONS(462), - [anon_sym_LT_GT] = ACTIONS(462), - [anon_sym_STAR] = ACTIONS(462), - [anon_sym_SLASH] = ACTIONS(462), - [anon_sym_BSLASH] = ACTIONS(462), - [anon_sym_PERCENT] = ACTIONS(462), - [anon_sym_PERCENT_PERCENT] = ACTIONS(462), - [anon_sym_EQ_EQ] = ACTIONS(460), - [anon_sym_BANG_EQ] = ACTIONS(460), - [anon_sym_GT_EQ] = ACTIONS(462), - [anon_sym_LT_EQ] = ACTIONS(462), - [anon_sym_in] = ACTIONS(462), - [anon_sym_CARET] = ACTIONS(462), - [anon_sym_DOT_DOT] = ACTIONS(462), - [anon_sym_DOT_DOT_EQ] = ACTIONS(460), - [anon_sym_LBRACK] = ACTIONS(460), - [anon_sym_DOT] = ACTIONS(462), - [anon_sym_PERCENT_LBRACE] = ACTIONS(460), - [anon_sym_for] = ACTIONS(462), - [anon_sym_if] = ACTIONS(462), - [anon_sym_while] = ACTIONS(462), - [anon_sym_return] = ACTIONS(462), - [sym_break_expression] = ACTIONS(462), - [sym_continue_expression] = ACTIONS(462), - [sym_integer] = ACTIONS(462), - [sym_float] = ACTIONS(462), - [sym_complex] = ACTIONS(460), - [anon_sym_true] = ACTIONS(462), - [anon_sym_false] = ACTIONS(462), - [anon_sym_Inf] = ACTIONS(462), - [anon_sym_NaN] = ACTIONS(462), - [anon_sym_DQUOTE] = ACTIONS(460), + [ts_builtin_sym_end] = ACTIONS(465), + [sym_identifier] = ACTIONS(467), + [anon_sym_SEMI] = ACTIONS(465), + [anon_sym_let] = ACTIONS(467), + [anon_sym_EQ] = ACTIONS(467), + [anon_sym_COMMA] = ACTIONS(465), + [anon_sym_pure] = ACTIONS(467), + [anon_sym_fn] = ACTIONS(467), + [anon_sym_LPAREN] = ACTIONS(465), + [anon_sym_struct] = ACTIONS(467), + [anon_sym_LBRACE] = ACTIONS(465), + [anon_sym_RBRACE] = ACTIONS(465), + [anon_sym_LT] = ACTIONS(467), + [anon_sym_GT] = ACTIONS(467), + [anon_sym_PLUS_EQ] = ACTIONS(465), + [anon_sym_DASH_EQ] = ACTIONS(465), + [anon_sym_STAR_EQ] = ACTIONS(465), + [anon_sym_SLASH_EQ] = ACTIONS(465), + [anon_sym_BSLASH_EQ] = ACTIONS(465), + [anon_sym_PERCENT_EQ] = ACTIONS(465), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(465), + [anon_sym_CARET_EQ] = ACTIONS(465), + [anon_sym_AMP_EQ] = ACTIONS(465), + [anon_sym_PIPE_EQ] = ACTIONS(465), + [anon_sym_TILDE_EQ] = ACTIONS(465), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(465), + [anon_sym_LT_GT_EQ] = ACTIONS(465), + [anon_sym_LT_LT_EQ] = ACTIONS(465), + [anon_sym_GT_GT_EQ] = ACTIONS(465), + [anon_sym_as] = ACTIONS(467), + [anon_sym_BANG] = ACTIONS(467), + [anon_sym_DASH] = ACTIONS(467), + [anon_sym_TILDE] = ACTIONS(467), + [anon_sym_not] = ACTIONS(467), + [anon_sym_or] = ACTIONS(467), + [anon_sym_and] = ACTIONS(467), + [anon_sym_LT_EQ_GT] = ACTIONS(465), + [anon_sym_GT_EQ_LT] = ACTIONS(465), + [anon_sym_LT_LT] = ACTIONS(467), + [anon_sym_GT_GT] = ACTIONS(467), + [anon_sym_PIPE] = ACTIONS(467), + [anon_sym_AMP] = ACTIONS(467), + [anon_sym_PLUS] = ACTIONS(467), + [anon_sym_PLUS_PLUS] = ACTIONS(467), + [anon_sym_LT_GT] = ACTIONS(467), + [anon_sym_STAR] = ACTIONS(467), + [anon_sym_SLASH] = ACTIONS(467), + [anon_sym_BSLASH] = ACTIONS(467), + [anon_sym_PERCENT] = ACTIONS(467), + [anon_sym_PERCENT_PERCENT] = ACTIONS(467), + [anon_sym_EQ_EQ] = ACTIONS(465), + [anon_sym_BANG_EQ] = ACTIONS(465), + [anon_sym_GT_EQ] = ACTIONS(467), + [anon_sym_LT_EQ] = ACTIONS(467), + [anon_sym_in] = ACTIONS(467), + [anon_sym_CARET] = ACTIONS(467), + [anon_sym_DOT_DOT] = ACTIONS(467), + [anon_sym_DOT_DOT_EQ] = ACTIONS(465), + [anon_sym_LBRACK] = ACTIONS(465), + [anon_sym_DOT] = ACTIONS(467), + [anon_sym_PERCENT_LBRACE] = ACTIONS(465), + [anon_sym_for] = ACTIONS(467), + [anon_sym_if] = ACTIONS(467), + [anon_sym_while] = ACTIONS(467), + [anon_sym_return] = ACTIONS(467), + [sym_break_expression] = ACTIONS(467), + [sym_continue_expression] = ACTIONS(467), + [sym_integer] = ACTIONS(467), + [sym_float] = ACTIONS(467), + [sym_complex] = ACTIONS(465), + [anon_sym_true] = ACTIONS(467), + [anon_sym_false] = ACTIONS(467), + [anon_sym_Inf] = ACTIONS(467), + [anon_sym_NaN] = ACTIONS(467), + [anon_sym_DQUOTE] = ACTIONS(465), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(460), - [sym_raw_string] = ACTIONS(460), + [sym_named_op_assign] = ACTIONS(465), + [sym_raw_string] = ACTIONS(465), }, [84] = { - [ts_builtin_sym_end] = ACTIONS(464), - [sym_identifier] = ACTIONS(466), - [anon_sym_SEMI] = ACTIONS(464), - [anon_sym_let] = ACTIONS(466), - [anon_sym_EQ] = ACTIONS(466), - [anon_sym_COMMA] = ACTIONS(464), - [anon_sym_pure] = ACTIONS(466), - [anon_sym_fn] = ACTIONS(466), - [anon_sym_LPAREN] = ACTIONS(464), - [anon_sym_struct] = ACTIONS(466), - [anon_sym_LBRACE] = ACTIONS(464), - [anon_sym_RBRACE] = ACTIONS(464), - [anon_sym_LT] = ACTIONS(466), - [anon_sym_GT] = ACTIONS(466), - [anon_sym_PLUS_EQ] = ACTIONS(464), - [anon_sym_DASH_EQ] = ACTIONS(464), - [anon_sym_STAR_EQ] = ACTIONS(464), - [anon_sym_SLASH_EQ] = ACTIONS(464), - [anon_sym_BSLASH_EQ] = ACTIONS(464), - [anon_sym_PERCENT_EQ] = ACTIONS(464), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(464), - [anon_sym_CARET_EQ] = ACTIONS(464), - [anon_sym_AMP_EQ] = ACTIONS(464), - [anon_sym_PIPE_EQ] = ACTIONS(464), - [anon_sym_TILDE_EQ] = ACTIONS(464), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(464), - [anon_sym_LT_GT_EQ] = ACTIONS(464), - [anon_sym_LT_LT_EQ] = ACTIONS(464), - [anon_sym_GT_GT_EQ] = ACTIONS(464), - [anon_sym_BANG] = ACTIONS(466), - [anon_sym_DASH] = ACTIONS(466), - [anon_sym_TILDE] = ACTIONS(466), - [anon_sym_not] = ACTIONS(466), - [anon_sym_or] = ACTIONS(466), - [anon_sym_and] = ACTIONS(466), - [anon_sym_LT_EQ_GT] = ACTIONS(464), - [anon_sym_GT_EQ_LT] = ACTIONS(464), - [anon_sym_LT_LT] = ACTIONS(466), - [anon_sym_GT_GT] = ACTIONS(466), - [anon_sym_PIPE] = ACTIONS(466), - [anon_sym_AMP] = ACTIONS(466), - [anon_sym_PLUS] = ACTIONS(466), - [anon_sym_PLUS_PLUS] = ACTIONS(466), - [anon_sym_LT_GT] = ACTIONS(466), - [anon_sym_STAR] = ACTIONS(466), - [anon_sym_SLASH] = ACTIONS(466), - [anon_sym_BSLASH] = ACTIONS(466), - [anon_sym_PERCENT] = ACTIONS(466), - [anon_sym_PERCENT_PERCENT] = ACTIONS(466), - [anon_sym_EQ_EQ] = ACTIONS(464), - [anon_sym_BANG_EQ] = ACTIONS(464), - [anon_sym_GT_EQ] = ACTIONS(466), - [anon_sym_LT_EQ] = ACTIONS(466), - [anon_sym_in] = ACTIONS(466), - [anon_sym_CARET] = ACTIONS(466), - [anon_sym_DOT_DOT] = ACTIONS(466), - [anon_sym_DOT_DOT_EQ] = ACTIONS(464), - [anon_sym_LBRACK] = ACTIONS(464), - [anon_sym_DOT] = ACTIONS(466), - [anon_sym_PERCENT_LBRACE] = ACTIONS(464), - [anon_sym_for] = ACTIONS(466), - [anon_sym_if] = ACTIONS(466), - [anon_sym_while] = ACTIONS(466), - [anon_sym_return] = ACTIONS(466), - [sym_break_expression] = ACTIONS(466), - [sym_continue_expression] = ACTIONS(466), - [sym_integer] = ACTIONS(466), - [sym_float] = ACTIONS(466), - [sym_complex] = ACTIONS(464), - [anon_sym_true] = ACTIONS(466), - [anon_sym_false] = ACTIONS(466), - [anon_sym_Inf] = ACTIONS(466), - [anon_sym_NaN] = ACTIONS(466), - [anon_sym_DQUOTE] = ACTIONS(464), + [ts_builtin_sym_end] = ACTIONS(469), + [sym_identifier] = ACTIONS(471), + [anon_sym_SEMI] = ACTIONS(469), + [anon_sym_let] = ACTIONS(471), + [anon_sym_EQ] = ACTIONS(471), + [anon_sym_COMMA] = ACTIONS(469), + [anon_sym_pure] = ACTIONS(471), + [anon_sym_fn] = ACTIONS(471), + [anon_sym_LPAREN] = ACTIONS(469), + [anon_sym_struct] = ACTIONS(471), + [anon_sym_LBRACE] = ACTIONS(469), + [anon_sym_RBRACE] = ACTIONS(469), + [anon_sym_LT] = ACTIONS(471), + [anon_sym_GT] = ACTIONS(471), + [anon_sym_PLUS_EQ] = ACTIONS(469), + [anon_sym_DASH_EQ] = ACTIONS(469), + [anon_sym_STAR_EQ] = ACTIONS(469), + [anon_sym_SLASH_EQ] = ACTIONS(469), + [anon_sym_BSLASH_EQ] = ACTIONS(469), + [anon_sym_PERCENT_EQ] = ACTIONS(469), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(469), + [anon_sym_CARET_EQ] = ACTIONS(469), + [anon_sym_AMP_EQ] = ACTIONS(469), + [anon_sym_PIPE_EQ] = ACTIONS(469), + [anon_sym_TILDE_EQ] = ACTIONS(469), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(469), + [anon_sym_LT_GT_EQ] = ACTIONS(469), + [anon_sym_LT_LT_EQ] = ACTIONS(469), + [anon_sym_GT_GT_EQ] = ACTIONS(469), + [anon_sym_as] = ACTIONS(471), + [anon_sym_BANG] = ACTIONS(471), + [anon_sym_DASH] = ACTIONS(471), + [anon_sym_TILDE] = ACTIONS(471), + [anon_sym_not] = ACTIONS(471), + [anon_sym_or] = ACTIONS(471), + [anon_sym_and] = ACTIONS(471), + [anon_sym_LT_EQ_GT] = ACTIONS(469), + [anon_sym_GT_EQ_LT] = ACTIONS(469), + [anon_sym_LT_LT] = ACTIONS(471), + [anon_sym_GT_GT] = ACTIONS(471), + [anon_sym_PIPE] = ACTIONS(471), + [anon_sym_AMP] = ACTIONS(471), + [anon_sym_PLUS] = ACTIONS(471), + [anon_sym_PLUS_PLUS] = ACTIONS(471), + [anon_sym_LT_GT] = ACTIONS(471), + [anon_sym_STAR] = ACTIONS(471), + [anon_sym_SLASH] = ACTIONS(471), + [anon_sym_BSLASH] = ACTIONS(471), + [anon_sym_PERCENT] = ACTIONS(471), + [anon_sym_PERCENT_PERCENT] = ACTIONS(471), + [anon_sym_EQ_EQ] = ACTIONS(469), + [anon_sym_BANG_EQ] = ACTIONS(469), + [anon_sym_GT_EQ] = ACTIONS(471), + [anon_sym_LT_EQ] = ACTIONS(471), + [anon_sym_in] = ACTIONS(471), + [anon_sym_CARET] = ACTIONS(471), + [anon_sym_DOT_DOT] = ACTIONS(471), + [anon_sym_DOT_DOT_EQ] = ACTIONS(469), + [anon_sym_LBRACK] = ACTIONS(469), + [anon_sym_DOT] = ACTIONS(471), + [anon_sym_PERCENT_LBRACE] = ACTIONS(469), + [anon_sym_for] = ACTIONS(471), + [anon_sym_if] = ACTIONS(471), + [anon_sym_while] = ACTIONS(471), + [anon_sym_return] = ACTIONS(471), + [sym_break_expression] = ACTIONS(471), + [sym_continue_expression] = ACTIONS(471), + [sym_integer] = ACTIONS(471), + [sym_float] = ACTIONS(471), + [sym_complex] = ACTIONS(469), + [anon_sym_true] = ACTIONS(471), + [anon_sym_false] = ACTIONS(471), + [anon_sym_Inf] = ACTIONS(471), + [anon_sym_NaN] = ACTIONS(471), + [anon_sym_DQUOTE] = ACTIONS(469), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(464), - [sym_raw_string] = ACTIONS(464), + [sym_named_op_assign] = ACTIONS(469), + [sym_raw_string] = ACTIONS(469), }, [85] = { - [ts_builtin_sym_end] = ACTIONS(468), - [sym_identifier] = ACTIONS(470), - [anon_sym_SEMI] = ACTIONS(468), - [anon_sym_let] = ACTIONS(470), - [anon_sym_EQ] = ACTIONS(470), - [anon_sym_COMMA] = ACTIONS(468), - [anon_sym_pure] = ACTIONS(470), - [anon_sym_fn] = ACTIONS(470), - [anon_sym_LPAREN] = ACTIONS(468), - [anon_sym_struct] = ACTIONS(470), - [anon_sym_LBRACE] = ACTIONS(468), - [anon_sym_RBRACE] = ACTIONS(468), - [anon_sym_LT] = ACTIONS(470), - [anon_sym_GT] = ACTIONS(470), - [anon_sym_PLUS_EQ] = ACTIONS(468), - [anon_sym_DASH_EQ] = ACTIONS(468), - [anon_sym_STAR_EQ] = ACTIONS(468), - [anon_sym_SLASH_EQ] = ACTIONS(468), - [anon_sym_BSLASH_EQ] = ACTIONS(468), - [anon_sym_PERCENT_EQ] = ACTIONS(468), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(468), - [anon_sym_CARET_EQ] = ACTIONS(468), - [anon_sym_AMP_EQ] = ACTIONS(468), - [anon_sym_PIPE_EQ] = ACTIONS(468), - [anon_sym_TILDE_EQ] = ACTIONS(468), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(468), - [anon_sym_LT_GT_EQ] = ACTIONS(468), - [anon_sym_LT_LT_EQ] = ACTIONS(468), - [anon_sym_GT_GT_EQ] = ACTIONS(468), - [anon_sym_BANG] = ACTIONS(470), - [anon_sym_DASH] = ACTIONS(470), - [anon_sym_TILDE] = ACTIONS(470), - [anon_sym_not] = ACTIONS(470), - [anon_sym_or] = ACTIONS(470), - [anon_sym_and] = ACTIONS(470), - [anon_sym_LT_EQ_GT] = ACTIONS(468), - [anon_sym_GT_EQ_LT] = ACTIONS(468), - [anon_sym_LT_LT] = ACTIONS(470), - [anon_sym_GT_GT] = ACTIONS(470), - [anon_sym_PIPE] = ACTIONS(470), - [anon_sym_AMP] = ACTIONS(470), - [anon_sym_PLUS] = ACTIONS(470), - [anon_sym_PLUS_PLUS] = ACTIONS(470), - [anon_sym_LT_GT] = ACTIONS(470), - [anon_sym_STAR] = ACTIONS(470), - [anon_sym_SLASH] = ACTIONS(470), - [anon_sym_BSLASH] = ACTIONS(470), - [anon_sym_PERCENT] = ACTIONS(470), - [anon_sym_PERCENT_PERCENT] = ACTIONS(470), - [anon_sym_EQ_EQ] = ACTIONS(468), - [anon_sym_BANG_EQ] = ACTIONS(468), - [anon_sym_GT_EQ] = ACTIONS(470), - [anon_sym_LT_EQ] = ACTIONS(470), - [anon_sym_in] = ACTIONS(470), - [anon_sym_CARET] = ACTIONS(470), - [anon_sym_DOT_DOT] = ACTIONS(470), - [anon_sym_DOT_DOT_EQ] = ACTIONS(468), - [anon_sym_LBRACK] = ACTIONS(468), - [anon_sym_DOT] = ACTIONS(470), - [anon_sym_PERCENT_LBRACE] = ACTIONS(468), - [anon_sym_for] = ACTIONS(470), - [anon_sym_if] = ACTIONS(470), - [anon_sym_while] = ACTIONS(470), - [anon_sym_return] = ACTIONS(470), - [sym_break_expression] = ACTIONS(470), - [sym_continue_expression] = ACTIONS(470), - [sym_integer] = ACTIONS(470), - [sym_float] = ACTIONS(470), - [sym_complex] = ACTIONS(468), - [anon_sym_true] = ACTIONS(470), - [anon_sym_false] = ACTIONS(470), - [anon_sym_Inf] = ACTIONS(470), - [anon_sym_NaN] = ACTIONS(470), - [anon_sym_DQUOTE] = ACTIONS(468), + [ts_builtin_sym_end] = ACTIONS(473), + [sym_identifier] = ACTIONS(475), + [anon_sym_SEMI] = ACTIONS(473), + [anon_sym_let] = ACTIONS(475), + [anon_sym_EQ] = ACTIONS(475), + [anon_sym_COMMA] = ACTIONS(473), + [anon_sym_pure] = ACTIONS(475), + [anon_sym_fn] = ACTIONS(475), + [anon_sym_LPAREN] = ACTIONS(473), + [anon_sym_struct] = ACTIONS(475), + [anon_sym_LBRACE] = ACTIONS(473), + [anon_sym_RBRACE] = ACTIONS(473), + [anon_sym_LT] = ACTIONS(475), + [anon_sym_GT] = ACTIONS(475), + [anon_sym_PLUS_EQ] = ACTIONS(473), + [anon_sym_DASH_EQ] = ACTIONS(473), + [anon_sym_STAR_EQ] = ACTIONS(473), + [anon_sym_SLASH_EQ] = ACTIONS(473), + [anon_sym_BSLASH_EQ] = ACTIONS(473), + [anon_sym_PERCENT_EQ] = ACTIONS(473), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(473), + [anon_sym_CARET_EQ] = ACTIONS(473), + [anon_sym_AMP_EQ] = ACTIONS(473), + [anon_sym_PIPE_EQ] = ACTIONS(473), + [anon_sym_TILDE_EQ] = ACTIONS(473), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(473), + [anon_sym_LT_GT_EQ] = ACTIONS(473), + [anon_sym_LT_LT_EQ] = ACTIONS(473), + [anon_sym_GT_GT_EQ] = ACTIONS(473), + [anon_sym_as] = ACTIONS(475), + [anon_sym_BANG] = ACTIONS(475), + [anon_sym_DASH] = ACTIONS(475), + [anon_sym_TILDE] = ACTIONS(475), + [anon_sym_not] = ACTIONS(475), + [anon_sym_or] = ACTIONS(475), + [anon_sym_and] = ACTIONS(475), + [anon_sym_LT_EQ_GT] = ACTIONS(473), + [anon_sym_GT_EQ_LT] = ACTIONS(473), + [anon_sym_LT_LT] = ACTIONS(475), + [anon_sym_GT_GT] = ACTIONS(475), + [anon_sym_PIPE] = ACTIONS(475), + [anon_sym_AMP] = ACTIONS(475), + [anon_sym_PLUS] = ACTIONS(475), + [anon_sym_PLUS_PLUS] = ACTIONS(475), + [anon_sym_LT_GT] = ACTIONS(475), + [anon_sym_STAR] = ACTIONS(475), + [anon_sym_SLASH] = ACTIONS(475), + [anon_sym_BSLASH] = ACTIONS(475), + [anon_sym_PERCENT] = ACTIONS(475), + [anon_sym_PERCENT_PERCENT] = ACTIONS(475), + [anon_sym_EQ_EQ] = ACTIONS(473), + [anon_sym_BANG_EQ] = ACTIONS(473), + [anon_sym_GT_EQ] = ACTIONS(475), + [anon_sym_LT_EQ] = ACTIONS(475), + [anon_sym_in] = ACTIONS(475), + [anon_sym_CARET] = ACTIONS(475), + [anon_sym_DOT_DOT] = ACTIONS(475), + [anon_sym_DOT_DOT_EQ] = ACTIONS(473), + [anon_sym_LBRACK] = ACTIONS(473), + [anon_sym_DOT] = ACTIONS(475), + [anon_sym_PERCENT_LBRACE] = ACTIONS(473), + [anon_sym_for] = ACTIONS(475), + [anon_sym_if] = ACTIONS(475), + [anon_sym_while] = ACTIONS(475), + [anon_sym_return] = ACTIONS(475), + [sym_break_expression] = ACTIONS(475), + [sym_continue_expression] = ACTIONS(475), + [sym_integer] = ACTIONS(475), + [sym_float] = ACTIONS(475), + [sym_complex] = ACTIONS(473), + [anon_sym_true] = ACTIONS(475), + [anon_sym_false] = ACTIONS(475), + [anon_sym_Inf] = ACTIONS(475), + [anon_sym_NaN] = ACTIONS(475), + [anon_sym_DQUOTE] = ACTIONS(473), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(468), - [sym_raw_string] = ACTIONS(468), + [sym_named_op_assign] = ACTIONS(473), + [sym_raw_string] = ACTIONS(473), }, [86] = { - [ts_builtin_sym_end] = ACTIONS(472), - [sym_identifier] = ACTIONS(474), - [anon_sym_SEMI] = ACTIONS(472), - [anon_sym_let] = ACTIONS(474), - [anon_sym_EQ] = ACTIONS(474), - [anon_sym_COMMA] = ACTIONS(472), - [anon_sym_pure] = ACTIONS(474), - [anon_sym_fn] = ACTIONS(474), - [anon_sym_LPAREN] = ACTIONS(472), - [anon_sym_struct] = ACTIONS(474), - [anon_sym_LBRACE] = ACTIONS(472), - [anon_sym_RBRACE] = ACTIONS(472), - [anon_sym_LT] = ACTIONS(474), - [anon_sym_GT] = ACTIONS(474), - [anon_sym_PLUS_EQ] = ACTIONS(472), - [anon_sym_DASH_EQ] = ACTIONS(472), - [anon_sym_STAR_EQ] = ACTIONS(472), - [anon_sym_SLASH_EQ] = ACTIONS(472), - [anon_sym_BSLASH_EQ] = ACTIONS(472), - [anon_sym_PERCENT_EQ] = ACTIONS(472), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(472), - [anon_sym_CARET_EQ] = ACTIONS(472), - [anon_sym_AMP_EQ] = ACTIONS(472), - [anon_sym_PIPE_EQ] = ACTIONS(472), - [anon_sym_TILDE_EQ] = ACTIONS(472), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(472), - [anon_sym_LT_GT_EQ] = ACTIONS(472), - [anon_sym_LT_LT_EQ] = ACTIONS(472), - [anon_sym_GT_GT_EQ] = ACTIONS(472), - [anon_sym_BANG] = ACTIONS(474), - [anon_sym_DASH] = ACTIONS(474), - [anon_sym_TILDE] = ACTIONS(474), - [anon_sym_not] = ACTIONS(474), - [anon_sym_or] = ACTIONS(474), - [anon_sym_and] = ACTIONS(474), - [anon_sym_LT_EQ_GT] = ACTIONS(472), - [anon_sym_GT_EQ_LT] = ACTIONS(472), - [anon_sym_LT_LT] = ACTIONS(474), - [anon_sym_GT_GT] = ACTIONS(474), - [anon_sym_PIPE] = ACTIONS(474), - [anon_sym_AMP] = ACTIONS(474), - [anon_sym_PLUS] = ACTIONS(474), - [anon_sym_PLUS_PLUS] = ACTIONS(474), - [anon_sym_LT_GT] = ACTIONS(474), - [anon_sym_STAR] = ACTIONS(474), - [anon_sym_SLASH] = ACTIONS(474), - [anon_sym_BSLASH] = ACTIONS(474), - [anon_sym_PERCENT] = ACTIONS(474), - [anon_sym_PERCENT_PERCENT] = ACTIONS(474), - [anon_sym_EQ_EQ] = ACTIONS(472), - [anon_sym_BANG_EQ] = ACTIONS(472), - [anon_sym_GT_EQ] = ACTIONS(474), - [anon_sym_LT_EQ] = ACTIONS(474), - [anon_sym_in] = ACTIONS(474), - [anon_sym_CARET] = ACTIONS(474), - [anon_sym_DOT_DOT] = ACTIONS(474), - [anon_sym_DOT_DOT_EQ] = ACTIONS(472), - [anon_sym_LBRACK] = ACTIONS(472), - [anon_sym_DOT] = ACTIONS(474), - [anon_sym_PERCENT_LBRACE] = ACTIONS(472), - [anon_sym_for] = ACTIONS(474), - [anon_sym_if] = ACTIONS(474), - [anon_sym_while] = ACTIONS(474), - [anon_sym_return] = ACTIONS(474), - [sym_break_expression] = ACTIONS(474), - [sym_continue_expression] = ACTIONS(474), - [sym_integer] = ACTIONS(474), - [sym_float] = ACTIONS(474), - [sym_complex] = ACTIONS(472), - [anon_sym_true] = ACTIONS(474), - [anon_sym_false] = ACTIONS(474), - [anon_sym_Inf] = ACTIONS(474), - [anon_sym_NaN] = ACTIONS(474), - [anon_sym_DQUOTE] = ACTIONS(472), + [ts_builtin_sym_end] = ACTIONS(477), + [sym_identifier] = ACTIONS(479), + [anon_sym_SEMI] = ACTIONS(477), + [anon_sym_let] = ACTIONS(479), + [anon_sym_EQ] = ACTIONS(479), + [anon_sym_COMMA] = ACTIONS(477), + [anon_sym_pure] = ACTIONS(479), + [anon_sym_fn] = ACTIONS(479), + [anon_sym_LPAREN] = ACTIONS(477), + [anon_sym_struct] = ACTIONS(479), + [anon_sym_LBRACE] = ACTIONS(477), + [anon_sym_RBRACE] = ACTIONS(477), + [anon_sym_LT] = ACTIONS(479), + [anon_sym_GT] = ACTIONS(479), + [anon_sym_PLUS_EQ] = ACTIONS(477), + [anon_sym_DASH_EQ] = ACTIONS(477), + [anon_sym_STAR_EQ] = ACTIONS(477), + [anon_sym_SLASH_EQ] = ACTIONS(477), + [anon_sym_BSLASH_EQ] = ACTIONS(477), + [anon_sym_PERCENT_EQ] = ACTIONS(477), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(477), + [anon_sym_CARET_EQ] = ACTIONS(477), + [anon_sym_AMP_EQ] = ACTIONS(477), + [anon_sym_PIPE_EQ] = ACTIONS(477), + [anon_sym_TILDE_EQ] = ACTIONS(477), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(477), + [anon_sym_LT_GT_EQ] = ACTIONS(477), + [anon_sym_LT_LT_EQ] = ACTIONS(477), + [anon_sym_GT_GT_EQ] = ACTIONS(477), + [anon_sym_as] = ACTIONS(479), + [anon_sym_BANG] = ACTIONS(479), + [anon_sym_DASH] = ACTIONS(479), + [anon_sym_TILDE] = ACTIONS(479), + [anon_sym_not] = ACTIONS(479), + [anon_sym_or] = ACTIONS(479), + [anon_sym_and] = ACTIONS(479), + [anon_sym_LT_EQ_GT] = ACTIONS(477), + [anon_sym_GT_EQ_LT] = ACTIONS(477), + [anon_sym_LT_LT] = ACTIONS(479), + [anon_sym_GT_GT] = ACTIONS(479), + [anon_sym_PIPE] = ACTIONS(479), + [anon_sym_AMP] = ACTIONS(479), + [anon_sym_PLUS] = ACTIONS(479), + [anon_sym_PLUS_PLUS] = ACTIONS(479), + [anon_sym_LT_GT] = ACTIONS(479), + [anon_sym_STAR] = ACTIONS(479), + [anon_sym_SLASH] = ACTIONS(479), + [anon_sym_BSLASH] = ACTIONS(479), + [anon_sym_PERCENT] = ACTIONS(479), + [anon_sym_PERCENT_PERCENT] = ACTIONS(479), + [anon_sym_EQ_EQ] = ACTIONS(477), + [anon_sym_BANG_EQ] = ACTIONS(477), + [anon_sym_GT_EQ] = ACTIONS(479), + [anon_sym_LT_EQ] = ACTIONS(479), + [anon_sym_in] = ACTIONS(479), + [anon_sym_CARET] = ACTIONS(479), + [anon_sym_DOT_DOT] = ACTIONS(479), + [anon_sym_DOT_DOT_EQ] = ACTIONS(477), + [anon_sym_LBRACK] = ACTIONS(477), + [anon_sym_DOT] = ACTIONS(479), + [anon_sym_PERCENT_LBRACE] = ACTIONS(477), + [anon_sym_for] = ACTIONS(479), + [anon_sym_if] = ACTIONS(479), + [anon_sym_while] = ACTIONS(479), + [anon_sym_return] = ACTIONS(479), + [sym_break_expression] = ACTIONS(479), + [sym_continue_expression] = ACTIONS(479), + [sym_integer] = ACTIONS(479), + [sym_float] = ACTIONS(479), + [sym_complex] = ACTIONS(477), + [anon_sym_true] = ACTIONS(479), + [anon_sym_false] = ACTIONS(479), + [anon_sym_Inf] = ACTIONS(479), + [anon_sym_NaN] = ACTIONS(479), + [anon_sym_DQUOTE] = ACTIONS(477), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(472), - [sym_raw_string] = ACTIONS(472), + [sym_named_op_assign] = ACTIONS(477), + [sym_raw_string] = ACTIONS(477), }, [87] = { - [ts_builtin_sym_end] = ACTIONS(476), - [sym_identifier] = ACTIONS(478), - [anon_sym_SEMI] = ACTIONS(476), - [anon_sym_let] = ACTIONS(478), - [anon_sym_EQ] = ACTIONS(478), - [anon_sym_COMMA] = ACTIONS(476), - [anon_sym_pure] = ACTIONS(478), - [anon_sym_fn] = ACTIONS(478), - [anon_sym_LPAREN] = ACTIONS(476), - [anon_sym_struct] = ACTIONS(478), - [anon_sym_LBRACE] = ACTIONS(476), - [anon_sym_RBRACE] = ACTIONS(476), - [anon_sym_LT] = ACTIONS(478), - [anon_sym_GT] = ACTIONS(478), - [anon_sym_PLUS_EQ] = ACTIONS(476), - [anon_sym_DASH_EQ] = ACTIONS(476), - [anon_sym_STAR_EQ] = ACTIONS(476), - [anon_sym_SLASH_EQ] = ACTIONS(476), - [anon_sym_BSLASH_EQ] = ACTIONS(476), - [anon_sym_PERCENT_EQ] = ACTIONS(476), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(476), - [anon_sym_CARET_EQ] = ACTIONS(476), - [anon_sym_AMP_EQ] = ACTIONS(476), - [anon_sym_PIPE_EQ] = ACTIONS(476), - [anon_sym_TILDE_EQ] = ACTIONS(476), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(476), - [anon_sym_LT_GT_EQ] = ACTIONS(476), - [anon_sym_LT_LT_EQ] = ACTIONS(476), - [anon_sym_GT_GT_EQ] = ACTIONS(476), - [anon_sym_BANG] = ACTIONS(478), - [anon_sym_DASH] = ACTIONS(478), - [anon_sym_TILDE] = ACTIONS(478), - [anon_sym_not] = ACTIONS(478), - [anon_sym_or] = ACTIONS(478), - [anon_sym_and] = ACTIONS(478), - [anon_sym_LT_EQ_GT] = ACTIONS(476), - [anon_sym_GT_EQ_LT] = ACTIONS(476), - [anon_sym_LT_LT] = ACTIONS(478), - [anon_sym_GT_GT] = ACTIONS(478), - [anon_sym_PIPE] = ACTIONS(478), - [anon_sym_AMP] = ACTIONS(478), - [anon_sym_PLUS] = ACTIONS(478), - [anon_sym_PLUS_PLUS] = ACTIONS(478), - [anon_sym_LT_GT] = ACTIONS(478), - [anon_sym_STAR] = ACTIONS(478), - [anon_sym_SLASH] = ACTIONS(478), - [anon_sym_BSLASH] = ACTIONS(478), - [anon_sym_PERCENT] = ACTIONS(478), - [anon_sym_PERCENT_PERCENT] = ACTIONS(478), - [anon_sym_EQ_EQ] = ACTIONS(476), - [anon_sym_BANG_EQ] = ACTIONS(476), - [anon_sym_GT_EQ] = ACTIONS(478), - [anon_sym_LT_EQ] = ACTIONS(478), - [anon_sym_in] = ACTIONS(478), - [anon_sym_CARET] = ACTIONS(478), - [anon_sym_DOT_DOT] = ACTIONS(478), - [anon_sym_DOT_DOT_EQ] = ACTIONS(476), - [anon_sym_LBRACK] = ACTIONS(476), - [anon_sym_DOT] = ACTIONS(478), - [anon_sym_PERCENT_LBRACE] = ACTIONS(476), - [anon_sym_for] = ACTIONS(478), - [anon_sym_if] = ACTIONS(478), - [anon_sym_while] = ACTIONS(478), - [anon_sym_return] = ACTIONS(478), - [sym_break_expression] = ACTIONS(478), - [sym_continue_expression] = ACTIONS(478), - [sym_integer] = ACTIONS(478), - [sym_float] = ACTIONS(478), - [sym_complex] = ACTIONS(476), - [anon_sym_true] = ACTIONS(478), - [anon_sym_false] = ACTIONS(478), - [anon_sym_Inf] = ACTIONS(478), - [anon_sym_NaN] = ACTIONS(478), - [anon_sym_DQUOTE] = ACTIONS(476), + [ts_builtin_sym_end] = ACTIONS(481), + [sym_identifier] = ACTIONS(483), + [anon_sym_SEMI] = ACTIONS(481), + [anon_sym_let] = ACTIONS(483), + [anon_sym_EQ] = ACTIONS(483), + [anon_sym_COMMA] = ACTIONS(481), + [anon_sym_pure] = ACTIONS(483), + [anon_sym_fn] = ACTIONS(483), + [anon_sym_LPAREN] = ACTIONS(481), + [anon_sym_struct] = ACTIONS(483), + [anon_sym_LBRACE] = ACTIONS(481), + [anon_sym_RBRACE] = ACTIONS(481), + [anon_sym_LT] = ACTIONS(483), + [anon_sym_GT] = ACTIONS(483), + [anon_sym_PLUS_EQ] = ACTIONS(481), + [anon_sym_DASH_EQ] = ACTIONS(481), + [anon_sym_STAR_EQ] = ACTIONS(481), + [anon_sym_SLASH_EQ] = ACTIONS(481), + [anon_sym_BSLASH_EQ] = ACTIONS(481), + [anon_sym_PERCENT_EQ] = ACTIONS(481), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(481), + [anon_sym_CARET_EQ] = ACTIONS(481), + [anon_sym_AMP_EQ] = ACTIONS(481), + [anon_sym_PIPE_EQ] = ACTIONS(481), + [anon_sym_TILDE_EQ] = ACTIONS(481), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(481), + [anon_sym_LT_GT_EQ] = ACTIONS(481), + [anon_sym_LT_LT_EQ] = ACTIONS(481), + [anon_sym_GT_GT_EQ] = ACTIONS(481), + [anon_sym_as] = ACTIONS(483), + [anon_sym_BANG] = ACTIONS(483), + [anon_sym_DASH] = ACTIONS(483), + [anon_sym_TILDE] = ACTIONS(483), + [anon_sym_not] = ACTIONS(483), + [anon_sym_or] = ACTIONS(483), + [anon_sym_and] = ACTIONS(483), + [anon_sym_LT_EQ_GT] = ACTIONS(481), + [anon_sym_GT_EQ_LT] = ACTIONS(481), + [anon_sym_LT_LT] = ACTIONS(483), + [anon_sym_GT_GT] = ACTIONS(483), + [anon_sym_PIPE] = ACTIONS(483), + [anon_sym_AMP] = ACTIONS(483), + [anon_sym_PLUS] = ACTIONS(483), + [anon_sym_PLUS_PLUS] = ACTIONS(483), + [anon_sym_LT_GT] = ACTIONS(483), + [anon_sym_STAR] = ACTIONS(483), + [anon_sym_SLASH] = ACTIONS(483), + [anon_sym_BSLASH] = ACTIONS(483), + [anon_sym_PERCENT] = ACTIONS(483), + [anon_sym_PERCENT_PERCENT] = ACTIONS(483), + [anon_sym_EQ_EQ] = ACTIONS(481), + [anon_sym_BANG_EQ] = ACTIONS(481), + [anon_sym_GT_EQ] = ACTIONS(483), + [anon_sym_LT_EQ] = ACTIONS(483), + [anon_sym_in] = ACTIONS(483), + [anon_sym_CARET] = ACTIONS(483), + [anon_sym_DOT_DOT] = ACTIONS(483), + [anon_sym_DOT_DOT_EQ] = ACTIONS(481), + [anon_sym_LBRACK] = ACTIONS(481), + [anon_sym_DOT] = ACTIONS(483), + [anon_sym_PERCENT_LBRACE] = ACTIONS(481), + [anon_sym_for] = ACTIONS(483), + [anon_sym_if] = ACTIONS(483), + [anon_sym_while] = ACTIONS(483), + [anon_sym_return] = ACTIONS(483), + [sym_break_expression] = ACTIONS(483), + [sym_continue_expression] = ACTIONS(483), + [sym_integer] = ACTIONS(483), + [sym_float] = ACTIONS(483), + [sym_complex] = ACTIONS(481), + [anon_sym_true] = ACTIONS(483), + [anon_sym_false] = ACTIONS(483), + [anon_sym_Inf] = ACTIONS(483), + [anon_sym_NaN] = ACTIONS(483), + [anon_sym_DQUOTE] = ACTIONS(481), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(476), - [sym_raw_string] = ACTIONS(476), + [sym_named_op_assign] = ACTIONS(481), + [sym_raw_string] = ACTIONS(481), }, [88] = { - [ts_builtin_sym_end] = ACTIONS(480), - [sym_identifier] = ACTIONS(482), - [anon_sym_SEMI] = ACTIONS(480), - [anon_sym_let] = ACTIONS(482), - [anon_sym_EQ] = ACTIONS(482), - [anon_sym_COMMA] = ACTIONS(480), - [anon_sym_pure] = ACTIONS(482), - [anon_sym_fn] = ACTIONS(482), - [anon_sym_LPAREN] = ACTIONS(480), - [anon_sym_struct] = ACTIONS(482), - [anon_sym_LBRACE] = ACTIONS(480), - [anon_sym_RBRACE] = ACTIONS(480), - [anon_sym_LT] = ACTIONS(482), - [anon_sym_GT] = ACTIONS(482), - [anon_sym_PLUS_EQ] = ACTIONS(480), - [anon_sym_DASH_EQ] = ACTIONS(480), - [anon_sym_STAR_EQ] = ACTIONS(480), - [anon_sym_SLASH_EQ] = ACTIONS(480), - [anon_sym_BSLASH_EQ] = ACTIONS(480), - [anon_sym_PERCENT_EQ] = ACTIONS(480), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(480), - [anon_sym_CARET_EQ] = ACTIONS(480), - [anon_sym_AMP_EQ] = ACTIONS(480), - [anon_sym_PIPE_EQ] = ACTIONS(480), - [anon_sym_TILDE_EQ] = ACTIONS(480), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(480), - [anon_sym_LT_GT_EQ] = ACTIONS(480), - [anon_sym_LT_LT_EQ] = ACTIONS(480), - [anon_sym_GT_GT_EQ] = ACTIONS(480), - [anon_sym_BANG] = ACTIONS(482), - [anon_sym_DASH] = ACTIONS(482), - [anon_sym_TILDE] = ACTIONS(482), - [anon_sym_not] = ACTIONS(482), - [anon_sym_or] = ACTIONS(482), - [anon_sym_and] = ACTIONS(482), - [anon_sym_LT_EQ_GT] = ACTIONS(480), - [anon_sym_GT_EQ_LT] = ACTIONS(480), - [anon_sym_LT_LT] = ACTIONS(482), - [anon_sym_GT_GT] = ACTIONS(482), - [anon_sym_PIPE] = ACTIONS(482), - [anon_sym_AMP] = ACTIONS(482), - [anon_sym_PLUS] = ACTIONS(482), - [anon_sym_PLUS_PLUS] = ACTIONS(482), - [anon_sym_LT_GT] = ACTIONS(482), - [anon_sym_STAR] = ACTIONS(482), - [anon_sym_SLASH] = ACTIONS(482), - [anon_sym_BSLASH] = ACTIONS(482), - [anon_sym_PERCENT] = ACTIONS(482), - [anon_sym_PERCENT_PERCENT] = ACTIONS(482), - [anon_sym_EQ_EQ] = ACTIONS(480), - [anon_sym_BANG_EQ] = ACTIONS(480), - [anon_sym_GT_EQ] = ACTIONS(482), - [anon_sym_LT_EQ] = ACTIONS(482), - [anon_sym_in] = ACTIONS(482), - [anon_sym_CARET] = ACTIONS(482), - [anon_sym_DOT_DOT] = ACTIONS(482), - [anon_sym_DOT_DOT_EQ] = ACTIONS(480), - [anon_sym_LBRACK] = ACTIONS(480), - [anon_sym_DOT] = ACTIONS(482), - [anon_sym_PERCENT_LBRACE] = ACTIONS(480), - [anon_sym_for] = ACTIONS(482), - [anon_sym_if] = ACTIONS(482), - [anon_sym_while] = ACTIONS(482), - [anon_sym_return] = ACTIONS(482), - [sym_break_expression] = ACTIONS(482), - [sym_continue_expression] = ACTIONS(482), - [sym_integer] = ACTIONS(482), - [sym_float] = ACTIONS(482), - [sym_complex] = ACTIONS(480), - [anon_sym_true] = ACTIONS(482), - [anon_sym_false] = ACTIONS(482), - [anon_sym_Inf] = ACTIONS(482), - [anon_sym_NaN] = ACTIONS(482), - [anon_sym_DQUOTE] = ACTIONS(480), + [ts_builtin_sym_end] = ACTIONS(485), + [sym_identifier] = ACTIONS(487), + [anon_sym_SEMI] = ACTIONS(485), + [anon_sym_let] = ACTIONS(487), + [anon_sym_EQ] = ACTIONS(487), + [anon_sym_COMMA] = ACTIONS(485), + [anon_sym_pure] = ACTIONS(487), + [anon_sym_fn] = ACTIONS(487), + [anon_sym_LPAREN] = ACTIONS(485), + [anon_sym_struct] = ACTIONS(487), + [anon_sym_LBRACE] = ACTIONS(485), + [anon_sym_RBRACE] = ACTIONS(485), + [anon_sym_LT] = ACTIONS(487), + [anon_sym_GT] = ACTIONS(487), + [anon_sym_PLUS_EQ] = ACTIONS(485), + [anon_sym_DASH_EQ] = ACTIONS(485), + [anon_sym_STAR_EQ] = ACTIONS(485), + [anon_sym_SLASH_EQ] = ACTIONS(485), + [anon_sym_BSLASH_EQ] = ACTIONS(485), + [anon_sym_PERCENT_EQ] = ACTIONS(485), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(485), + [anon_sym_CARET_EQ] = ACTIONS(485), + [anon_sym_AMP_EQ] = ACTIONS(485), + [anon_sym_PIPE_EQ] = ACTIONS(485), + [anon_sym_TILDE_EQ] = ACTIONS(485), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(485), + [anon_sym_LT_GT_EQ] = ACTIONS(485), + [anon_sym_LT_LT_EQ] = ACTIONS(485), + [anon_sym_GT_GT_EQ] = ACTIONS(485), + [anon_sym_as] = ACTIONS(487), + [anon_sym_BANG] = ACTIONS(487), + [anon_sym_DASH] = ACTIONS(487), + [anon_sym_TILDE] = ACTIONS(487), + [anon_sym_not] = ACTIONS(487), + [anon_sym_or] = ACTIONS(487), + [anon_sym_and] = ACTIONS(487), + [anon_sym_LT_EQ_GT] = ACTIONS(485), + [anon_sym_GT_EQ_LT] = ACTIONS(485), + [anon_sym_LT_LT] = ACTIONS(487), + [anon_sym_GT_GT] = ACTIONS(487), + [anon_sym_PIPE] = ACTIONS(487), + [anon_sym_AMP] = ACTIONS(487), + [anon_sym_PLUS] = ACTIONS(487), + [anon_sym_PLUS_PLUS] = ACTIONS(487), + [anon_sym_LT_GT] = ACTIONS(487), + [anon_sym_STAR] = ACTIONS(487), + [anon_sym_SLASH] = ACTIONS(487), + [anon_sym_BSLASH] = ACTIONS(487), + [anon_sym_PERCENT] = ACTIONS(487), + [anon_sym_PERCENT_PERCENT] = ACTIONS(487), + [anon_sym_EQ_EQ] = ACTIONS(485), + [anon_sym_BANG_EQ] = ACTIONS(485), + [anon_sym_GT_EQ] = ACTIONS(487), + [anon_sym_LT_EQ] = ACTIONS(487), + [anon_sym_in] = ACTIONS(487), + [anon_sym_CARET] = ACTIONS(487), + [anon_sym_DOT_DOT] = ACTIONS(487), + [anon_sym_DOT_DOT_EQ] = ACTIONS(485), + [anon_sym_LBRACK] = ACTIONS(485), + [anon_sym_DOT] = ACTIONS(487), + [anon_sym_PERCENT_LBRACE] = ACTIONS(485), + [anon_sym_for] = ACTIONS(487), + [anon_sym_if] = ACTIONS(487), + [anon_sym_while] = ACTIONS(487), + [anon_sym_return] = ACTIONS(487), + [sym_break_expression] = ACTIONS(487), + [sym_continue_expression] = ACTIONS(487), + [sym_integer] = ACTIONS(487), + [sym_float] = ACTIONS(487), + [sym_complex] = ACTIONS(485), + [anon_sym_true] = ACTIONS(487), + [anon_sym_false] = ACTIONS(487), + [anon_sym_Inf] = ACTIONS(487), + [anon_sym_NaN] = ACTIONS(487), + [anon_sym_DQUOTE] = ACTIONS(485), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(480), - [sym_raw_string] = ACTIONS(480), + [sym_named_op_assign] = ACTIONS(485), + [sym_raw_string] = ACTIONS(485), }, [89] = { - [ts_builtin_sym_end] = ACTIONS(484), - [sym_identifier] = ACTIONS(486), - [anon_sym_SEMI] = ACTIONS(484), - [anon_sym_let] = ACTIONS(486), - [anon_sym_EQ] = ACTIONS(486), - [anon_sym_COMMA] = ACTIONS(484), - [anon_sym_pure] = ACTIONS(486), - [anon_sym_fn] = ACTIONS(486), - [anon_sym_LPAREN] = ACTIONS(484), - [anon_sym_struct] = ACTIONS(486), - [anon_sym_LBRACE] = ACTIONS(484), - [anon_sym_RBRACE] = ACTIONS(484), - [anon_sym_LT] = ACTIONS(486), - [anon_sym_GT] = ACTIONS(486), - [anon_sym_PLUS_EQ] = ACTIONS(484), - [anon_sym_DASH_EQ] = ACTIONS(484), - [anon_sym_STAR_EQ] = ACTIONS(484), - [anon_sym_SLASH_EQ] = ACTIONS(484), - [anon_sym_BSLASH_EQ] = ACTIONS(484), - [anon_sym_PERCENT_EQ] = ACTIONS(484), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(484), - [anon_sym_CARET_EQ] = ACTIONS(484), - [anon_sym_AMP_EQ] = ACTIONS(484), - [anon_sym_PIPE_EQ] = ACTIONS(484), - [anon_sym_TILDE_EQ] = ACTIONS(484), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(484), - [anon_sym_LT_GT_EQ] = ACTIONS(484), - [anon_sym_LT_LT_EQ] = ACTIONS(484), - [anon_sym_GT_GT_EQ] = ACTIONS(484), - [anon_sym_BANG] = ACTIONS(486), - [anon_sym_DASH] = ACTIONS(486), - [anon_sym_TILDE] = ACTIONS(486), - [anon_sym_not] = ACTIONS(486), - [anon_sym_or] = ACTIONS(486), - [anon_sym_and] = ACTIONS(486), - [anon_sym_LT_EQ_GT] = ACTIONS(484), - [anon_sym_GT_EQ_LT] = ACTIONS(484), - [anon_sym_LT_LT] = ACTIONS(486), - [anon_sym_GT_GT] = ACTIONS(486), - [anon_sym_PIPE] = ACTIONS(486), - [anon_sym_AMP] = ACTIONS(486), - [anon_sym_PLUS] = ACTIONS(486), - [anon_sym_PLUS_PLUS] = ACTIONS(486), - [anon_sym_LT_GT] = ACTIONS(486), - [anon_sym_STAR] = ACTIONS(486), - [anon_sym_SLASH] = ACTIONS(486), - [anon_sym_BSLASH] = ACTIONS(486), - [anon_sym_PERCENT] = ACTIONS(486), - [anon_sym_PERCENT_PERCENT] = ACTIONS(486), - [anon_sym_EQ_EQ] = ACTIONS(484), - [anon_sym_BANG_EQ] = ACTIONS(484), - [anon_sym_GT_EQ] = ACTIONS(486), - [anon_sym_LT_EQ] = ACTIONS(486), - [anon_sym_in] = ACTIONS(486), - [anon_sym_CARET] = ACTIONS(486), - [anon_sym_DOT_DOT] = ACTIONS(486), - [anon_sym_DOT_DOT_EQ] = ACTIONS(484), - [anon_sym_LBRACK] = ACTIONS(484), - [anon_sym_DOT] = ACTIONS(486), - [anon_sym_PERCENT_LBRACE] = ACTIONS(484), - [anon_sym_for] = ACTIONS(486), - [anon_sym_if] = ACTIONS(486), - [anon_sym_while] = ACTIONS(486), - [anon_sym_return] = ACTIONS(486), - [sym_break_expression] = ACTIONS(486), - [sym_continue_expression] = ACTIONS(486), - [sym_integer] = ACTIONS(486), - [sym_float] = ACTIONS(486), - [sym_complex] = ACTIONS(484), - [anon_sym_true] = ACTIONS(486), - [anon_sym_false] = ACTIONS(486), - [anon_sym_Inf] = ACTIONS(486), - [anon_sym_NaN] = ACTIONS(486), - [anon_sym_DQUOTE] = ACTIONS(484), + [ts_builtin_sym_end] = ACTIONS(489), + [sym_identifier] = ACTIONS(491), + [anon_sym_SEMI] = ACTIONS(489), + [anon_sym_let] = ACTIONS(491), + [anon_sym_EQ] = ACTIONS(491), + [anon_sym_COMMA] = ACTIONS(489), + [anon_sym_pure] = ACTIONS(491), + [anon_sym_fn] = ACTIONS(491), + [anon_sym_LPAREN] = ACTIONS(489), + [anon_sym_struct] = ACTIONS(491), + [anon_sym_LBRACE] = ACTIONS(489), + [anon_sym_RBRACE] = ACTIONS(489), + [anon_sym_LT] = ACTIONS(491), + [anon_sym_GT] = ACTIONS(491), + [anon_sym_PLUS_EQ] = ACTIONS(489), + [anon_sym_DASH_EQ] = ACTIONS(489), + [anon_sym_STAR_EQ] = ACTIONS(489), + [anon_sym_SLASH_EQ] = ACTIONS(489), + [anon_sym_BSLASH_EQ] = ACTIONS(489), + [anon_sym_PERCENT_EQ] = ACTIONS(489), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(489), + [anon_sym_CARET_EQ] = ACTIONS(489), + [anon_sym_AMP_EQ] = ACTIONS(489), + [anon_sym_PIPE_EQ] = ACTIONS(489), + [anon_sym_TILDE_EQ] = ACTIONS(489), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(489), + [anon_sym_LT_GT_EQ] = ACTIONS(489), + [anon_sym_LT_LT_EQ] = ACTIONS(489), + [anon_sym_GT_GT_EQ] = ACTIONS(489), + [anon_sym_as] = ACTIONS(491), + [anon_sym_BANG] = ACTIONS(491), + [anon_sym_DASH] = ACTIONS(491), + [anon_sym_TILDE] = ACTIONS(491), + [anon_sym_not] = ACTIONS(491), + [anon_sym_or] = ACTIONS(491), + [anon_sym_and] = ACTIONS(491), + [anon_sym_LT_EQ_GT] = ACTIONS(489), + [anon_sym_GT_EQ_LT] = ACTIONS(489), + [anon_sym_LT_LT] = ACTIONS(491), + [anon_sym_GT_GT] = ACTIONS(491), + [anon_sym_PIPE] = ACTIONS(491), + [anon_sym_AMP] = ACTIONS(491), + [anon_sym_PLUS] = ACTIONS(491), + [anon_sym_PLUS_PLUS] = ACTIONS(491), + [anon_sym_LT_GT] = ACTIONS(491), + [anon_sym_STAR] = ACTIONS(491), + [anon_sym_SLASH] = ACTIONS(491), + [anon_sym_BSLASH] = ACTIONS(491), + [anon_sym_PERCENT] = ACTIONS(491), + [anon_sym_PERCENT_PERCENT] = ACTIONS(491), + [anon_sym_EQ_EQ] = ACTIONS(489), + [anon_sym_BANG_EQ] = ACTIONS(489), + [anon_sym_GT_EQ] = ACTIONS(491), + [anon_sym_LT_EQ] = ACTIONS(491), + [anon_sym_in] = ACTIONS(491), + [anon_sym_CARET] = ACTIONS(491), + [anon_sym_DOT_DOT] = ACTIONS(491), + [anon_sym_DOT_DOT_EQ] = ACTIONS(489), + [anon_sym_LBRACK] = ACTIONS(489), + [anon_sym_DOT] = ACTIONS(491), + [anon_sym_PERCENT_LBRACE] = ACTIONS(489), + [anon_sym_for] = ACTIONS(491), + [anon_sym_if] = ACTIONS(491), + [anon_sym_while] = ACTIONS(491), + [anon_sym_return] = ACTIONS(491), + [sym_break_expression] = ACTIONS(491), + [sym_continue_expression] = ACTIONS(491), + [sym_integer] = ACTIONS(491), + [sym_float] = ACTIONS(491), + [sym_complex] = ACTIONS(489), + [anon_sym_true] = ACTIONS(491), + [anon_sym_false] = ACTIONS(491), + [anon_sym_Inf] = ACTIONS(491), + [anon_sym_NaN] = ACTIONS(491), + [anon_sym_DQUOTE] = ACTIONS(489), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(484), - [sym_raw_string] = ACTIONS(484), + [sym_named_op_assign] = ACTIONS(489), + [sym_raw_string] = ACTIONS(489), }, [90] = { - [ts_builtin_sym_end] = ACTIONS(488), - [sym_identifier] = ACTIONS(490), - [anon_sym_SEMI] = ACTIONS(488), - [anon_sym_let] = ACTIONS(490), - [anon_sym_EQ] = ACTIONS(490), - [anon_sym_COMMA] = ACTIONS(488), - [anon_sym_pure] = ACTIONS(490), - [anon_sym_fn] = ACTIONS(490), - [anon_sym_LPAREN] = ACTIONS(488), - [anon_sym_struct] = ACTIONS(490), - [anon_sym_LBRACE] = ACTIONS(488), - [anon_sym_RBRACE] = ACTIONS(488), - [anon_sym_LT] = ACTIONS(490), - [anon_sym_GT] = ACTIONS(490), - [anon_sym_PLUS_EQ] = ACTIONS(488), - [anon_sym_DASH_EQ] = ACTIONS(488), - [anon_sym_STAR_EQ] = ACTIONS(488), - [anon_sym_SLASH_EQ] = ACTIONS(488), - [anon_sym_BSLASH_EQ] = ACTIONS(488), - [anon_sym_PERCENT_EQ] = ACTIONS(488), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(488), - [anon_sym_CARET_EQ] = ACTIONS(488), - [anon_sym_AMP_EQ] = ACTIONS(488), - [anon_sym_PIPE_EQ] = ACTIONS(488), - [anon_sym_TILDE_EQ] = ACTIONS(488), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(488), - [anon_sym_LT_GT_EQ] = ACTIONS(488), - [anon_sym_LT_LT_EQ] = ACTIONS(488), - [anon_sym_GT_GT_EQ] = ACTIONS(488), - [anon_sym_BANG] = ACTIONS(490), - [anon_sym_DASH] = ACTIONS(490), - [anon_sym_TILDE] = ACTIONS(490), - [anon_sym_not] = ACTIONS(490), - [anon_sym_or] = ACTIONS(490), - [anon_sym_and] = ACTIONS(490), - [anon_sym_LT_EQ_GT] = ACTIONS(488), - [anon_sym_GT_EQ_LT] = ACTIONS(488), - [anon_sym_LT_LT] = ACTIONS(490), - [anon_sym_GT_GT] = ACTIONS(490), - [anon_sym_PIPE] = ACTIONS(490), - [anon_sym_AMP] = ACTIONS(490), - [anon_sym_PLUS] = ACTIONS(490), - [anon_sym_PLUS_PLUS] = ACTIONS(490), - [anon_sym_LT_GT] = ACTIONS(490), - [anon_sym_STAR] = ACTIONS(490), - [anon_sym_SLASH] = ACTIONS(490), - [anon_sym_BSLASH] = ACTIONS(490), - [anon_sym_PERCENT] = ACTIONS(490), - [anon_sym_PERCENT_PERCENT] = ACTIONS(490), - [anon_sym_EQ_EQ] = ACTIONS(488), - [anon_sym_BANG_EQ] = ACTIONS(488), - [anon_sym_GT_EQ] = ACTIONS(490), - [anon_sym_LT_EQ] = ACTIONS(490), - [anon_sym_in] = ACTIONS(490), - [anon_sym_CARET] = ACTIONS(490), - [anon_sym_DOT_DOT] = ACTIONS(490), - [anon_sym_DOT_DOT_EQ] = ACTIONS(488), - [anon_sym_LBRACK] = ACTIONS(488), - [anon_sym_DOT] = ACTIONS(490), - [anon_sym_PERCENT_LBRACE] = ACTIONS(488), - [anon_sym_for] = ACTIONS(490), - [anon_sym_if] = ACTIONS(490), - [anon_sym_while] = ACTIONS(490), - [anon_sym_return] = ACTIONS(490), - [sym_break_expression] = ACTIONS(490), - [sym_continue_expression] = ACTIONS(490), - [sym_integer] = ACTIONS(490), - [sym_float] = ACTIONS(490), - [sym_complex] = ACTIONS(488), - [anon_sym_true] = ACTIONS(490), - [anon_sym_false] = ACTIONS(490), - [anon_sym_Inf] = ACTIONS(490), - [anon_sym_NaN] = ACTIONS(490), - [anon_sym_DQUOTE] = ACTIONS(488), + [ts_builtin_sym_end] = ACTIONS(493), + [sym_identifier] = ACTIONS(495), + [anon_sym_SEMI] = ACTIONS(493), + [anon_sym_let] = ACTIONS(495), + [anon_sym_EQ] = ACTIONS(495), + [anon_sym_COMMA] = ACTIONS(493), + [anon_sym_pure] = ACTIONS(495), + [anon_sym_fn] = ACTIONS(495), + [anon_sym_LPAREN] = ACTIONS(493), + [anon_sym_struct] = ACTIONS(495), + [anon_sym_LBRACE] = ACTIONS(493), + [anon_sym_RBRACE] = ACTIONS(493), + [anon_sym_LT] = ACTIONS(495), + [anon_sym_GT] = ACTIONS(495), + [anon_sym_PLUS_EQ] = ACTIONS(493), + [anon_sym_DASH_EQ] = ACTIONS(493), + [anon_sym_STAR_EQ] = ACTIONS(493), + [anon_sym_SLASH_EQ] = ACTIONS(493), + [anon_sym_BSLASH_EQ] = ACTIONS(493), + [anon_sym_PERCENT_EQ] = ACTIONS(493), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(493), + [anon_sym_CARET_EQ] = ACTIONS(493), + [anon_sym_AMP_EQ] = ACTIONS(493), + [anon_sym_PIPE_EQ] = ACTIONS(493), + [anon_sym_TILDE_EQ] = ACTIONS(493), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(493), + [anon_sym_LT_GT_EQ] = ACTIONS(493), + [anon_sym_LT_LT_EQ] = ACTIONS(493), + [anon_sym_GT_GT_EQ] = ACTIONS(493), + [anon_sym_as] = ACTIONS(495), + [anon_sym_BANG] = ACTIONS(495), + [anon_sym_DASH] = ACTIONS(495), + [anon_sym_TILDE] = ACTIONS(495), + [anon_sym_not] = ACTIONS(495), + [anon_sym_or] = ACTIONS(495), + [anon_sym_and] = ACTIONS(495), + [anon_sym_LT_EQ_GT] = ACTIONS(493), + [anon_sym_GT_EQ_LT] = ACTIONS(493), + [anon_sym_LT_LT] = ACTIONS(495), + [anon_sym_GT_GT] = ACTIONS(495), + [anon_sym_PIPE] = ACTIONS(495), + [anon_sym_AMP] = ACTIONS(495), + [anon_sym_PLUS] = ACTIONS(495), + [anon_sym_PLUS_PLUS] = ACTIONS(495), + [anon_sym_LT_GT] = ACTIONS(495), + [anon_sym_STAR] = ACTIONS(495), + [anon_sym_SLASH] = ACTIONS(495), + [anon_sym_BSLASH] = ACTIONS(495), + [anon_sym_PERCENT] = ACTIONS(495), + [anon_sym_PERCENT_PERCENT] = ACTIONS(495), + [anon_sym_EQ_EQ] = ACTIONS(493), + [anon_sym_BANG_EQ] = ACTIONS(493), + [anon_sym_GT_EQ] = ACTIONS(495), + [anon_sym_LT_EQ] = ACTIONS(495), + [anon_sym_in] = ACTIONS(495), + [anon_sym_CARET] = ACTIONS(495), + [anon_sym_DOT_DOT] = ACTIONS(495), + [anon_sym_DOT_DOT_EQ] = ACTIONS(493), + [anon_sym_LBRACK] = ACTIONS(493), + [anon_sym_DOT] = ACTIONS(495), + [anon_sym_PERCENT_LBRACE] = ACTIONS(493), + [anon_sym_for] = ACTIONS(495), + [anon_sym_if] = ACTIONS(495), + [anon_sym_while] = ACTIONS(495), + [anon_sym_return] = ACTIONS(495), + [sym_break_expression] = ACTIONS(495), + [sym_continue_expression] = ACTIONS(495), + [sym_integer] = ACTIONS(495), + [sym_float] = ACTIONS(495), + [sym_complex] = ACTIONS(493), + [anon_sym_true] = ACTIONS(495), + [anon_sym_false] = ACTIONS(495), + [anon_sym_Inf] = ACTIONS(495), + [anon_sym_NaN] = ACTIONS(495), + [anon_sym_DQUOTE] = ACTIONS(493), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(488), - [sym_raw_string] = ACTIONS(488), + [sym_named_op_assign] = ACTIONS(493), + [sym_raw_string] = ACTIONS(493), }, [91] = { - [ts_builtin_sym_end] = ACTIONS(492), - [sym_identifier] = ACTIONS(494), - [anon_sym_SEMI] = ACTIONS(492), - [anon_sym_let] = ACTIONS(494), - [anon_sym_EQ] = ACTIONS(494), - [anon_sym_COMMA] = ACTIONS(492), - [anon_sym_pure] = ACTIONS(494), - [anon_sym_fn] = ACTIONS(494), - [anon_sym_LPAREN] = ACTIONS(492), - [anon_sym_struct] = ACTIONS(494), - [anon_sym_LBRACE] = ACTIONS(492), - [anon_sym_RBRACE] = ACTIONS(492), - [anon_sym_LT] = ACTIONS(494), - [anon_sym_GT] = ACTIONS(494), - [anon_sym_PLUS_EQ] = ACTIONS(492), - [anon_sym_DASH_EQ] = ACTIONS(492), - [anon_sym_STAR_EQ] = ACTIONS(492), - [anon_sym_SLASH_EQ] = ACTIONS(492), - [anon_sym_BSLASH_EQ] = ACTIONS(492), - [anon_sym_PERCENT_EQ] = ACTIONS(492), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(492), - [anon_sym_CARET_EQ] = ACTIONS(492), - [anon_sym_AMP_EQ] = ACTIONS(492), - [anon_sym_PIPE_EQ] = ACTIONS(492), - [anon_sym_TILDE_EQ] = ACTIONS(492), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(492), - [anon_sym_LT_GT_EQ] = ACTIONS(492), - [anon_sym_LT_LT_EQ] = ACTIONS(492), - [anon_sym_GT_GT_EQ] = ACTIONS(492), - [anon_sym_BANG] = ACTIONS(494), - [anon_sym_DASH] = ACTIONS(494), - [anon_sym_TILDE] = ACTIONS(494), - [anon_sym_not] = ACTIONS(494), - [anon_sym_or] = ACTIONS(494), - [anon_sym_and] = ACTIONS(494), - [anon_sym_LT_EQ_GT] = ACTIONS(492), - [anon_sym_GT_EQ_LT] = ACTIONS(492), - [anon_sym_LT_LT] = ACTIONS(494), - [anon_sym_GT_GT] = ACTIONS(494), - [anon_sym_PIPE] = ACTIONS(494), - [anon_sym_AMP] = ACTIONS(494), - [anon_sym_PLUS] = ACTIONS(494), - [anon_sym_PLUS_PLUS] = ACTIONS(494), - [anon_sym_LT_GT] = ACTIONS(494), - [anon_sym_STAR] = ACTIONS(494), - [anon_sym_SLASH] = ACTIONS(494), - [anon_sym_BSLASH] = ACTIONS(494), - [anon_sym_PERCENT] = ACTIONS(494), - [anon_sym_PERCENT_PERCENT] = ACTIONS(494), - [anon_sym_EQ_EQ] = ACTIONS(492), - [anon_sym_BANG_EQ] = ACTIONS(492), - [anon_sym_GT_EQ] = ACTIONS(494), - [anon_sym_LT_EQ] = ACTIONS(494), - [anon_sym_in] = ACTIONS(494), - [anon_sym_CARET] = ACTIONS(494), - [anon_sym_DOT_DOT] = ACTIONS(494), - [anon_sym_DOT_DOT_EQ] = ACTIONS(492), - [anon_sym_LBRACK] = ACTIONS(492), - [anon_sym_DOT] = ACTIONS(494), - [anon_sym_PERCENT_LBRACE] = ACTIONS(492), - [anon_sym_for] = ACTIONS(494), - [anon_sym_if] = ACTIONS(494), - [anon_sym_while] = ACTIONS(494), - [anon_sym_return] = ACTIONS(494), - [sym_break_expression] = ACTIONS(494), - [sym_continue_expression] = ACTIONS(494), - [sym_integer] = ACTIONS(494), - [sym_float] = ACTIONS(494), - [sym_complex] = ACTIONS(492), - [anon_sym_true] = ACTIONS(494), - [anon_sym_false] = ACTIONS(494), - [anon_sym_Inf] = ACTIONS(494), - [anon_sym_NaN] = ACTIONS(494), - [anon_sym_DQUOTE] = ACTIONS(492), + [ts_builtin_sym_end] = ACTIONS(497), + [sym_identifier] = ACTIONS(499), + [anon_sym_SEMI] = ACTIONS(497), + [anon_sym_let] = ACTIONS(499), + [anon_sym_EQ] = ACTIONS(499), + [anon_sym_COMMA] = ACTIONS(497), + [anon_sym_pure] = ACTIONS(499), + [anon_sym_fn] = ACTIONS(499), + [anon_sym_LPAREN] = ACTIONS(497), + [anon_sym_struct] = ACTIONS(499), + [anon_sym_LBRACE] = ACTIONS(497), + [anon_sym_RBRACE] = ACTIONS(497), + [anon_sym_LT] = ACTIONS(499), + [anon_sym_GT] = ACTIONS(499), + [anon_sym_PLUS_EQ] = ACTIONS(497), + [anon_sym_DASH_EQ] = ACTIONS(497), + [anon_sym_STAR_EQ] = ACTIONS(497), + [anon_sym_SLASH_EQ] = ACTIONS(497), + [anon_sym_BSLASH_EQ] = ACTIONS(497), + [anon_sym_PERCENT_EQ] = ACTIONS(497), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(497), + [anon_sym_CARET_EQ] = ACTIONS(497), + [anon_sym_AMP_EQ] = ACTIONS(497), + [anon_sym_PIPE_EQ] = ACTIONS(497), + [anon_sym_TILDE_EQ] = ACTIONS(497), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(497), + [anon_sym_LT_GT_EQ] = ACTIONS(497), + [anon_sym_LT_LT_EQ] = ACTIONS(497), + [anon_sym_GT_GT_EQ] = ACTIONS(497), + [anon_sym_as] = ACTIONS(499), + [anon_sym_BANG] = ACTIONS(499), + [anon_sym_DASH] = ACTIONS(499), + [anon_sym_TILDE] = ACTIONS(499), + [anon_sym_not] = ACTIONS(499), + [anon_sym_or] = ACTIONS(499), + [anon_sym_and] = ACTIONS(499), + [anon_sym_LT_EQ_GT] = ACTIONS(497), + [anon_sym_GT_EQ_LT] = ACTIONS(497), + [anon_sym_LT_LT] = ACTIONS(499), + [anon_sym_GT_GT] = ACTIONS(499), + [anon_sym_PIPE] = ACTIONS(499), + [anon_sym_AMP] = ACTIONS(499), + [anon_sym_PLUS] = ACTIONS(499), + [anon_sym_PLUS_PLUS] = ACTIONS(499), + [anon_sym_LT_GT] = ACTIONS(499), + [anon_sym_STAR] = ACTIONS(499), + [anon_sym_SLASH] = ACTIONS(499), + [anon_sym_BSLASH] = ACTIONS(499), + [anon_sym_PERCENT] = ACTIONS(499), + [anon_sym_PERCENT_PERCENT] = ACTIONS(499), + [anon_sym_EQ_EQ] = ACTIONS(497), + [anon_sym_BANG_EQ] = ACTIONS(497), + [anon_sym_GT_EQ] = ACTIONS(499), + [anon_sym_LT_EQ] = ACTIONS(499), + [anon_sym_in] = ACTIONS(499), + [anon_sym_CARET] = ACTIONS(499), + [anon_sym_DOT_DOT] = ACTIONS(499), + [anon_sym_DOT_DOT_EQ] = ACTIONS(497), + [anon_sym_LBRACK] = ACTIONS(497), + [anon_sym_DOT] = ACTIONS(499), + [anon_sym_PERCENT_LBRACE] = ACTIONS(497), + [anon_sym_for] = ACTIONS(499), + [anon_sym_if] = ACTIONS(499), + [anon_sym_while] = ACTIONS(499), + [anon_sym_return] = ACTIONS(499), + [sym_break_expression] = ACTIONS(499), + [sym_continue_expression] = ACTIONS(499), + [sym_integer] = ACTIONS(499), + [sym_float] = ACTIONS(499), + [sym_complex] = ACTIONS(497), + [anon_sym_true] = ACTIONS(499), + [anon_sym_false] = ACTIONS(499), + [anon_sym_Inf] = ACTIONS(499), + [anon_sym_NaN] = ACTIONS(499), + [anon_sym_DQUOTE] = ACTIONS(497), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(492), - [sym_raw_string] = ACTIONS(492), + [sym_named_op_assign] = ACTIONS(497), + [sym_raw_string] = ACTIONS(497), }, [92] = { - [ts_builtin_sym_end] = ACTIONS(496), - [sym_identifier] = ACTIONS(498), - [anon_sym_SEMI] = ACTIONS(496), - [anon_sym_let] = ACTIONS(498), - [anon_sym_EQ] = ACTIONS(498), - [anon_sym_COMMA] = ACTIONS(496), - [anon_sym_pure] = ACTIONS(498), - [anon_sym_fn] = ACTIONS(498), - [anon_sym_LPAREN] = ACTIONS(496), - [anon_sym_struct] = ACTIONS(498), - [anon_sym_LBRACE] = ACTIONS(496), - [anon_sym_RBRACE] = ACTIONS(496), - [anon_sym_LT] = ACTIONS(498), - [anon_sym_GT] = ACTIONS(498), - [anon_sym_PLUS_EQ] = ACTIONS(496), - [anon_sym_DASH_EQ] = ACTIONS(496), - [anon_sym_STAR_EQ] = ACTIONS(496), - [anon_sym_SLASH_EQ] = ACTIONS(496), - [anon_sym_BSLASH_EQ] = ACTIONS(496), - [anon_sym_PERCENT_EQ] = ACTIONS(496), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(496), - [anon_sym_CARET_EQ] = ACTIONS(496), - [anon_sym_AMP_EQ] = ACTIONS(496), - [anon_sym_PIPE_EQ] = ACTIONS(496), - [anon_sym_TILDE_EQ] = ACTIONS(496), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(496), - [anon_sym_LT_GT_EQ] = ACTIONS(496), - [anon_sym_LT_LT_EQ] = ACTIONS(496), - [anon_sym_GT_GT_EQ] = ACTIONS(496), - [anon_sym_BANG] = ACTIONS(498), - [anon_sym_DASH] = ACTIONS(498), - [anon_sym_TILDE] = ACTIONS(498), - [anon_sym_not] = ACTIONS(498), - [anon_sym_or] = ACTIONS(498), - [anon_sym_and] = ACTIONS(498), - [anon_sym_LT_EQ_GT] = ACTIONS(496), - [anon_sym_GT_EQ_LT] = ACTIONS(496), - [anon_sym_LT_LT] = ACTIONS(498), - [anon_sym_GT_GT] = ACTIONS(498), - [anon_sym_PIPE] = ACTIONS(498), - [anon_sym_AMP] = ACTIONS(498), - [anon_sym_PLUS] = ACTIONS(498), - [anon_sym_PLUS_PLUS] = ACTIONS(498), - [anon_sym_LT_GT] = ACTIONS(498), - [anon_sym_STAR] = ACTIONS(498), - [anon_sym_SLASH] = ACTIONS(498), - [anon_sym_BSLASH] = ACTIONS(498), - [anon_sym_PERCENT] = ACTIONS(498), - [anon_sym_PERCENT_PERCENT] = ACTIONS(498), - [anon_sym_EQ_EQ] = ACTIONS(496), - [anon_sym_BANG_EQ] = ACTIONS(496), - [anon_sym_GT_EQ] = ACTIONS(498), - [anon_sym_LT_EQ] = ACTIONS(498), - [anon_sym_in] = ACTIONS(498), - [anon_sym_CARET] = ACTIONS(498), - [anon_sym_DOT_DOT] = ACTIONS(498), - [anon_sym_DOT_DOT_EQ] = ACTIONS(496), - [anon_sym_LBRACK] = ACTIONS(496), - [anon_sym_DOT] = ACTIONS(498), - [anon_sym_PERCENT_LBRACE] = ACTIONS(496), - [anon_sym_for] = ACTIONS(498), - [anon_sym_if] = ACTIONS(498), - [anon_sym_while] = ACTIONS(498), - [anon_sym_return] = ACTIONS(498), - [sym_break_expression] = ACTIONS(498), - [sym_continue_expression] = ACTIONS(498), - [sym_integer] = ACTIONS(498), - [sym_float] = ACTIONS(498), - [sym_complex] = ACTIONS(496), - [anon_sym_true] = ACTIONS(498), - [anon_sym_false] = ACTIONS(498), - [anon_sym_Inf] = ACTIONS(498), - [anon_sym_NaN] = ACTIONS(498), - [anon_sym_DQUOTE] = ACTIONS(496), + [ts_builtin_sym_end] = ACTIONS(501), + [sym_identifier] = ACTIONS(503), + [anon_sym_SEMI] = ACTIONS(501), + [anon_sym_let] = ACTIONS(503), + [anon_sym_EQ] = ACTIONS(503), + [anon_sym_COMMA] = ACTIONS(501), + [anon_sym_pure] = ACTIONS(503), + [anon_sym_fn] = ACTIONS(503), + [anon_sym_LPAREN] = ACTIONS(501), + [anon_sym_struct] = ACTIONS(503), + [anon_sym_LBRACE] = ACTIONS(501), + [anon_sym_RBRACE] = ACTIONS(501), + [anon_sym_LT] = ACTIONS(503), + [anon_sym_GT] = ACTIONS(503), + [anon_sym_PLUS_EQ] = ACTIONS(501), + [anon_sym_DASH_EQ] = ACTIONS(501), + [anon_sym_STAR_EQ] = ACTIONS(501), + [anon_sym_SLASH_EQ] = ACTIONS(501), + [anon_sym_BSLASH_EQ] = ACTIONS(501), + [anon_sym_PERCENT_EQ] = ACTIONS(501), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(501), + [anon_sym_CARET_EQ] = ACTIONS(501), + [anon_sym_AMP_EQ] = ACTIONS(501), + [anon_sym_PIPE_EQ] = ACTIONS(501), + [anon_sym_TILDE_EQ] = ACTIONS(501), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(501), + [anon_sym_LT_GT_EQ] = ACTIONS(501), + [anon_sym_LT_LT_EQ] = ACTIONS(501), + [anon_sym_GT_GT_EQ] = ACTIONS(501), + [anon_sym_as] = ACTIONS(503), + [anon_sym_BANG] = ACTIONS(503), + [anon_sym_DASH] = ACTIONS(503), + [anon_sym_TILDE] = ACTIONS(503), + [anon_sym_not] = ACTIONS(503), + [anon_sym_or] = ACTIONS(503), + [anon_sym_and] = ACTIONS(503), + [anon_sym_LT_EQ_GT] = ACTIONS(501), + [anon_sym_GT_EQ_LT] = ACTIONS(501), + [anon_sym_LT_LT] = ACTIONS(503), + [anon_sym_GT_GT] = ACTIONS(503), + [anon_sym_PIPE] = ACTIONS(503), + [anon_sym_AMP] = ACTIONS(503), + [anon_sym_PLUS] = ACTIONS(503), + [anon_sym_PLUS_PLUS] = ACTIONS(503), + [anon_sym_LT_GT] = ACTIONS(503), + [anon_sym_STAR] = ACTIONS(503), + [anon_sym_SLASH] = ACTIONS(503), + [anon_sym_BSLASH] = ACTIONS(503), + [anon_sym_PERCENT] = ACTIONS(503), + [anon_sym_PERCENT_PERCENT] = ACTIONS(503), + [anon_sym_EQ_EQ] = ACTIONS(501), + [anon_sym_BANG_EQ] = ACTIONS(501), + [anon_sym_GT_EQ] = ACTIONS(503), + [anon_sym_LT_EQ] = ACTIONS(503), + [anon_sym_in] = ACTIONS(503), + [anon_sym_CARET] = ACTIONS(503), + [anon_sym_DOT_DOT] = ACTIONS(503), + [anon_sym_DOT_DOT_EQ] = ACTIONS(501), + [anon_sym_LBRACK] = ACTIONS(501), + [anon_sym_DOT] = ACTIONS(503), + [anon_sym_PERCENT_LBRACE] = ACTIONS(501), + [anon_sym_for] = ACTIONS(503), + [anon_sym_if] = ACTIONS(503), + [anon_sym_while] = ACTIONS(503), + [anon_sym_return] = ACTIONS(503), + [sym_break_expression] = ACTIONS(503), + [sym_continue_expression] = ACTIONS(503), + [sym_integer] = ACTIONS(503), + [sym_float] = ACTIONS(503), + [sym_complex] = ACTIONS(501), + [anon_sym_true] = ACTIONS(503), + [anon_sym_false] = ACTIONS(503), + [anon_sym_Inf] = ACTIONS(503), + [anon_sym_NaN] = ACTIONS(503), + [anon_sym_DQUOTE] = ACTIONS(501), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(496), - [sym_raw_string] = ACTIONS(496), + [sym_named_op_assign] = ACTIONS(501), + [sym_raw_string] = ACTIONS(501), }, [93] = { - [ts_builtin_sym_end] = ACTIONS(500), - [sym_identifier] = ACTIONS(502), - [anon_sym_SEMI] = ACTIONS(500), - [anon_sym_let] = ACTIONS(502), - [anon_sym_EQ] = ACTIONS(502), - [anon_sym_COMMA] = ACTIONS(500), - [anon_sym_pure] = ACTIONS(502), - [anon_sym_fn] = ACTIONS(502), - [anon_sym_LPAREN] = ACTIONS(500), - [anon_sym_struct] = ACTIONS(502), - [anon_sym_LBRACE] = ACTIONS(500), - [anon_sym_RBRACE] = ACTIONS(500), - [anon_sym_LT] = ACTIONS(502), - [anon_sym_GT] = ACTIONS(502), - [anon_sym_PLUS_EQ] = ACTIONS(500), - [anon_sym_DASH_EQ] = ACTIONS(500), - [anon_sym_STAR_EQ] = ACTIONS(500), - [anon_sym_SLASH_EQ] = ACTIONS(500), - [anon_sym_BSLASH_EQ] = ACTIONS(500), - [anon_sym_PERCENT_EQ] = ACTIONS(500), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(500), - [anon_sym_CARET_EQ] = ACTIONS(500), - [anon_sym_AMP_EQ] = ACTIONS(500), - [anon_sym_PIPE_EQ] = ACTIONS(500), - [anon_sym_TILDE_EQ] = ACTIONS(500), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(500), - [anon_sym_LT_GT_EQ] = ACTIONS(500), - [anon_sym_LT_LT_EQ] = ACTIONS(500), - [anon_sym_GT_GT_EQ] = ACTIONS(500), - [anon_sym_BANG] = ACTIONS(502), - [anon_sym_DASH] = ACTIONS(502), - [anon_sym_TILDE] = ACTIONS(502), - [anon_sym_not] = ACTIONS(502), - [anon_sym_or] = ACTIONS(502), - [anon_sym_and] = ACTIONS(502), - [anon_sym_LT_EQ_GT] = ACTIONS(500), - [anon_sym_GT_EQ_LT] = ACTIONS(500), - [anon_sym_LT_LT] = ACTIONS(502), - [anon_sym_GT_GT] = ACTIONS(502), - [anon_sym_PIPE] = ACTIONS(502), - [anon_sym_AMP] = ACTIONS(502), - [anon_sym_PLUS] = ACTIONS(502), - [anon_sym_PLUS_PLUS] = ACTIONS(502), - [anon_sym_LT_GT] = ACTIONS(502), - [anon_sym_STAR] = ACTIONS(502), - [anon_sym_SLASH] = ACTIONS(502), - [anon_sym_BSLASH] = ACTIONS(502), - [anon_sym_PERCENT] = ACTIONS(502), - [anon_sym_PERCENT_PERCENT] = ACTIONS(502), - [anon_sym_EQ_EQ] = ACTIONS(500), - [anon_sym_BANG_EQ] = ACTIONS(500), - [anon_sym_GT_EQ] = ACTIONS(502), - [anon_sym_LT_EQ] = ACTIONS(502), - [anon_sym_in] = ACTIONS(502), - [anon_sym_CARET] = ACTIONS(502), - [anon_sym_DOT_DOT] = ACTIONS(502), - [anon_sym_DOT_DOT_EQ] = ACTIONS(500), - [anon_sym_LBRACK] = ACTIONS(500), - [anon_sym_DOT] = ACTIONS(502), - [anon_sym_PERCENT_LBRACE] = ACTIONS(500), - [anon_sym_for] = ACTIONS(502), - [anon_sym_if] = ACTIONS(502), - [anon_sym_while] = ACTIONS(502), - [anon_sym_return] = ACTIONS(502), - [sym_break_expression] = ACTIONS(502), - [sym_continue_expression] = ACTIONS(502), - [sym_integer] = ACTIONS(502), - [sym_float] = ACTIONS(502), - [sym_complex] = ACTIONS(500), - [anon_sym_true] = ACTIONS(502), - [anon_sym_false] = ACTIONS(502), - [anon_sym_Inf] = ACTIONS(502), - [anon_sym_NaN] = ACTIONS(502), - [anon_sym_DQUOTE] = ACTIONS(500), + [ts_builtin_sym_end] = ACTIONS(505), + [sym_identifier] = ACTIONS(507), + [anon_sym_SEMI] = ACTIONS(505), + [anon_sym_let] = ACTIONS(507), + [anon_sym_EQ] = ACTIONS(507), + [anon_sym_COMMA] = ACTIONS(505), + [anon_sym_pure] = ACTIONS(507), + [anon_sym_fn] = ACTIONS(507), + [anon_sym_LPAREN] = ACTIONS(505), + [anon_sym_struct] = ACTIONS(507), + [anon_sym_LBRACE] = ACTIONS(505), + [anon_sym_RBRACE] = ACTIONS(505), + [anon_sym_LT] = ACTIONS(507), + [anon_sym_GT] = ACTIONS(507), + [anon_sym_PLUS_EQ] = ACTIONS(505), + [anon_sym_DASH_EQ] = ACTIONS(505), + [anon_sym_STAR_EQ] = ACTIONS(505), + [anon_sym_SLASH_EQ] = ACTIONS(505), + [anon_sym_BSLASH_EQ] = ACTIONS(505), + [anon_sym_PERCENT_EQ] = ACTIONS(505), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(505), + [anon_sym_CARET_EQ] = ACTIONS(505), + [anon_sym_AMP_EQ] = ACTIONS(505), + [anon_sym_PIPE_EQ] = ACTIONS(505), + [anon_sym_TILDE_EQ] = ACTIONS(505), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(505), + [anon_sym_LT_GT_EQ] = ACTIONS(505), + [anon_sym_LT_LT_EQ] = ACTIONS(505), + [anon_sym_GT_GT_EQ] = ACTIONS(505), + [anon_sym_as] = ACTIONS(507), + [anon_sym_BANG] = ACTIONS(507), + [anon_sym_DASH] = ACTIONS(507), + [anon_sym_TILDE] = ACTIONS(507), + [anon_sym_not] = ACTIONS(507), + [anon_sym_or] = ACTIONS(507), + [anon_sym_and] = ACTIONS(507), + [anon_sym_LT_EQ_GT] = ACTIONS(505), + [anon_sym_GT_EQ_LT] = ACTIONS(505), + [anon_sym_LT_LT] = ACTIONS(507), + [anon_sym_GT_GT] = ACTIONS(507), + [anon_sym_PIPE] = ACTIONS(507), + [anon_sym_AMP] = ACTIONS(507), + [anon_sym_PLUS] = ACTIONS(507), + [anon_sym_PLUS_PLUS] = ACTIONS(507), + [anon_sym_LT_GT] = ACTIONS(507), + [anon_sym_STAR] = ACTIONS(507), + [anon_sym_SLASH] = ACTIONS(507), + [anon_sym_BSLASH] = ACTIONS(507), + [anon_sym_PERCENT] = ACTIONS(507), + [anon_sym_PERCENT_PERCENT] = ACTIONS(507), + [anon_sym_EQ_EQ] = ACTIONS(505), + [anon_sym_BANG_EQ] = ACTIONS(505), + [anon_sym_GT_EQ] = ACTIONS(507), + [anon_sym_LT_EQ] = ACTIONS(507), + [anon_sym_in] = ACTIONS(507), + [anon_sym_CARET] = ACTIONS(507), + [anon_sym_DOT_DOT] = ACTIONS(507), + [anon_sym_DOT_DOT_EQ] = ACTIONS(505), + [anon_sym_LBRACK] = ACTIONS(505), + [anon_sym_DOT] = ACTIONS(507), + [anon_sym_PERCENT_LBRACE] = ACTIONS(505), + [anon_sym_for] = ACTIONS(507), + [anon_sym_if] = ACTIONS(507), + [anon_sym_while] = ACTIONS(507), + [anon_sym_return] = ACTIONS(507), + [sym_break_expression] = ACTIONS(507), + [sym_continue_expression] = ACTIONS(507), + [sym_integer] = ACTIONS(507), + [sym_float] = ACTIONS(507), + [sym_complex] = ACTIONS(505), + [anon_sym_true] = ACTIONS(507), + [anon_sym_false] = ACTIONS(507), + [anon_sym_Inf] = ACTIONS(507), + [anon_sym_NaN] = ACTIONS(507), + [anon_sym_DQUOTE] = ACTIONS(505), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(500), - [sym_raw_string] = ACTIONS(500), + [sym_named_op_assign] = ACTIONS(505), + [sym_raw_string] = ACTIONS(505), }, [94] = { - [ts_builtin_sym_end] = ACTIONS(504), - [sym_identifier] = ACTIONS(506), - [anon_sym_SEMI] = ACTIONS(504), - [anon_sym_let] = ACTIONS(506), - [anon_sym_EQ] = ACTIONS(506), - [anon_sym_COMMA] = ACTIONS(504), - [anon_sym_pure] = ACTIONS(506), - [anon_sym_fn] = ACTIONS(506), - [anon_sym_LPAREN] = ACTIONS(504), - [anon_sym_struct] = ACTIONS(506), - [anon_sym_LBRACE] = ACTIONS(504), - [anon_sym_RBRACE] = ACTIONS(504), - [anon_sym_LT] = ACTIONS(506), - [anon_sym_GT] = ACTIONS(506), - [anon_sym_PLUS_EQ] = ACTIONS(504), - [anon_sym_DASH_EQ] = ACTIONS(504), - [anon_sym_STAR_EQ] = ACTIONS(504), - [anon_sym_SLASH_EQ] = ACTIONS(504), - [anon_sym_BSLASH_EQ] = ACTIONS(504), - [anon_sym_PERCENT_EQ] = ACTIONS(504), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(504), - [anon_sym_CARET_EQ] = ACTIONS(504), - [anon_sym_AMP_EQ] = ACTIONS(504), - [anon_sym_PIPE_EQ] = ACTIONS(504), - [anon_sym_TILDE_EQ] = ACTIONS(504), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(504), - [anon_sym_LT_GT_EQ] = ACTIONS(504), - [anon_sym_LT_LT_EQ] = ACTIONS(504), - [anon_sym_GT_GT_EQ] = ACTIONS(504), - [anon_sym_BANG] = ACTIONS(506), - [anon_sym_DASH] = ACTIONS(506), - [anon_sym_TILDE] = ACTIONS(506), - [anon_sym_not] = ACTIONS(506), - [anon_sym_or] = ACTIONS(506), - [anon_sym_and] = ACTIONS(506), - [anon_sym_LT_EQ_GT] = ACTIONS(504), - [anon_sym_GT_EQ_LT] = ACTIONS(504), - [anon_sym_LT_LT] = ACTIONS(506), - [anon_sym_GT_GT] = ACTIONS(506), - [anon_sym_PIPE] = ACTIONS(506), - [anon_sym_AMP] = ACTIONS(506), - [anon_sym_PLUS] = ACTIONS(506), - [anon_sym_PLUS_PLUS] = ACTIONS(506), - [anon_sym_LT_GT] = ACTIONS(506), - [anon_sym_STAR] = ACTIONS(506), - [anon_sym_SLASH] = ACTIONS(506), - [anon_sym_BSLASH] = ACTIONS(506), - [anon_sym_PERCENT] = ACTIONS(506), - [anon_sym_PERCENT_PERCENT] = ACTIONS(506), - [anon_sym_EQ_EQ] = ACTIONS(504), - [anon_sym_BANG_EQ] = ACTIONS(504), - [anon_sym_GT_EQ] = ACTIONS(506), - [anon_sym_LT_EQ] = ACTIONS(506), - [anon_sym_in] = ACTIONS(506), - [anon_sym_CARET] = ACTIONS(506), - [anon_sym_DOT_DOT] = ACTIONS(506), - [anon_sym_DOT_DOT_EQ] = ACTIONS(504), - [anon_sym_LBRACK] = ACTIONS(504), - [anon_sym_DOT] = ACTIONS(506), - [anon_sym_PERCENT_LBRACE] = ACTIONS(504), - [anon_sym_for] = ACTIONS(506), - [anon_sym_if] = ACTIONS(506), - [anon_sym_while] = ACTIONS(506), - [anon_sym_return] = ACTIONS(506), - [sym_break_expression] = ACTIONS(506), - [sym_continue_expression] = ACTIONS(506), - [sym_integer] = ACTIONS(506), - [sym_float] = ACTIONS(506), - [sym_complex] = ACTIONS(504), - [anon_sym_true] = ACTIONS(506), - [anon_sym_false] = ACTIONS(506), - [anon_sym_Inf] = ACTIONS(506), - [anon_sym_NaN] = ACTIONS(506), - [anon_sym_DQUOTE] = ACTIONS(504), + [ts_builtin_sym_end] = ACTIONS(509), + [sym_identifier] = ACTIONS(511), + [anon_sym_SEMI] = ACTIONS(509), + [anon_sym_let] = ACTIONS(511), + [anon_sym_EQ] = ACTIONS(511), + [anon_sym_COMMA] = ACTIONS(509), + [anon_sym_pure] = ACTIONS(511), + [anon_sym_fn] = ACTIONS(511), + [anon_sym_LPAREN] = ACTIONS(509), + [anon_sym_struct] = ACTIONS(511), + [anon_sym_LBRACE] = ACTIONS(509), + [anon_sym_RBRACE] = ACTIONS(509), + [anon_sym_LT] = ACTIONS(511), + [anon_sym_GT] = ACTIONS(511), + [anon_sym_PLUS_EQ] = ACTIONS(509), + [anon_sym_DASH_EQ] = ACTIONS(509), + [anon_sym_STAR_EQ] = ACTIONS(509), + [anon_sym_SLASH_EQ] = ACTIONS(509), + [anon_sym_BSLASH_EQ] = ACTIONS(509), + [anon_sym_PERCENT_EQ] = ACTIONS(509), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(509), + [anon_sym_CARET_EQ] = ACTIONS(509), + [anon_sym_AMP_EQ] = ACTIONS(509), + [anon_sym_PIPE_EQ] = ACTIONS(509), + [anon_sym_TILDE_EQ] = ACTIONS(509), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(509), + [anon_sym_LT_GT_EQ] = ACTIONS(509), + [anon_sym_LT_LT_EQ] = ACTIONS(509), + [anon_sym_GT_GT_EQ] = ACTIONS(509), + [anon_sym_as] = ACTIONS(511), + [anon_sym_BANG] = ACTIONS(511), + [anon_sym_DASH] = ACTIONS(511), + [anon_sym_TILDE] = ACTIONS(511), + [anon_sym_not] = ACTIONS(511), + [anon_sym_or] = ACTIONS(511), + [anon_sym_and] = ACTIONS(511), + [anon_sym_LT_EQ_GT] = ACTIONS(509), + [anon_sym_GT_EQ_LT] = ACTIONS(509), + [anon_sym_LT_LT] = ACTIONS(511), + [anon_sym_GT_GT] = ACTIONS(511), + [anon_sym_PIPE] = ACTIONS(511), + [anon_sym_AMP] = ACTIONS(511), + [anon_sym_PLUS] = ACTIONS(511), + [anon_sym_PLUS_PLUS] = ACTIONS(511), + [anon_sym_LT_GT] = ACTIONS(511), + [anon_sym_STAR] = ACTIONS(511), + [anon_sym_SLASH] = ACTIONS(511), + [anon_sym_BSLASH] = ACTIONS(511), + [anon_sym_PERCENT] = ACTIONS(511), + [anon_sym_PERCENT_PERCENT] = ACTIONS(511), + [anon_sym_EQ_EQ] = ACTIONS(509), + [anon_sym_BANG_EQ] = ACTIONS(509), + [anon_sym_GT_EQ] = ACTIONS(511), + [anon_sym_LT_EQ] = ACTIONS(511), + [anon_sym_in] = ACTIONS(511), + [anon_sym_CARET] = ACTIONS(511), + [anon_sym_DOT_DOT] = ACTIONS(511), + [anon_sym_DOT_DOT_EQ] = ACTIONS(509), + [anon_sym_LBRACK] = ACTIONS(509), + [anon_sym_DOT] = ACTIONS(511), + [anon_sym_PERCENT_LBRACE] = ACTIONS(509), + [anon_sym_for] = ACTIONS(511), + [anon_sym_if] = ACTIONS(511), + [anon_sym_while] = ACTIONS(511), + [anon_sym_return] = ACTIONS(511), + [sym_break_expression] = ACTIONS(511), + [sym_continue_expression] = ACTIONS(511), + [sym_integer] = ACTIONS(511), + [sym_float] = ACTIONS(511), + [sym_complex] = ACTIONS(509), + [anon_sym_true] = ACTIONS(511), + [anon_sym_false] = ACTIONS(511), + [anon_sym_Inf] = ACTIONS(511), + [anon_sym_NaN] = ACTIONS(511), + [anon_sym_DQUOTE] = ACTIONS(509), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(504), - [sym_raw_string] = ACTIONS(504), + [sym_named_op_assign] = ACTIONS(509), + [sym_raw_string] = ACTIONS(509), }, [95] = { - [ts_builtin_sym_end] = ACTIONS(508), - [sym_identifier] = ACTIONS(510), - [anon_sym_SEMI] = ACTIONS(508), - [anon_sym_let] = ACTIONS(510), - [anon_sym_EQ] = ACTIONS(510), - [anon_sym_COMMA] = ACTIONS(508), - [anon_sym_pure] = ACTIONS(510), - [anon_sym_fn] = ACTIONS(510), - [anon_sym_LPAREN] = ACTIONS(508), - [anon_sym_struct] = ACTIONS(510), - [anon_sym_LBRACE] = ACTIONS(508), - [anon_sym_RBRACE] = ACTIONS(508), - [anon_sym_LT] = ACTIONS(510), - [anon_sym_GT] = ACTIONS(510), - [anon_sym_PLUS_EQ] = ACTIONS(508), - [anon_sym_DASH_EQ] = ACTIONS(508), - [anon_sym_STAR_EQ] = ACTIONS(508), - [anon_sym_SLASH_EQ] = ACTIONS(508), - [anon_sym_BSLASH_EQ] = ACTIONS(508), - [anon_sym_PERCENT_EQ] = ACTIONS(508), - [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(508), - [anon_sym_CARET_EQ] = ACTIONS(508), - [anon_sym_AMP_EQ] = ACTIONS(508), - [anon_sym_PIPE_EQ] = ACTIONS(508), - [anon_sym_TILDE_EQ] = ACTIONS(508), - [anon_sym_PLUS_PLUS_EQ] = ACTIONS(508), - [anon_sym_LT_GT_EQ] = ACTIONS(508), - [anon_sym_LT_LT_EQ] = ACTIONS(508), - [anon_sym_GT_GT_EQ] = ACTIONS(508), - [anon_sym_BANG] = ACTIONS(510), - [anon_sym_DASH] = ACTIONS(510), - [anon_sym_TILDE] = ACTIONS(510), - [anon_sym_not] = ACTIONS(510), - [anon_sym_or] = ACTIONS(510), - [anon_sym_and] = ACTIONS(510), - [anon_sym_LT_EQ_GT] = ACTIONS(508), - [anon_sym_GT_EQ_LT] = ACTIONS(508), - [anon_sym_LT_LT] = ACTIONS(510), - [anon_sym_GT_GT] = ACTIONS(510), - [anon_sym_PIPE] = ACTIONS(510), - [anon_sym_AMP] = ACTIONS(510), - [anon_sym_PLUS] = ACTIONS(510), - [anon_sym_PLUS_PLUS] = ACTIONS(510), - [anon_sym_LT_GT] = ACTIONS(510), - [anon_sym_STAR] = ACTIONS(510), - [anon_sym_SLASH] = ACTIONS(510), - [anon_sym_BSLASH] = ACTIONS(510), - [anon_sym_PERCENT] = ACTIONS(510), - [anon_sym_PERCENT_PERCENT] = ACTIONS(510), - [anon_sym_EQ_EQ] = ACTIONS(508), - [anon_sym_BANG_EQ] = ACTIONS(508), - [anon_sym_GT_EQ] = ACTIONS(510), - [anon_sym_LT_EQ] = ACTIONS(510), - [anon_sym_in] = ACTIONS(510), - [anon_sym_CARET] = ACTIONS(510), - [anon_sym_DOT_DOT] = ACTIONS(510), - [anon_sym_DOT_DOT_EQ] = ACTIONS(508), - [anon_sym_LBRACK] = ACTIONS(508), - [anon_sym_DOT] = ACTIONS(510), - [anon_sym_PERCENT_LBRACE] = ACTIONS(508), - [anon_sym_for] = ACTIONS(510), - [anon_sym_if] = ACTIONS(510), - [anon_sym_while] = ACTIONS(510), - [anon_sym_return] = ACTIONS(510), - [sym_break_expression] = ACTIONS(510), - [sym_continue_expression] = ACTIONS(510), - [sym_integer] = ACTIONS(510), - [sym_float] = ACTIONS(510), - [sym_complex] = ACTIONS(508), - [anon_sym_true] = ACTIONS(510), - [anon_sym_false] = ACTIONS(510), - [anon_sym_Inf] = ACTIONS(510), - [anon_sym_NaN] = ACTIONS(510), - [anon_sym_DQUOTE] = ACTIONS(508), + [ts_builtin_sym_end] = ACTIONS(513), + [sym_identifier] = ACTIONS(515), + [anon_sym_SEMI] = ACTIONS(513), + [anon_sym_let] = ACTIONS(515), + [anon_sym_EQ] = ACTIONS(515), + [anon_sym_COMMA] = ACTIONS(513), + [anon_sym_pure] = ACTIONS(515), + [anon_sym_fn] = ACTIONS(515), + [anon_sym_LPAREN] = ACTIONS(513), + [anon_sym_struct] = ACTIONS(515), + [anon_sym_LBRACE] = ACTIONS(513), + [anon_sym_RBRACE] = ACTIONS(513), + [anon_sym_LT] = ACTIONS(515), + [anon_sym_GT] = ACTIONS(515), + [anon_sym_PLUS_EQ] = ACTIONS(513), + [anon_sym_DASH_EQ] = ACTIONS(513), + [anon_sym_STAR_EQ] = ACTIONS(513), + [anon_sym_SLASH_EQ] = ACTIONS(513), + [anon_sym_BSLASH_EQ] = ACTIONS(513), + [anon_sym_PERCENT_EQ] = ACTIONS(513), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(513), + [anon_sym_CARET_EQ] = ACTIONS(513), + [anon_sym_AMP_EQ] = ACTIONS(513), + [anon_sym_PIPE_EQ] = ACTIONS(513), + [anon_sym_TILDE_EQ] = ACTIONS(513), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(513), + [anon_sym_LT_GT_EQ] = ACTIONS(513), + [anon_sym_LT_LT_EQ] = ACTIONS(513), + [anon_sym_GT_GT_EQ] = ACTIONS(513), + [anon_sym_as] = ACTIONS(515), + [anon_sym_BANG] = ACTIONS(515), + [anon_sym_DASH] = ACTIONS(515), + [anon_sym_TILDE] = ACTIONS(515), + [anon_sym_not] = ACTIONS(515), + [anon_sym_or] = ACTIONS(515), + [anon_sym_and] = ACTIONS(515), + [anon_sym_LT_EQ_GT] = ACTIONS(513), + [anon_sym_GT_EQ_LT] = ACTIONS(513), + [anon_sym_LT_LT] = ACTIONS(515), + [anon_sym_GT_GT] = ACTIONS(515), + [anon_sym_PIPE] = ACTIONS(515), + [anon_sym_AMP] = ACTIONS(515), + [anon_sym_PLUS] = ACTIONS(515), + [anon_sym_PLUS_PLUS] = ACTIONS(515), + [anon_sym_LT_GT] = ACTIONS(515), + [anon_sym_STAR] = ACTIONS(515), + [anon_sym_SLASH] = ACTIONS(515), + [anon_sym_BSLASH] = ACTIONS(515), + [anon_sym_PERCENT] = ACTIONS(515), + [anon_sym_PERCENT_PERCENT] = ACTIONS(515), + [anon_sym_EQ_EQ] = ACTIONS(513), + [anon_sym_BANG_EQ] = ACTIONS(513), + [anon_sym_GT_EQ] = ACTIONS(515), + [anon_sym_LT_EQ] = ACTIONS(515), + [anon_sym_in] = ACTIONS(515), + [anon_sym_CARET] = ACTIONS(515), + [anon_sym_DOT_DOT] = ACTIONS(515), + [anon_sym_DOT_DOT_EQ] = ACTIONS(513), + [anon_sym_LBRACK] = ACTIONS(513), + [anon_sym_DOT] = ACTIONS(515), + [anon_sym_PERCENT_LBRACE] = ACTIONS(513), + [anon_sym_for] = ACTIONS(515), + [anon_sym_if] = ACTIONS(515), + [anon_sym_while] = ACTIONS(515), + [anon_sym_return] = ACTIONS(515), + [sym_break_expression] = ACTIONS(515), + [sym_continue_expression] = ACTIONS(515), + [sym_integer] = ACTIONS(515), + [sym_float] = ACTIONS(515), + [sym_complex] = ACTIONS(513), + [anon_sym_true] = ACTIONS(515), + [anon_sym_false] = ACTIONS(515), + [anon_sym_Inf] = ACTIONS(515), + [anon_sym_NaN] = ACTIONS(515), + [anon_sym_DQUOTE] = ACTIONS(513), [sym_comment] = ACTIONS(3), - [sym_named_op_assign] = ACTIONS(508), - [sym_raw_string] = ACTIONS(508), + [sym_named_op_assign] = ACTIONS(513), + [sym_raw_string] = ACTIONS(513), }, [96] = { - [sym__statement] = STATE(96), - [sym_variable_declaration] = STATE(96), - [sym_function_definition] = STATE(15), - [sym_struct_definition] = STATE(15), - [sym__expression_or_sequence] = STATE(537), - [sym_tuple_expression] = STATE(537), - [sym__expression] = STATE(15), - [sym_parenthesized_expression] = STATE(15), - [sym_unit] = STATE(15), - [sym_tuple] = STATE(15), - [sym_assignment] = STATE(15), - [sym_augmented_assignment] = STATE(15), - [sym_unary_expression] = STATE(15), - [sym_not_expression] = STATE(15), - [sym_binary_expression] = STATE(15), - [sym_range_expression] = STATE(15), - [sym_call] = STATE(15), - [sym_index] = STATE(15), - [sym_member_expression] = STATE(15), - [sym_list] = STATE(15), - [sym_list_comprehension] = STATE(15), - [sym_map] = STATE(15), - [sym_map_comprehension] = STATE(15), - [sym_if_expression] = STATE(15), - [sym_while_expression] = STATE(15), - [sym_for_expression] = STATE(15), - [sym_block] = STATE(15), - [sym_return_expression] = STATE(15), - [sym__literal] = STATE(15), - [sym_boolean] = STATE(15), - [sym_special_constant] = STATE(15), - [sym_string] = STATE(15), - [aux_sym_source_file_repeat1] = STATE(96), - [ts_builtin_sym_end] = ACTIONS(512), - [sym_identifier] = ACTIONS(514), + [ts_builtin_sym_end] = ACTIONS(517), + [sym_identifier] = ACTIONS(519), [anon_sym_SEMI] = ACTIONS(517), - [anon_sym_let] = ACTIONS(520), + [anon_sym_let] = ACTIONS(519), + [anon_sym_EQ] = ACTIONS(519), + [anon_sym_COMMA] = ACTIONS(517), + [anon_sym_pure] = ACTIONS(519), + [anon_sym_fn] = ACTIONS(519), + [anon_sym_LPAREN] = ACTIONS(517), + [anon_sym_struct] = ACTIONS(519), + [anon_sym_LBRACE] = ACTIONS(517), + [anon_sym_RBRACE] = ACTIONS(517), + [anon_sym_LT] = ACTIONS(519), + [anon_sym_GT] = ACTIONS(519), + [anon_sym_PLUS_EQ] = ACTIONS(517), + [anon_sym_DASH_EQ] = ACTIONS(517), + [anon_sym_STAR_EQ] = ACTIONS(517), + [anon_sym_SLASH_EQ] = ACTIONS(517), + [anon_sym_BSLASH_EQ] = ACTIONS(517), + [anon_sym_PERCENT_EQ] = ACTIONS(517), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(517), + [anon_sym_CARET_EQ] = ACTIONS(517), + [anon_sym_AMP_EQ] = ACTIONS(517), + [anon_sym_PIPE_EQ] = ACTIONS(517), + [anon_sym_TILDE_EQ] = ACTIONS(517), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(517), + [anon_sym_LT_GT_EQ] = ACTIONS(517), + [anon_sym_LT_LT_EQ] = ACTIONS(517), + [anon_sym_GT_GT_EQ] = ACTIONS(517), + [anon_sym_as] = ACTIONS(519), + [anon_sym_BANG] = ACTIONS(519), + [anon_sym_DASH] = ACTIONS(519), + [anon_sym_TILDE] = ACTIONS(519), + [anon_sym_not] = ACTIONS(519), + [anon_sym_or] = ACTIONS(519), + [anon_sym_and] = ACTIONS(519), + [anon_sym_LT_EQ_GT] = ACTIONS(517), + [anon_sym_GT_EQ_LT] = ACTIONS(517), + [anon_sym_LT_LT] = ACTIONS(519), + [anon_sym_GT_GT] = ACTIONS(519), + [anon_sym_PIPE] = ACTIONS(519), + [anon_sym_AMP] = ACTIONS(519), + [anon_sym_PLUS] = ACTIONS(519), + [anon_sym_PLUS_PLUS] = ACTIONS(519), + [anon_sym_LT_GT] = ACTIONS(519), + [anon_sym_STAR] = ACTIONS(519), + [anon_sym_SLASH] = ACTIONS(519), + [anon_sym_BSLASH] = ACTIONS(519), + [anon_sym_PERCENT] = ACTIONS(519), + [anon_sym_PERCENT_PERCENT] = ACTIONS(519), + [anon_sym_EQ_EQ] = ACTIONS(517), + [anon_sym_BANG_EQ] = ACTIONS(517), + [anon_sym_GT_EQ] = ACTIONS(519), + [anon_sym_LT_EQ] = ACTIONS(519), + [anon_sym_in] = ACTIONS(519), + [anon_sym_CARET] = ACTIONS(519), + [anon_sym_DOT_DOT] = ACTIONS(519), + [anon_sym_DOT_DOT_EQ] = ACTIONS(517), + [anon_sym_LBRACK] = ACTIONS(517), + [anon_sym_DOT] = ACTIONS(519), + [anon_sym_PERCENT_LBRACE] = ACTIONS(517), + [anon_sym_for] = ACTIONS(519), + [anon_sym_if] = ACTIONS(519), + [anon_sym_while] = ACTIONS(519), + [anon_sym_return] = ACTIONS(519), + [sym_break_expression] = ACTIONS(519), + [sym_continue_expression] = ACTIONS(519), + [sym_integer] = ACTIONS(519), + [sym_float] = ACTIONS(519), + [sym_complex] = ACTIONS(517), + [anon_sym_true] = ACTIONS(519), + [anon_sym_false] = ACTIONS(519), + [anon_sym_Inf] = ACTIONS(519), + [anon_sym_NaN] = ACTIONS(519), + [anon_sym_DQUOTE] = ACTIONS(517), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(517), + [sym_raw_string] = ACTIONS(517), + }, + [97] = { + [ts_builtin_sym_end] = ACTIONS(521), + [sym_identifier] = ACTIONS(523), + [anon_sym_SEMI] = ACTIONS(521), + [anon_sym_let] = ACTIONS(523), + [anon_sym_EQ] = ACTIONS(523), + [anon_sym_COMMA] = ACTIONS(521), [anon_sym_pure] = ACTIONS(523), - [anon_sym_fn] = ACTIONS(526), + [anon_sym_fn] = ACTIONS(523), + [anon_sym_LPAREN] = ACTIONS(521), + [anon_sym_struct] = ACTIONS(523), + [anon_sym_LBRACE] = ACTIONS(521), + [anon_sym_RBRACE] = ACTIONS(521), + [anon_sym_LT] = ACTIONS(523), + [anon_sym_GT] = ACTIONS(523), + [anon_sym_PLUS_EQ] = ACTIONS(521), + [anon_sym_DASH_EQ] = ACTIONS(521), + [anon_sym_STAR_EQ] = ACTIONS(521), + [anon_sym_SLASH_EQ] = ACTIONS(521), + [anon_sym_BSLASH_EQ] = ACTIONS(521), + [anon_sym_PERCENT_EQ] = ACTIONS(521), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(521), + [anon_sym_CARET_EQ] = ACTIONS(521), + [anon_sym_AMP_EQ] = ACTIONS(521), + [anon_sym_PIPE_EQ] = ACTIONS(521), + [anon_sym_TILDE_EQ] = ACTIONS(521), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(521), + [anon_sym_LT_GT_EQ] = ACTIONS(521), + [anon_sym_LT_LT_EQ] = ACTIONS(521), + [anon_sym_GT_GT_EQ] = ACTIONS(521), + [anon_sym_as] = ACTIONS(523), + [anon_sym_BANG] = ACTIONS(523), + [anon_sym_DASH] = ACTIONS(523), + [anon_sym_TILDE] = ACTIONS(523), + [anon_sym_not] = ACTIONS(523), + [anon_sym_or] = ACTIONS(523), + [anon_sym_and] = ACTIONS(523), + [anon_sym_LT_EQ_GT] = ACTIONS(521), + [anon_sym_GT_EQ_LT] = ACTIONS(521), + [anon_sym_LT_LT] = ACTIONS(523), + [anon_sym_GT_GT] = ACTIONS(523), + [anon_sym_PIPE] = ACTIONS(523), + [anon_sym_AMP] = ACTIONS(523), + [anon_sym_PLUS] = ACTIONS(523), + [anon_sym_PLUS_PLUS] = ACTIONS(523), + [anon_sym_LT_GT] = ACTIONS(523), + [anon_sym_STAR] = ACTIONS(523), + [anon_sym_SLASH] = ACTIONS(523), + [anon_sym_BSLASH] = ACTIONS(523), + [anon_sym_PERCENT] = ACTIONS(523), + [anon_sym_PERCENT_PERCENT] = ACTIONS(523), + [anon_sym_EQ_EQ] = ACTIONS(521), + [anon_sym_BANG_EQ] = ACTIONS(521), + [anon_sym_GT_EQ] = ACTIONS(523), + [anon_sym_LT_EQ] = ACTIONS(523), + [anon_sym_in] = ACTIONS(523), + [anon_sym_CARET] = ACTIONS(523), + [anon_sym_DOT_DOT] = ACTIONS(523), + [anon_sym_DOT_DOT_EQ] = ACTIONS(521), + [anon_sym_LBRACK] = ACTIONS(521), + [anon_sym_DOT] = ACTIONS(523), + [anon_sym_PERCENT_LBRACE] = ACTIONS(521), + [anon_sym_for] = ACTIONS(523), + [anon_sym_if] = ACTIONS(523), + [anon_sym_while] = ACTIONS(523), + [anon_sym_return] = ACTIONS(523), + [sym_break_expression] = ACTIONS(523), + [sym_continue_expression] = ACTIONS(523), + [sym_integer] = ACTIONS(523), + [sym_float] = ACTIONS(523), + [sym_complex] = ACTIONS(521), + [anon_sym_true] = ACTIONS(523), + [anon_sym_false] = ACTIONS(523), + [anon_sym_Inf] = ACTIONS(523), + [anon_sym_NaN] = ACTIONS(523), + [anon_sym_DQUOTE] = ACTIONS(521), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(521), + [sym_raw_string] = ACTIONS(521), + }, + [98] = { + [ts_builtin_sym_end] = ACTIONS(525), + [sym_identifier] = ACTIONS(527), + [anon_sym_SEMI] = ACTIONS(525), + [anon_sym_let] = ACTIONS(527), + [anon_sym_EQ] = ACTIONS(527), + [anon_sym_COMMA] = ACTIONS(525), + [anon_sym_pure] = ACTIONS(527), + [anon_sym_fn] = ACTIONS(527), + [anon_sym_LPAREN] = ACTIONS(525), + [anon_sym_struct] = ACTIONS(527), + [anon_sym_LBRACE] = ACTIONS(525), + [anon_sym_RBRACE] = ACTIONS(525), + [anon_sym_LT] = ACTIONS(527), + [anon_sym_GT] = ACTIONS(527), + [anon_sym_PLUS_EQ] = ACTIONS(525), + [anon_sym_DASH_EQ] = ACTIONS(525), + [anon_sym_STAR_EQ] = ACTIONS(525), + [anon_sym_SLASH_EQ] = ACTIONS(525), + [anon_sym_BSLASH_EQ] = ACTIONS(525), + [anon_sym_PERCENT_EQ] = ACTIONS(525), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(525), + [anon_sym_CARET_EQ] = ACTIONS(525), + [anon_sym_AMP_EQ] = ACTIONS(525), + [anon_sym_PIPE_EQ] = ACTIONS(525), + [anon_sym_TILDE_EQ] = ACTIONS(525), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(525), + [anon_sym_LT_GT_EQ] = ACTIONS(525), + [anon_sym_LT_LT_EQ] = ACTIONS(525), + [anon_sym_GT_GT_EQ] = ACTIONS(525), + [anon_sym_as] = ACTIONS(527), + [anon_sym_BANG] = ACTIONS(527), + [anon_sym_DASH] = ACTIONS(527), + [anon_sym_TILDE] = ACTIONS(527), + [anon_sym_not] = ACTIONS(527), + [anon_sym_or] = ACTIONS(527), + [anon_sym_and] = ACTIONS(527), + [anon_sym_LT_EQ_GT] = ACTIONS(525), + [anon_sym_GT_EQ_LT] = ACTIONS(525), + [anon_sym_LT_LT] = ACTIONS(527), + [anon_sym_GT_GT] = ACTIONS(527), + [anon_sym_PIPE] = ACTIONS(527), + [anon_sym_AMP] = ACTIONS(527), + [anon_sym_PLUS] = ACTIONS(527), + [anon_sym_PLUS_PLUS] = ACTIONS(527), + [anon_sym_LT_GT] = ACTIONS(527), + [anon_sym_STAR] = ACTIONS(527), + [anon_sym_SLASH] = ACTIONS(527), + [anon_sym_BSLASH] = ACTIONS(527), + [anon_sym_PERCENT] = ACTIONS(527), + [anon_sym_PERCENT_PERCENT] = ACTIONS(527), + [anon_sym_EQ_EQ] = ACTIONS(525), + [anon_sym_BANG_EQ] = ACTIONS(525), + [anon_sym_GT_EQ] = ACTIONS(527), + [anon_sym_LT_EQ] = ACTIONS(527), + [anon_sym_in] = ACTIONS(527), + [anon_sym_CARET] = ACTIONS(527), + [anon_sym_DOT_DOT] = ACTIONS(527), + [anon_sym_DOT_DOT_EQ] = ACTIONS(525), + [anon_sym_LBRACK] = ACTIONS(525), + [anon_sym_DOT] = ACTIONS(527), + [anon_sym_PERCENT_LBRACE] = ACTIONS(525), + [anon_sym_for] = ACTIONS(527), + [anon_sym_if] = ACTIONS(527), + [anon_sym_while] = ACTIONS(527), + [anon_sym_return] = ACTIONS(527), + [sym_break_expression] = ACTIONS(527), + [sym_continue_expression] = ACTIONS(527), + [sym_integer] = ACTIONS(527), + [sym_float] = ACTIONS(527), + [sym_complex] = ACTIONS(525), + [anon_sym_true] = ACTIONS(527), + [anon_sym_false] = ACTIONS(527), + [anon_sym_Inf] = ACTIONS(527), + [anon_sym_NaN] = ACTIONS(527), + [anon_sym_DQUOTE] = ACTIONS(525), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(525), + [sym_raw_string] = ACTIONS(525), + }, + [99] = { + [ts_builtin_sym_end] = ACTIONS(529), + [sym_identifier] = ACTIONS(531), + [anon_sym_SEMI] = ACTIONS(529), + [anon_sym_let] = ACTIONS(531), + [anon_sym_EQ] = ACTIONS(531), + [anon_sym_COMMA] = ACTIONS(529), + [anon_sym_pure] = ACTIONS(531), + [anon_sym_fn] = ACTIONS(531), [anon_sym_LPAREN] = ACTIONS(529), - [anon_sym_struct] = ACTIONS(532), - [anon_sym_LBRACE] = ACTIONS(535), - [anon_sym_RBRACE] = ACTIONS(512), - [anon_sym_BANG] = ACTIONS(538), - [anon_sym_DASH] = ACTIONS(538), - [anon_sym_TILDE] = ACTIONS(538), - [anon_sym_not] = ACTIONS(541), - [anon_sym_DOT_DOT] = ACTIONS(544), - [anon_sym_DOT_DOT_EQ] = ACTIONS(547), - [anon_sym_LBRACK] = ACTIONS(550), + [anon_sym_struct] = ACTIONS(531), + [anon_sym_LBRACE] = ACTIONS(529), + [anon_sym_RBRACE] = ACTIONS(529), + [anon_sym_LT] = ACTIONS(531), + [anon_sym_GT] = ACTIONS(531), + [anon_sym_PLUS_EQ] = ACTIONS(529), + [anon_sym_DASH_EQ] = ACTIONS(529), + [anon_sym_STAR_EQ] = ACTIONS(529), + [anon_sym_SLASH_EQ] = ACTIONS(529), + [anon_sym_BSLASH_EQ] = ACTIONS(529), + [anon_sym_PERCENT_EQ] = ACTIONS(529), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(529), + [anon_sym_CARET_EQ] = ACTIONS(529), + [anon_sym_AMP_EQ] = ACTIONS(529), + [anon_sym_PIPE_EQ] = ACTIONS(529), + [anon_sym_TILDE_EQ] = ACTIONS(529), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(529), + [anon_sym_LT_GT_EQ] = ACTIONS(529), + [anon_sym_LT_LT_EQ] = ACTIONS(529), + [anon_sym_GT_GT_EQ] = ACTIONS(529), + [anon_sym_as] = ACTIONS(531), + [anon_sym_BANG] = ACTIONS(531), + [anon_sym_DASH] = ACTIONS(531), + [anon_sym_TILDE] = ACTIONS(531), + [anon_sym_not] = ACTIONS(531), + [anon_sym_or] = ACTIONS(531), + [anon_sym_and] = ACTIONS(531), + [anon_sym_LT_EQ_GT] = ACTIONS(529), + [anon_sym_GT_EQ_LT] = ACTIONS(529), + [anon_sym_LT_LT] = ACTIONS(531), + [anon_sym_GT_GT] = ACTIONS(531), + [anon_sym_PIPE] = ACTIONS(531), + [anon_sym_AMP] = ACTIONS(531), + [anon_sym_PLUS] = ACTIONS(531), + [anon_sym_PLUS_PLUS] = ACTIONS(531), + [anon_sym_LT_GT] = ACTIONS(531), + [anon_sym_STAR] = ACTIONS(531), + [anon_sym_SLASH] = ACTIONS(531), + [anon_sym_BSLASH] = ACTIONS(531), + [anon_sym_PERCENT] = ACTIONS(531), + [anon_sym_PERCENT_PERCENT] = ACTIONS(531), + [anon_sym_EQ_EQ] = ACTIONS(529), + [anon_sym_BANG_EQ] = ACTIONS(529), + [anon_sym_GT_EQ] = ACTIONS(531), + [anon_sym_LT_EQ] = ACTIONS(531), + [anon_sym_in] = ACTIONS(531), + [anon_sym_CARET] = ACTIONS(531), + [anon_sym_DOT_DOT] = ACTIONS(531), + [anon_sym_DOT_DOT_EQ] = ACTIONS(529), + [anon_sym_LBRACK] = ACTIONS(529), + [anon_sym_DOT] = ACTIONS(531), + [anon_sym_PERCENT_LBRACE] = ACTIONS(529), + [anon_sym_for] = ACTIONS(531), + [anon_sym_if] = ACTIONS(531), + [anon_sym_while] = ACTIONS(531), + [anon_sym_return] = ACTIONS(531), + [sym_break_expression] = ACTIONS(531), + [sym_continue_expression] = ACTIONS(531), + [sym_integer] = ACTIONS(531), + [sym_float] = ACTIONS(531), + [sym_complex] = ACTIONS(529), + [anon_sym_true] = ACTIONS(531), + [anon_sym_false] = ACTIONS(531), + [anon_sym_Inf] = ACTIONS(531), + [anon_sym_NaN] = ACTIONS(531), + [anon_sym_DQUOTE] = ACTIONS(529), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(529), + [sym_raw_string] = ACTIONS(529), + }, + [100] = { + [ts_builtin_sym_end] = ACTIONS(533), + [sym_identifier] = ACTIONS(535), + [anon_sym_SEMI] = ACTIONS(533), + [anon_sym_let] = ACTIONS(535), + [anon_sym_EQ] = ACTIONS(535), + [anon_sym_COMMA] = ACTIONS(533), + [anon_sym_pure] = ACTIONS(535), + [anon_sym_fn] = ACTIONS(535), + [anon_sym_LPAREN] = ACTIONS(533), + [anon_sym_struct] = ACTIONS(535), + [anon_sym_LBRACE] = ACTIONS(533), + [anon_sym_RBRACE] = ACTIONS(533), + [anon_sym_LT] = ACTIONS(535), + [anon_sym_GT] = ACTIONS(535), + [anon_sym_PLUS_EQ] = ACTIONS(533), + [anon_sym_DASH_EQ] = ACTIONS(533), + [anon_sym_STAR_EQ] = ACTIONS(533), + [anon_sym_SLASH_EQ] = ACTIONS(533), + [anon_sym_BSLASH_EQ] = ACTIONS(533), + [anon_sym_PERCENT_EQ] = ACTIONS(533), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(533), + [anon_sym_CARET_EQ] = ACTIONS(533), + [anon_sym_AMP_EQ] = ACTIONS(533), + [anon_sym_PIPE_EQ] = ACTIONS(533), + [anon_sym_TILDE_EQ] = ACTIONS(533), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(533), + [anon_sym_LT_GT_EQ] = ACTIONS(533), + [anon_sym_LT_LT_EQ] = ACTIONS(533), + [anon_sym_GT_GT_EQ] = ACTIONS(533), + [anon_sym_as] = ACTIONS(535), + [anon_sym_BANG] = ACTIONS(535), + [anon_sym_DASH] = ACTIONS(535), + [anon_sym_TILDE] = ACTIONS(535), + [anon_sym_not] = ACTIONS(535), + [anon_sym_or] = ACTIONS(535), + [anon_sym_and] = ACTIONS(535), + [anon_sym_LT_EQ_GT] = ACTIONS(533), + [anon_sym_GT_EQ_LT] = ACTIONS(533), + [anon_sym_LT_LT] = ACTIONS(535), + [anon_sym_GT_GT] = ACTIONS(535), + [anon_sym_PIPE] = ACTIONS(535), + [anon_sym_AMP] = ACTIONS(535), + [anon_sym_PLUS] = ACTIONS(535), + [anon_sym_PLUS_PLUS] = ACTIONS(535), + [anon_sym_LT_GT] = ACTIONS(535), + [anon_sym_STAR] = ACTIONS(535), + [anon_sym_SLASH] = ACTIONS(535), + [anon_sym_BSLASH] = ACTIONS(535), + [anon_sym_PERCENT] = ACTIONS(535), + [anon_sym_PERCENT_PERCENT] = ACTIONS(535), + [anon_sym_EQ_EQ] = ACTIONS(533), + [anon_sym_BANG_EQ] = ACTIONS(533), + [anon_sym_GT_EQ] = ACTIONS(535), + [anon_sym_LT_EQ] = ACTIONS(535), + [anon_sym_in] = ACTIONS(535), + [anon_sym_CARET] = ACTIONS(535), + [anon_sym_DOT_DOT] = ACTIONS(535), + [anon_sym_DOT_DOT_EQ] = ACTIONS(533), + [anon_sym_LBRACK] = ACTIONS(533), + [anon_sym_DOT] = ACTIONS(535), + [anon_sym_PERCENT_LBRACE] = ACTIONS(533), + [anon_sym_for] = ACTIONS(535), + [anon_sym_if] = ACTIONS(535), + [anon_sym_while] = ACTIONS(535), + [anon_sym_return] = ACTIONS(535), + [sym_break_expression] = ACTIONS(535), + [sym_continue_expression] = ACTIONS(535), + [sym_integer] = ACTIONS(535), + [sym_float] = ACTIONS(535), + [sym_complex] = ACTIONS(533), + [anon_sym_true] = ACTIONS(535), + [anon_sym_false] = ACTIONS(535), + [anon_sym_Inf] = ACTIONS(535), + [anon_sym_NaN] = ACTIONS(535), + [anon_sym_DQUOTE] = ACTIONS(533), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(533), + [sym_raw_string] = ACTIONS(533), + }, + [101] = { + [ts_builtin_sym_end] = ACTIONS(537), + [sym_identifier] = ACTIONS(539), + [anon_sym_SEMI] = ACTIONS(537), + [anon_sym_let] = ACTIONS(539), + [anon_sym_EQ] = ACTIONS(539), + [anon_sym_COMMA] = ACTIONS(537), + [anon_sym_pure] = ACTIONS(539), + [anon_sym_fn] = ACTIONS(539), + [anon_sym_LPAREN] = ACTIONS(537), + [anon_sym_struct] = ACTIONS(539), + [anon_sym_LBRACE] = ACTIONS(537), + [anon_sym_RBRACE] = ACTIONS(537), + [anon_sym_LT] = ACTIONS(539), + [anon_sym_GT] = ACTIONS(539), + [anon_sym_PLUS_EQ] = ACTIONS(537), + [anon_sym_DASH_EQ] = ACTIONS(537), + [anon_sym_STAR_EQ] = ACTIONS(537), + [anon_sym_SLASH_EQ] = ACTIONS(537), + [anon_sym_BSLASH_EQ] = ACTIONS(537), + [anon_sym_PERCENT_EQ] = ACTIONS(537), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(537), + [anon_sym_CARET_EQ] = ACTIONS(537), + [anon_sym_AMP_EQ] = ACTIONS(537), + [anon_sym_PIPE_EQ] = ACTIONS(537), + [anon_sym_TILDE_EQ] = ACTIONS(537), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(537), + [anon_sym_LT_GT_EQ] = ACTIONS(537), + [anon_sym_LT_LT_EQ] = ACTIONS(537), + [anon_sym_GT_GT_EQ] = ACTIONS(537), + [anon_sym_as] = ACTIONS(539), + [anon_sym_BANG] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(539), + [anon_sym_TILDE] = ACTIONS(539), + [anon_sym_not] = ACTIONS(539), + [anon_sym_or] = ACTIONS(539), + [anon_sym_and] = ACTIONS(539), + [anon_sym_LT_EQ_GT] = ACTIONS(537), + [anon_sym_GT_EQ_LT] = ACTIONS(537), + [anon_sym_LT_LT] = ACTIONS(539), + [anon_sym_GT_GT] = ACTIONS(539), + [anon_sym_PIPE] = ACTIONS(539), + [anon_sym_AMP] = ACTIONS(539), + [anon_sym_PLUS] = ACTIONS(539), + [anon_sym_PLUS_PLUS] = ACTIONS(539), + [anon_sym_LT_GT] = ACTIONS(539), + [anon_sym_STAR] = ACTIONS(539), + [anon_sym_SLASH] = ACTIONS(539), + [anon_sym_BSLASH] = ACTIONS(539), + [anon_sym_PERCENT] = ACTIONS(539), + [anon_sym_PERCENT_PERCENT] = ACTIONS(539), + [anon_sym_EQ_EQ] = ACTIONS(537), + [anon_sym_BANG_EQ] = ACTIONS(537), + [anon_sym_GT_EQ] = ACTIONS(539), + [anon_sym_LT_EQ] = ACTIONS(539), + [anon_sym_in] = ACTIONS(539), + [anon_sym_CARET] = ACTIONS(539), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DOT_DOT_EQ] = ACTIONS(537), + [anon_sym_LBRACK] = ACTIONS(537), + [anon_sym_DOT] = ACTIONS(539), + [anon_sym_PERCENT_LBRACE] = ACTIONS(537), + [anon_sym_for] = ACTIONS(539), + [anon_sym_if] = ACTIONS(539), + [anon_sym_while] = ACTIONS(539), + [anon_sym_return] = ACTIONS(539), + [sym_break_expression] = ACTIONS(539), + [sym_continue_expression] = ACTIONS(539), + [sym_integer] = ACTIONS(539), + [sym_float] = ACTIONS(539), + [sym_complex] = ACTIONS(537), + [anon_sym_true] = ACTIONS(539), + [anon_sym_false] = ACTIONS(539), + [anon_sym_Inf] = ACTIONS(539), + [anon_sym_NaN] = ACTIONS(539), + [anon_sym_DQUOTE] = ACTIONS(537), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(537), + [sym_raw_string] = ACTIONS(537), + }, + [102] = { + [ts_builtin_sym_end] = ACTIONS(541), + [sym_identifier] = ACTIONS(543), + [anon_sym_SEMI] = ACTIONS(541), + [anon_sym_let] = ACTIONS(543), + [anon_sym_EQ] = ACTIONS(543), + [anon_sym_COMMA] = ACTIONS(541), + [anon_sym_pure] = ACTIONS(543), + [anon_sym_fn] = ACTIONS(543), + [anon_sym_LPAREN] = ACTIONS(541), + [anon_sym_struct] = ACTIONS(543), + [anon_sym_LBRACE] = ACTIONS(541), + [anon_sym_RBRACE] = ACTIONS(541), + [anon_sym_LT] = ACTIONS(543), + [anon_sym_GT] = ACTIONS(543), + [anon_sym_PLUS_EQ] = ACTIONS(541), + [anon_sym_DASH_EQ] = ACTIONS(541), + [anon_sym_STAR_EQ] = ACTIONS(541), + [anon_sym_SLASH_EQ] = ACTIONS(541), + [anon_sym_BSLASH_EQ] = ACTIONS(541), + [anon_sym_PERCENT_EQ] = ACTIONS(541), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(541), + [anon_sym_CARET_EQ] = ACTIONS(541), + [anon_sym_AMP_EQ] = ACTIONS(541), + [anon_sym_PIPE_EQ] = ACTIONS(541), + [anon_sym_TILDE_EQ] = ACTIONS(541), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(541), + [anon_sym_LT_GT_EQ] = ACTIONS(541), + [anon_sym_LT_LT_EQ] = ACTIONS(541), + [anon_sym_GT_GT_EQ] = ACTIONS(541), + [anon_sym_as] = ACTIONS(543), + [anon_sym_BANG] = ACTIONS(543), + [anon_sym_DASH] = ACTIONS(543), + [anon_sym_TILDE] = ACTIONS(543), + [anon_sym_not] = ACTIONS(543), + [anon_sym_or] = ACTIONS(543), + [anon_sym_and] = ACTIONS(543), + [anon_sym_LT_EQ_GT] = ACTIONS(541), + [anon_sym_GT_EQ_LT] = ACTIONS(541), + [anon_sym_LT_LT] = ACTIONS(543), + [anon_sym_GT_GT] = ACTIONS(543), + [anon_sym_PIPE] = ACTIONS(543), + [anon_sym_AMP] = ACTIONS(543), + [anon_sym_PLUS] = ACTIONS(543), + [anon_sym_PLUS_PLUS] = ACTIONS(543), + [anon_sym_LT_GT] = ACTIONS(543), + [anon_sym_STAR] = ACTIONS(543), + [anon_sym_SLASH] = ACTIONS(543), + [anon_sym_BSLASH] = ACTIONS(543), + [anon_sym_PERCENT] = ACTIONS(543), + [anon_sym_PERCENT_PERCENT] = ACTIONS(543), + [anon_sym_EQ_EQ] = ACTIONS(541), + [anon_sym_BANG_EQ] = ACTIONS(541), + [anon_sym_GT_EQ] = ACTIONS(543), + [anon_sym_LT_EQ] = ACTIONS(543), + [anon_sym_in] = ACTIONS(543), + [anon_sym_CARET] = ACTIONS(543), + [anon_sym_DOT_DOT] = ACTIONS(543), + [anon_sym_DOT_DOT_EQ] = ACTIONS(541), + [anon_sym_LBRACK] = ACTIONS(541), + [anon_sym_DOT] = ACTIONS(543), + [anon_sym_PERCENT_LBRACE] = ACTIONS(541), + [anon_sym_for] = ACTIONS(543), + [anon_sym_if] = ACTIONS(543), + [anon_sym_while] = ACTIONS(543), + [anon_sym_return] = ACTIONS(543), + [sym_break_expression] = ACTIONS(543), + [sym_continue_expression] = ACTIONS(543), + [sym_integer] = ACTIONS(543), + [sym_float] = ACTIONS(543), + [sym_complex] = ACTIONS(541), + [anon_sym_true] = ACTIONS(543), + [anon_sym_false] = ACTIONS(543), + [anon_sym_Inf] = ACTIONS(543), + [anon_sym_NaN] = ACTIONS(543), + [anon_sym_DQUOTE] = ACTIONS(541), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(541), + [sym_raw_string] = ACTIONS(541), + }, + [103] = { + [ts_builtin_sym_end] = ACTIONS(545), + [sym_identifier] = ACTIONS(547), + [anon_sym_SEMI] = ACTIONS(545), + [anon_sym_let] = ACTIONS(547), + [anon_sym_EQ] = ACTIONS(547), + [anon_sym_COMMA] = ACTIONS(545), + [anon_sym_pure] = ACTIONS(547), + [anon_sym_fn] = ACTIONS(547), + [anon_sym_LPAREN] = ACTIONS(545), + [anon_sym_struct] = ACTIONS(547), + [anon_sym_LBRACE] = ACTIONS(545), + [anon_sym_RBRACE] = ACTIONS(545), + [anon_sym_LT] = ACTIONS(547), + [anon_sym_GT] = ACTIONS(547), + [anon_sym_PLUS_EQ] = ACTIONS(545), + [anon_sym_DASH_EQ] = ACTIONS(545), + [anon_sym_STAR_EQ] = ACTIONS(545), + [anon_sym_SLASH_EQ] = ACTIONS(545), + [anon_sym_BSLASH_EQ] = ACTIONS(545), + [anon_sym_PERCENT_EQ] = ACTIONS(545), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(545), + [anon_sym_CARET_EQ] = ACTIONS(545), + [anon_sym_AMP_EQ] = ACTIONS(545), + [anon_sym_PIPE_EQ] = ACTIONS(545), + [anon_sym_TILDE_EQ] = ACTIONS(545), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(545), + [anon_sym_LT_GT_EQ] = ACTIONS(545), + [anon_sym_LT_LT_EQ] = ACTIONS(545), + [anon_sym_GT_GT_EQ] = ACTIONS(545), + [anon_sym_as] = ACTIONS(547), + [anon_sym_BANG] = ACTIONS(547), + [anon_sym_DASH] = ACTIONS(547), + [anon_sym_TILDE] = ACTIONS(547), + [anon_sym_not] = ACTIONS(547), + [anon_sym_or] = ACTIONS(547), + [anon_sym_and] = ACTIONS(547), + [anon_sym_LT_EQ_GT] = ACTIONS(545), + [anon_sym_GT_EQ_LT] = ACTIONS(545), + [anon_sym_LT_LT] = ACTIONS(547), + [anon_sym_GT_GT] = ACTIONS(547), + [anon_sym_PIPE] = ACTIONS(547), + [anon_sym_AMP] = ACTIONS(547), + [anon_sym_PLUS] = ACTIONS(547), + [anon_sym_PLUS_PLUS] = ACTIONS(547), + [anon_sym_LT_GT] = ACTIONS(547), + [anon_sym_STAR] = ACTIONS(547), + [anon_sym_SLASH] = ACTIONS(547), + [anon_sym_BSLASH] = ACTIONS(547), + [anon_sym_PERCENT] = ACTIONS(547), + [anon_sym_PERCENT_PERCENT] = ACTIONS(547), + [anon_sym_EQ_EQ] = ACTIONS(545), + [anon_sym_BANG_EQ] = ACTIONS(545), + [anon_sym_GT_EQ] = ACTIONS(547), + [anon_sym_LT_EQ] = ACTIONS(547), + [anon_sym_in] = ACTIONS(547), + [anon_sym_CARET] = ACTIONS(547), + [anon_sym_DOT_DOT] = ACTIONS(547), + [anon_sym_DOT_DOT_EQ] = ACTIONS(545), + [anon_sym_LBRACK] = ACTIONS(545), + [anon_sym_DOT] = ACTIONS(547), + [anon_sym_PERCENT_LBRACE] = ACTIONS(545), + [anon_sym_for] = ACTIONS(547), + [anon_sym_if] = ACTIONS(547), + [anon_sym_while] = ACTIONS(547), + [anon_sym_return] = ACTIONS(547), + [sym_break_expression] = ACTIONS(547), + [sym_continue_expression] = ACTIONS(547), + [sym_integer] = ACTIONS(547), + [sym_float] = ACTIONS(547), + [sym_complex] = ACTIONS(545), + [anon_sym_true] = ACTIONS(547), + [anon_sym_false] = ACTIONS(547), + [anon_sym_Inf] = ACTIONS(547), + [anon_sym_NaN] = ACTIONS(547), + [anon_sym_DQUOTE] = ACTIONS(545), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(545), + [sym_raw_string] = ACTIONS(545), + }, + [104] = { + [ts_builtin_sym_end] = ACTIONS(549), + [sym_identifier] = ACTIONS(551), + [anon_sym_SEMI] = ACTIONS(549), + [anon_sym_let] = ACTIONS(551), + [anon_sym_EQ] = ACTIONS(551), + [anon_sym_COMMA] = ACTIONS(549), + [anon_sym_pure] = ACTIONS(551), + [anon_sym_fn] = ACTIONS(551), + [anon_sym_LPAREN] = ACTIONS(549), + [anon_sym_struct] = ACTIONS(551), + [anon_sym_LBRACE] = ACTIONS(549), + [anon_sym_RBRACE] = ACTIONS(549), + [anon_sym_LT] = ACTIONS(551), + [anon_sym_GT] = ACTIONS(551), + [anon_sym_PLUS_EQ] = ACTIONS(549), + [anon_sym_DASH_EQ] = ACTIONS(549), + [anon_sym_STAR_EQ] = ACTIONS(549), + [anon_sym_SLASH_EQ] = ACTIONS(549), + [anon_sym_BSLASH_EQ] = ACTIONS(549), + [anon_sym_PERCENT_EQ] = ACTIONS(549), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(549), + [anon_sym_CARET_EQ] = ACTIONS(549), + [anon_sym_AMP_EQ] = ACTIONS(549), + [anon_sym_PIPE_EQ] = ACTIONS(549), + [anon_sym_TILDE_EQ] = ACTIONS(549), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(549), + [anon_sym_LT_GT_EQ] = ACTIONS(549), + [anon_sym_LT_LT_EQ] = ACTIONS(549), + [anon_sym_GT_GT_EQ] = ACTIONS(549), + [anon_sym_as] = ACTIONS(551), + [anon_sym_BANG] = ACTIONS(551), + [anon_sym_DASH] = ACTIONS(551), + [anon_sym_TILDE] = ACTIONS(551), + [anon_sym_not] = ACTIONS(551), + [anon_sym_or] = ACTIONS(551), + [anon_sym_and] = ACTIONS(551), + [anon_sym_LT_EQ_GT] = ACTIONS(549), + [anon_sym_GT_EQ_LT] = ACTIONS(549), + [anon_sym_LT_LT] = ACTIONS(551), + [anon_sym_GT_GT] = ACTIONS(551), + [anon_sym_PIPE] = ACTIONS(551), + [anon_sym_AMP] = ACTIONS(551), + [anon_sym_PLUS] = ACTIONS(551), + [anon_sym_PLUS_PLUS] = ACTIONS(551), + [anon_sym_LT_GT] = ACTIONS(551), + [anon_sym_STAR] = ACTIONS(551), + [anon_sym_SLASH] = ACTIONS(551), + [anon_sym_BSLASH] = ACTIONS(551), + [anon_sym_PERCENT] = ACTIONS(551), + [anon_sym_PERCENT_PERCENT] = ACTIONS(551), + [anon_sym_EQ_EQ] = ACTIONS(549), + [anon_sym_BANG_EQ] = ACTIONS(549), + [anon_sym_GT_EQ] = ACTIONS(551), + [anon_sym_LT_EQ] = ACTIONS(551), + [anon_sym_in] = ACTIONS(551), + [anon_sym_CARET] = ACTIONS(551), + [anon_sym_DOT_DOT] = ACTIONS(551), + [anon_sym_DOT_DOT_EQ] = ACTIONS(549), + [anon_sym_LBRACK] = ACTIONS(549), + [anon_sym_DOT] = ACTIONS(551), + [anon_sym_PERCENT_LBRACE] = ACTIONS(549), + [anon_sym_for] = ACTIONS(551), + [anon_sym_if] = ACTIONS(551), + [anon_sym_while] = ACTIONS(551), + [anon_sym_return] = ACTIONS(551), + [sym_break_expression] = ACTIONS(551), + [sym_continue_expression] = ACTIONS(551), + [sym_integer] = ACTIONS(551), + [sym_float] = ACTIONS(551), + [sym_complex] = ACTIONS(549), + [anon_sym_true] = ACTIONS(551), + [anon_sym_false] = ACTIONS(551), + [anon_sym_Inf] = ACTIONS(551), + [anon_sym_NaN] = ACTIONS(551), + [anon_sym_DQUOTE] = ACTIONS(549), + [sym_comment] = ACTIONS(3), + [sym_named_op_assign] = ACTIONS(549), + [sym_raw_string] = ACTIONS(549), + }, + [105] = { + [ts_builtin_sym_end] = ACTIONS(553), + [sym_identifier] = ACTIONS(555), + [anon_sym_SEMI] = ACTIONS(553), + [anon_sym_let] = ACTIONS(555), + [anon_sym_EQ] = ACTIONS(555), + [anon_sym_COMMA] = ACTIONS(553), + [anon_sym_pure] = ACTIONS(555), + [anon_sym_fn] = ACTIONS(555), + [anon_sym_LPAREN] = ACTIONS(553), + [anon_sym_struct] = ACTIONS(555), + [anon_sym_LBRACE] = ACTIONS(553), + [anon_sym_RBRACE] = ACTIONS(553), + [anon_sym_LT] = ACTIONS(555), + [anon_sym_GT] = ACTIONS(555), + [anon_sym_PLUS_EQ] = ACTIONS(553), + [anon_sym_DASH_EQ] = ACTIONS(553), + [anon_sym_STAR_EQ] = ACTIONS(553), + [anon_sym_SLASH_EQ] = ACTIONS(553), + [anon_sym_BSLASH_EQ] = ACTIONS(553), + [anon_sym_PERCENT_EQ] = ACTIONS(553), + [anon_sym_PERCENT_PERCENT_EQ] = ACTIONS(553), + [anon_sym_CARET_EQ] = ACTIONS(553), + [anon_sym_AMP_EQ] = ACTIONS(553), + [anon_sym_PIPE_EQ] = ACTIONS(553), + [anon_sym_TILDE_EQ] = ACTIONS(553), + [anon_sym_PLUS_PLUS_EQ] = ACTIONS(553), + [anon_sym_LT_GT_EQ] = ACTIONS(553), + [anon_sym_LT_LT_EQ] = ACTIONS(553), + [anon_sym_GT_GT_EQ] = ACTIONS(553), + [anon_sym_as] = ACTIONS(555), + [anon_sym_BANG] = ACTIONS(555), + [anon_sym_DASH] = ACTIONS(555), + [anon_sym_TILDE] = ACTIONS(555), + [anon_sym_not] = ACTIONS(555), + [anon_sym_or] = ACTIONS(555), + [anon_sym_and] = ACTIONS(555), + [anon_sym_LT_EQ_GT] = ACTIONS(553), + [anon_sym_GT_EQ_LT] = ACTIONS(553), + [anon_sym_LT_LT] = ACTIONS(555), + [anon_sym_GT_GT] = ACTIONS(555), + [anon_sym_PIPE] = ACTIONS(555), + [anon_sym_AMP] = ACTIONS(555), + [anon_sym_PLUS] = ACTIONS(555), + [anon_sym_PLUS_PLUS] = ACTIONS(555), + [anon_sym_LT_GT] = ACTIONS(555), + [anon_sym_STAR] = ACTIONS(555), + [anon_sym_SLASH] = ACTIONS(555), + [anon_sym_BSLASH] = ACTIONS(555), + [anon_sym_PERCENT] = ACTIONS(555), + [anon_sym_PERCENT_PERCENT] = ACTIONS(555), + [anon_sym_EQ_EQ] = ACTIONS(553), + [anon_sym_BANG_EQ] = ACTIONS(553), + [anon_sym_GT_EQ] = ACTIONS(555), + [anon_sym_LT_EQ] = ACTIONS(555), + [anon_sym_in] = ACTIONS(555), + [anon_sym_CARET] = ACTIONS(555), + [anon_sym_DOT_DOT] = ACTIONS(555), + [anon_sym_DOT_DOT_EQ] = ACTIONS(553), + [anon_sym_LBRACK] = ACTIONS(553), + [anon_sym_DOT] = ACTIONS(555), [anon_sym_PERCENT_LBRACE] = ACTIONS(553), - [anon_sym_for] = ACTIONS(556), - [anon_sym_if] = ACTIONS(559), - [anon_sym_while] = ACTIONS(562), - [anon_sym_return] = ACTIONS(565), - [sym_break_expression] = ACTIONS(514), - [sym_continue_expression] = ACTIONS(514), - [sym_integer] = ACTIONS(514), - [sym_float] = ACTIONS(514), - [sym_complex] = ACTIONS(568), - [anon_sym_true] = ACTIONS(571), - [anon_sym_false] = ACTIONS(571), - [anon_sym_Inf] = ACTIONS(574), - [anon_sym_NaN] = ACTIONS(574), - [anon_sym_DQUOTE] = ACTIONS(577), + [anon_sym_for] = ACTIONS(555), + [anon_sym_if] = ACTIONS(555), + [anon_sym_while] = ACTIONS(555), + [anon_sym_return] = ACTIONS(555), + [sym_break_expression] = ACTIONS(555), + [sym_continue_expression] = ACTIONS(555), + [sym_integer] = ACTIONS(555), + [sym_float] = ACTIONS(555), + [sym_complex] = ACTIONS(553), + [anon_sym_true] = ACTIONS(555), + [anon_sym_false] = ACTIONS(555), + [anon_sym_Inf] = ACTIONS(555), + [anon_sym_NaN] = ACTIONS(555), + [anon_sym_DQUOTE] = ACTIONS(553), [sym_comment] = ACTIONS(3), - [sym_raw_string] = ACTIONS(568), + [sym_named_op_assign] = ACTIONS(553), + [sym_raw_string] = ACTIONS(553), }, - [97] = { - [sym__statement] = STATE(96), - [sym_variable_declaration] = STATE(96), - [sym_function_definition] = STATE(15), - [sym_struct_definition] = STATE(15), - [sym__expression_or_sequence] = STATE(537), - [sym_tuple_expression] = STATE(537), - [sym__expression] = STATE(15), - [sym_parenthesized_expression] = STATE(15), - [sym_unit] = STATE(15), - [sym_tuple] = STATE(15), - [sym_assignment] = STATE(15), - [sym_augmented_assignment] = STATE(15), - [sym_unary_expression] = STATE(15), - [sym_not_expression] = STATE(15), - [sym_binary_expression] = STATE(15), - [sym_range_expression] = STATE(15), - [sym_call] = STATE(15), - [sym_index] = STATE(15), - [sym_member_expression] = STATE(15), - [sym_list] = STATE(15), - [sym_list_comprehension] = STATE(15), - [sym_map] = STATE(15), - [sym_map_comprehension] = STATE(15), - [sym_if_expression] = STATE(15), - [sym_while_expression] = STATE(15), - [sym_for_expression] = STATE(15), - [sym_block] = STATE(15), - [sym_return_expression] = STATE(15), - [sym__literal] = STATE(15), - [sym_boolean] = STATE(15), - [sym_special_constant] = STATE(15), - [sym_string] = STATE(15), - [aux_sym_source_file_repeat1] = STATE(96), - [ts_builtin_sym_end] = ACTIONS(580), + [106] = { + [sym__statement] = STATE(106), + [sym_variable_declaration] = STATE(106), + [sym_function_definition] = STATE(14), + [sym_struct_definition] = STATE(14), + [sym__expression_or_sequence] = STATE(561), + [sym_tuple_expression] = STATE(561), + [sym__expression] = STATE(14), + [sym_parenthesized_expression] = STATE(14), + [sym_unit] = STATE(14), + [sym_tuple] = STATE(14), + [sym_assignment] = STATE(14), + [sym_augmented_assignment] = STATE(14), + [sym_cast_expression] = STATE(14), + [sym_unary_expression] = STATE(14), + [sym_not_expression] = STATE(14), + [sym_binary_expression] = STATE(14), + [sym_range_expression] = STATE(14), + [sym_call] = STATE(14), + [sym_index] = STATE(14), + [sym_member_expression] = STATE(14), + [sym_list] = STATE(14), + [sym_list_comprehension] = STATE(14), + [sym_map] = STATE(14), + [sym_map_comprehension] = STATE(14), + [sym_if_expression] = STATE(14), + [sym_while_expression] = STATE(14), + [sym_for_expression] = STATE(14), + [sym_block] = STATE(14), + [sym_return_expression] = STATE(14), + [sym__literal] = STATE(14), + [sym_boolean] = STATE(14), + [sym_special_constant] = STATE(14), + [sym_string] = STATE(14), + [aux_sym_source_file_repeat1] = STATE(106), + [ts_builtin_sym_end] = ACTIONS(557), + [sym_identifier] = ACTIONS(559), + [anon_sym_SEMI] = ACTIONS(562), + [anon_sym_let] = ACTIONS(565), + [anon_sym_pure] = ACTIONS(568), + [anon_sym_fn] = ACTIONS(571), + [anon_sym_LPAREN] = ACTIONS(574), + [anon_sym_struct] = ACTIONS(577), + [anon_sym_LBRACE] = ACTIONS(580), + [anon_sym_RBRACE] = ACTIONS(557), + [anon_sym_BANG] = ACTIONS(583), + [anon_sym_DASH] = ACTIONS(583), + [anon_sym_TILDE] = ACTIONS(583), + [anon_sym_not] = ACTIONS(586), + [anon_sym_DOT_DOT] = ACTIONS(589), + [anon_sym_DOT_DOT_EQ] = ACTIONS(592), + [anon_sym_LBRACK] = ACTIONS(595), + [anon_sym_PERCENT_LBRACE] = ACTIONS(598), + [anon_sym_for] = ACTIONS(601), + [anon_sym_if] = ACTIONS(604), + [anon_sym_while] = ACTIONS(607), + [anon_sym_return] = ACTIONS(610), + [sym_break_expression] = ACTIONS(559), + [sym_continue_expression] = ACTIONS(559), + [sym_integer] = ACTIONS(559), + [sym_float] = ACTIONS(559), + [sym_complex] = ACTIONS(613), + [anon_sym_true] = ACTIONS(616), + [anon_sym_false] = ACTIONS(616), + [anon_sym_Inf] = ACTIONS(619), + [anon_sym_NaN] = ACTIONS(619), + [anon_sym_DQUOTE] = ACTIONS(622), + [sym_comment] = ACTIONS(3), + [sym_raw_string] = ACTIONS(613), + }, + [107] = { + [sym__let_target] = STATE(804), + [sym_pattern_sequence] = STATE(804), + [sym__pattern] = STATE(746), + [sym_function_definition] = STATE(554), + [sym_struct_definition] = STATE(554), + [sym__expression] = STATE(554), + [sym_parenthesized_expression] = STATE(553), + [sym_unit] = STATE(554), + [sym_tuple] = STATE(553), + [sym_assignment] = STATE(554), + [sym_augmented_assignment] = STATE(554), + [sym_cast_expression] = STATE(554), + [sym_unary_expression] = STATE(554), + [sym_not_expression] = STATE(554), + [sym_binary_expression] = STATE(554), + [sym_range_expression] = STATE(554), + [sym_call] = STATE(554), + [sym_index] = STATE(553), + [sym_member_expression] = STATE(554), + [sym_list] = STATE(553), + [sym_list_comprehension] = STATE(554), + [sym_map] = STATE(554), + [sym_map_comprehension] = STATE(554), + [sym__comprehension_clause] = STATE(641), + [sym_if_expression] = STATE(554), + [sym_while_expression] = STATE(554), + [sym_for_expression] = STATE(554), + [sym_for_binding] = STATE(641), + [sym_if_guard] = STATE(641), + [sym_block] = STATE(554), + [sym_return_expression] = STATE(554), + [sym__literal] = STATE(554), + [sym_boolean] = STATE(554), + [sym_special_constant] = STATE(554), + [sym_string] = STATE(554), + [sym_identifier] = ACTIONS(625), + [anon_sym_pure] = ACTIONS(163), + [anon_sym_fn] = ACTIONS(165), + [anon_sym_LPAREN] = ACTIONS(67), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_RBRACE] = ACTIONS(627), + [anon_sym_BANG] = ACTIONS(629), + [anon_sym_DASH] = ACTIONS(629), + [anon_sym_TILDE] = ACTIONS(629), + [anon_sym_not] = ACTIONS(631), + [anon_sym_DOT_DOT] = ACTIONS(633), + [anon_sym_DOT_DOT_EQ] = ACTIONS(635), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_RBRACK] = ACTIONS(627), + [anon_sym_PERCENT_LBRACE] = ACTIONS(83), + [anon_sym_for] = ACTIONS(85), + [anon_sym_if] = ACTIONS(637), + [anon_sym_while] = ACTIONS(89), + [anon_sym_return] = ACTIONS(169), + [sym_break_expression] = ACTIONS(639), + [sym_continue_expression] = ACTIONS(639), + [sym_integer] = ACTIONS(639), + [sym_float] = ACTIONS(639), + [sym_complex] = ACTIONS(641), + [anon_sym_true] = ACTIONS(95), + [anon_sym_false] = ACTIONS(95), + [anon_sym_Inf] = ACTIONS(97), + [anon_sym_NaN] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + [sym_raw_string] = ACTIONS(641), + }, + [108] = { + [sym__let_target] = STATE(804), + [sym_pattern_sequence] = STATE(804), + [sym__pattern] = STATE(746), + [sym_function_definition] = STATE(554), + [sym_struct_definition] = STATE(554), + [sym__expression] = STATE(554), + [sym_parenthesized_expression] = STATE(553), + [sym_unit] = STATE(554), + [sym_tuple] = STATE(553), + [sym_assignment] = STATE(554), + [sym_augmented_assignment] = STATE(554), + [sym_cast_expression] = STATE(554), + [sym_unary_expression] = STATE(554), + [sym_not_expression] = STATE(554), + [sym_binary_expression] = STATE(554), + [sym_range_expression] = STATE(554), + [sym_call] = STATE(554), + [sym_index] = STATE(553), + [sym_member_expression] = STATE(554), + [sym_list] = STATE(553), + [sym_list_comprehension] = STATE(554), + [sym_map] = STATE(554), + [sym_map_comprehension] = STATE(554), + [sym__comprehension_clause] = STATE(641), + [sym_if_expression] = STATE(554), + [sym_while_expression] = STATE(554), + [sym_for_expression] = STATE(554), + [sym_for_binding] = STATE(641), + [sym_if_guard] = STATE(641), + [sym_block] = STATE(554), + [sym_return_expression] = STATE(554), + [sym__literal] = STATE(554), + [sym_boolean] = STATE(554), + [sym_special_constant] = STATE(554), + [sym_string] = STATE(554), + [sym_identifier] = ACTIONS(625), + [anon_sym_pure] = ACTIONS(163), + [anon_sym_fn] = ACTIONS(165), + [anon_sym_LPAREN] = ACTIONS(67), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_RBRACE] = ACTIONS(643), + [anon_sym_BANG] = ACTIONS(629), + [anon_sym_DASH] = ACTIONS(629), + [anon_sym_TILDE] = ACTIONS(629), + [anon_sym_not] = ACTIONS(631), + [anon_sym_DOT_DOT] = ACTIONS(633), + [anon_sym_DOT_DOT_EQ] = ACTIONS(635), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_RBRACK] = ACTIONS(643), + [anon_sym_PERCENT_LBRACE] = ACTIONS(83), + [anon_sym_for] = ACTIONS(85), + [anon_sym_if] = ACTIONS(637), + [anon_sym_while] = ACTIONS(89), + [anon_sym_return] = ACTIONS(169), + [sym_break_expression] = ACTIONS(639), + [sym_continue_expression] = ACTIONS(639), + [sym_integer] = ACTIONS(639), + [sym_float] = ACTIONS(639), + [sym_complex] = ACTIONS(641), + [anon_sym_true] = ACTIONS(95), + [anon_sym_false] = ACTIONS(95), + [anon_sym_Inf] = ACTIONS(97), + [anon_sym_NaN] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + [sym_raw_string] = ACTIONS(641), + }, + [109] = { + [sym__statement] = STATE(106), + [sym_variable_declaration] = STATE(106), + [sym_function_definition] = STATE(14), + [sym_struct_definition] = STATE(14), + [sym__expression_or_sequence] = STATE(561), + [sym_tuple_expression] = STATE(561), + [sym__expression] = STATE(14), + [sym_parenthesized_expression] = STATE(14), + [sym_unit] = STATE(14), + [sym_tuple] = STATE(14), + [sym_assignment] = STATE(14), + [sym_augmented_assignment] = STATE(14), + [sym_cast_expression] = STATE(14), + [sym_unary_expression] = STATE(14), + [sym_not_expression] = STATE(14), + [sym_binary_expression] = STATE(14), + [sym_range_expression] = STATE(14), + [sym_call] = STATE(14), + [sym_index] = STATE(14), + [sym_member_expression] = STATE(14), + [sym_list] = STATE(14), + [sym_list_comprehension] = STATE(14), + [sym_map] = STATE(14), + [sym_map_comprehension] = STATE(14), + [sym_if_expression] = STATE(14), + [sym_while_expression] = STATE(14), + [sym_for_expression] = STATE(14), + [sym_block] = STATE(14), + [sym_return_expression] = STATE(14), + [sym__literal] = STATE(14), + [sym_boolean] = STATE(14), + [sym_special_constant] = STATE(14), + [sym_string] = STATE(14), + [aux_sym_source_file_repeat1] = STATE(106), + [ts_builtin_sym_end] = ACTIONS(645), [sym_identifier] = ACTIONS(7), - [anon_sym_SEMI] = ACTIONS(582), + [anon_sym_SEMI] = ACTIONS(647), [anon_sym_let] = ACTIONS(11), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), @@ -11745,117 +12907,50 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), [sym_raw_string] = ACTIONS(43), }, - [98] = { - [sym__let_target] = STATE(758), - [sym_pattern_sequence] = STATE(758), - [sym__pattern] = STATE(699), - [sym_function_definition] = STATE(533), - [sym_struct_definition] = STATE(533), - [sym__expression] = STATE(533), - [sym_parenthesized_expression] = STATE(534), - [sym_unit] = STATE(533), - [sym_tuple] = STATE(534), - [sym_assignment] = STATE(533), - [sym_augmented_assignment] = STATE(533), - [sym_unary_expression] = STATE(533), - [sym_not_expression] = STATE(533), - [sym_binary_expression] = STATE(533), - [sym_range_expression] = STATE(533), - [sym_call] = STATE(533), - [sym_index] = STATE(534), - [sym_member_expression] = STATE(533), - [sym_list] = STATE(534), - [sym_list_comprehension] = STATE(533), - [sym_map] = STATE(533), - [sym_map_comprehension] = STATE(533), - [sym__comprehension_clause] = STATE(616), - [sym_if_expression] = STATE(533), - [sym_while_expression] = STATE(533), - [sym_for_expression] = STATE(533), - [sym_for_binding] = STATE(616), - [sym_if_guard] = STATE(616), - [sym_block] = STATE(533), - [sym_return_expression] = STATE(533), - [sym__literal] = STATE(533), - [sym_boolean] = STATE(533), - [sym_special_constant] = STATE(533), - [sym_string] = STATE(533), - [sym_identifier] = ACTIONS(584), - [anon_sym_pure] = ACTIONS(163), - [anon_sym_fn] = ACTIONS(165), - [anon_sym_LPAREN] = ACTIONS(67), - [anon_sym_struct] = ACTIONS(69), - [anon_sym_LBRACE] = ACTIONS(71), - [anon_sym_RBRACE] = ACTIONS(586), - [anon_sym_BANG] = ACTIONS(588), - [anon_sym_DASH] = ACTIONS(588), - [anon_sym_TILDE] = ACTIONS(588), - [anon_sym_not] = ACTIONS(590), - [anon_sym_DOT_DOT] = ACTIONS(592), - [anon_sym_DOT_DOT_EQ] = ACTIONS(594), - [anon_sym_LBRACK] = ACTIONS(81), - [anon_sym_RBRACK] = ACTIONS(586), - [anon_sym_PERCENT_LBRACE] = ACTIONS(83), - [anon_sym_for] = ACTIONS(85), - [anon_sym_if] = ACTIONS(596), - [anon_sym_while] = ACTIONS(89), - [anon_sym_return] = ACTIONS(169), - [sym_break_expression] = ACTIONS(598), - [sym_continue_expression] = ACTIONS(598), - [sym_integer] = ACTIONS(598), - [sym_float] = ACTIONS(598), - [sym_complex] = ACTIONS(600), - [anon_sym_true] = ACTIONS(95), - [anon_sym_false] = ACTIONS(95), - [anon_sym_Inf] = ACTIONS(97), - [anon_sym_NaN] = ACTIONS(97), - [anon_sym_DQUOTE] = ACTIONS(99), - [sym_comment] = ACTIONS(3), - [sym_raw_string] = ACTIONS(600), - }, - [99] = { - [sym__statement] = STATE(103), - [sym_variable_declaration] = STATE(103), - [sym_function_definition] = STATE(15), - [sym_struct_definition] = STATE(15), - [sym__expression_or_sequence] = STATE(537), - [sym_tuple_expression] = STATE(537), - [sym__expression] = STATE(15), - [sym_parenthesized_expression] = STATE(15), - [sym_unit] = STATE(15), - [sym_tuple] = STATE(15), - [sym_assignment] = STATE(15), - [sym_augmented_assignment] = STATE(15), - [sym_unary_expression] = STATE(15), - [sym_not_expression] = STATE(15), - [sym_binary_expression] = STATE(15), - [sym_range_expression] = STATE(15), - [sym_call] = STATE(15), - [sym_index] = STATE(15), - [sym_member_expression] = STATE(15), - [sym_list] = STATE(15), - [sym_list_comprehension] = STATE(15), - [sym_map] = STATE(15), - [sym_map_comprehension] = STATE(15), - [sym_if_expression] = STATE(15), - [sym_while_expression] = STATE(15), - [sym_for_expression] = STATE(15), - [sym_block] = STATE(15), - [sym_return_expression] = STATE(15), - [sym__literal] = STATE(15), - [sym_boolean] = STATE(15), - [sym_special_constant] = STATE(15), - [sym_string] = STATE(15), - [aux_sym_source_file_repeat1] = STATE(103), + [110] = { + [sym__statement] = STATE(111), + [sym_variable_declaration] = STATE(111), + [sym_function_definition] = STATE(14), + [sym_struct_definition] = STATE(14), + [sym__expression_or_sequence] = STATE(561), + [sym_tuple_expression] = STATE(561), + [sym__expression] = STATE(14), + [sym_parenthesized_expression] = STATE(14), + [sym_unit] = STATE(14), + [sym_tuple] = STATE(14), + [sym_assignment] = STATE(14), + [sym_augmented_assignment] = STATE(14), + [sym_cast_expression] = STATE(14), + [sym_unary_expression] = STATE(14), + [sym_not_expression] = STATE(14), + [sym_binary_expression] = STATE(14), + [sym_range_expression] = STATE(14), + [sym_call] = STATE(14), + [sym_index] = STATE(14), + [sym_member_expression] = STATE(14), + [sym_list] = STATE(14), + [sym_list_comprehension] = STATE(14), + [sym_map] = STATE(14), + [sym_map_comprehension] = STATE(14), + [sym_if_expression] = STATE(14), + [sym_while_expression] = STATE(14), + [sym_for_expression] = STATE(14), + [sym_block] = STATE(14), + [sym_return_expression] = STATE(14), + [sym__literal] = STATE(14), + [sym_boolean] = STATE(14), + [sym_special_constant] = STATE(14), + [sym_string] = STATE(14), + [aux_sym_source_file_repeat1] = STATE(111), [sym_identifier] = ACTIONS(7), - [anon_sym_SEMI] = ACTIONS(602), + [anon_sym_SEMI] = ACTIONS(649), [anon_sym_let] = ACTIONS(11), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), [anon_sym_struct] = ACTIONS(19), [anon_sym_LBRACE] = ACTIONS(21), - [anon_sym_RBRACE] = ACTIONS(604), + [anon_sym_RBRACE] = ACTIONS(651), [anon_sym_BANG] = ACTIONS(23), [anon_sym_DASH] = ACTIONS(23), [anon_sym_TILDE] = ACTIONS(23), @@ -11881,49 +12976,50 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), [sym_raw_string] = ACTIONS(43), }, - [100] = { - [sym__statement] = STATE(102), - [sym_variable_declaration] = STATE(102), - [sym_function_definition] = STATE(15), - [sym_struct_definition] = STATE(15), - [sym__expression_or_sequence] = STATE(537), - [sym_tuple_expression] = STATE(537), - [sym__expression] = STATE(15), - [sym_parenthesized_expression] = STATE(15), - [sym_unit] = STATE(15), - [sym_tuple] = STATE(15), - [sym_assignment] = STATE(15), - [sym_augmented_assignment] = STATE(15), - [sym_unary_expression] = STATE(15), - [sym_not_expression] = STATE(15), - [sym_binary_expression] = STATE(15), - [sym_range_expression] = STATE(15), - [sym_call] = STATE(15), - [sym_index] = STATE(15), - [sym_member_expression] = STATE(15), - [sym_list] = STATE(15), - [sym_list_comprehension] = STATE(15), - [sym_map] = STATE(15), - [sym_map_comprehension] = STATE(15), - [sym_if_expression] = STATE(15), - [sym_while_expression] = STATE(15), - [sym_for_expression] = STATE(15), - [sym_block] = STATE(15), - [sym_return_expression] = STATE(15), - [sym__literal] = STATE(15), - [sym_boolean] = STATE(15), - [sym_special_constant] = STATE(15), - [sym_string] = STATE(15), - [aux_sym_source_file_repeat1] = STATE(102), + [111] = { + [sym__statement] = STATE(106), + [sym_variable_declaration] = STATE(106), + [sym_function_definition] = STATE(14), + [sym_struct_definition] = STATE(14), + [sym__expression_or_sequence] = STATE(561), + [sym_tuple_expression] = STATE(561), + [sym__expression] = STATE(14), + [sym_parenthesized_expression] = STATE(14), + [sym_unit] = STATE(14), + [sym_tuple] = STATE(14), + [sym_assignment] = STATE(14), + [sym_augmented_assignment] = STATE(14), + [sym_cast_expression] = STATE(14), + [sym_unary_expression] = STATE(14), + [sym_not_expression] = STATE(14), + [sym_binary_expression] = STATE(14), + [sym_range_expression] = STATE(14), + [sym_call] = STATE(14), + [sym_index] = STATE(14), + [sym_member_expression] = STATE(14), + [sym_list] = STATE(14), + [sym_list_comprehension] = STATE(14), + [sym_map] = STATE(14), + [sym_map_comprehension] = STATE(14), + [sym_if_expression] = STATE(14), + [sym_while_expression] = STATE(14), + [sym_for_expression] = STATE(14), + [sym_block] = STATE(14), + [sym_return_expression] = STATE(14), + [sym__literal] = STATE(14), + [sym_boolean] = STATE(14), + [sym_special_constant] = STATE(14), + [sym_string] = STATE(14), + [aux_sym_source_file_repeat1] = STATE(106), [sym_identifier] = ACTIONS(7), - [anon_sym_SEMI] = ACTIONS(606), + [anon_sym_SEMI] = ACTIONS(647), [anon_sym_let] = ACTIONS(11), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), [anon_sym_struct] = ACTIONS(19), [anon_sym_LBRACE] = ACTIONS(21), - [anon_sym_RBRACE] = ACTIONS(608), + [anon_sym_RBRACE] = ACTIONS(653), [anon_sym_BANG] = ACTIONS(23), [anon_sym_DASH] = ACTIONS(23), [anon_sym_TILDE] = ACTIONS(23), @@ -11949,117 +13045,50 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), [sym_raw_string] = ACTIONS(43), }, - [101] = { - [sym__let_target] = STATE(758), - [sym_pattern_sequence] = STATE(758), - [sym__pattern] = STATE(699), - [sym_function_definition] = STATE(533), - [sym_struct_definition] = STATE(533), - [sym__expression] = STATE(533), - [sym_parenthesized_expression] = STATE(534), - [sym_unit] = STATE(533), - [sym_tuple] = STATE(534), - [sym_assignment] = STATE(533), - [sym_augmented_assignment] = STATE(533), - [sym_unary_expression] = STATE(533), - [sym_not_expression] = STATE(533), - [sym_binary_expression] = STATE(533), - [sym_range_expression] = STATE(533), - [sym_call] = STATE(533), - [sym_index] = STATE(534), - [sym_member_expression] = STATE(533), - [sym_list] = STATE(534), - [sym_list_comprehension] = STATE(533), - [sym_map] = STATE(533), - [sym_map_comprehension] = STATE(533), - [sym__comprehension_clause] = STATE(616), - [sym_if_expression] = STATE(533), - [sym_while_expression] = STATE(533), - [sym_for_expression] = STATE(533), - [sym_for_binding] = STATE(616), - [sym_if_guard] = STATE(616), - [sym_block] = STATE(533), - [sym_return_expression] = STATE(533), - [sym__literal] = STATE(533), - [sym_boolean] = STATE(533), - [sym_special_constant] = STATE(533), - [sym_string] = STATE(533), - [sym_identifier] = ACTIONS(584), - [anon_sym_pure] = ACTIONS(163), - [anon_sym_fn] = ACTIONS(165), - [anon_sym_LPAREN] = ACTIONS(67), - [anon_sym_struct] = ACTIONS(69), - [anon_sym_LBRACE] = ACTIONS(71), - [anon_sym_RBRACE] = ACTIONS(610), - [anon_sym_BANG] = ACTIONS(588), - [anon_sym_DASH] = ACTIONS(588), - [anon_sym_TILDE] = ACTIONS(588), - [anon_sym_not] = ACTIONS(590), - [anon_sym_DOT_DOT] = ACTIONS(592), - [anon_sym_DOT_DOT_EQ] = ACTIONS(594), - [anon_sym_LBRACK] = ACTIONS(81), - [anon_sym_RBRACK] = ACTIONS(610), - [anon_sym_PERCENT_LBRACE] = ACTIONS(83), - [anon_sym_for] = ACTIONS(85), - [anon_sym_if] = ACTIONS(596), - [anon_sym_while] = ACTIONS(89), - [anon_sym_return] = ACTIONS(169), - [sym_break_expression] = ACTIONS(598), - [sym_continue_expression] = ACTIONS(598), - [sym_integer] = ACTIONS(598), - [sym_float] = ACTIONS(598), - [sym_complex] = ACTIONS(600), - [anon_sym_true] = ACTIONS(95), - [anon_sym_false] = ACTIONS(95), - [anon_sym_Inf] = ACTIONS(97), - [anon_sym_NaN] = ACTIONS(97), - [anon_sym_DQUOTE] = ACTIONS(99), - [sym_comment] = ACTIONS(3), - [sym_raw_string] = ACTIONS(600), - }, - [102] = { - [sym__statement] = STATE(96), - [sym_variable_declaration] = STATE(96), - [sym_function_definition] = STATE(15), - [sym_struct_definition] = STATE(15), - [sym__expression_or_sequence] = STATE(537), - [sym_tuple_expression] = STATE(537), - [sym__expression] = STATE(15), - [sym_parenthesized_expression] = STATE(15), - [sym_unit] = STATE(15), - [sym_tuple] = STATE(15), - [sym_assignment] = STATE(15), - [sym_augmented_assignment] = STATE(15), - [sym_unary_expression] = STATE(15), - [sym_not_expression] = STATE(15), - [sym_binary_expression] = STATE(15), - [sym_range_expression] = STATE(15), - [sym_call] = STATE(15), - [sym_index] = STATE(15), - [sym_member_expression] = STATE(15), - [sym_list] = STATE(15), - [sym_list_comprehension] = STATE(15), - [sym_map] = STATE(15), - [sym_map_comprehension] = STATE(15), - [sym_if_expression] = STATE(15), - [sym_while_expression] = STATE(15), - [sym_for_expression] = STATE(15), - [sym_block] = STATE(15), - [sym_return_expression] = STATE(15), - [sym__literal] = STATE(15), - [sym_boolean] = STATE(15), - [sym_special_constant] = STATE(15), - [sym_string] = STATE(15), - [aux_sym_source_file_repeat1] = STATE(96), + [112] = { + [sym__statement] = STATE(113), + [sym_variable_declaration] = STATE(113), + [sym_function_definition] = STATE(14), + [sym_struct_definition] = STATE(14), + [sym__expression_or_sequence] = STATE(561), + [sym_tuple_expression] = STATE(561), + [sym__expression] = STATE(14), + [sym_parenthesized_expression] = STATE(14), + [sym_unit] = STATE(14), + [sym_tuple] = STATE(14), + [sym_assignment] = STATE(14), + [sym_augmented_assignment] = STATE(14), + [sym_cast_expression] = STATE(14), + [sym_unary_expression] = STATE(14), + [sym_not_expression] = STATE(14), + [sym_binary_expression] = STATE(14), + [sym_range_expression] = STATE(14), + [sym_call] = STATE(14), + [sym_index] = STATE(14), + [sym_member_expression] = STATE(14), + [sym_list] = STATE(14), + [sym_list_comprehension] = STATE(14), + [sym_map] = STATE(14), + [sym_map_comprehension] = STATE(14), + [sym_if_expression] = STATE(14), + [sym_while_expression] = STATE(14), + [sym_for_expression] = STATE(14), + [sym_block] = STATE(14), + [sym_return_expression] = STATE(14), + [sym__literal] = STATE(14), + [sym_boolean] = STATE(14), + [sym_special_constant] = STATE(14), + [sym_string] = STATE(14), + [aux_sym_source_file_repeat1] = STATE(113), [sym_identifier] = ACTIONS(7), - [anon_sym_SEMI] = ACTIONS(582), + [anon_sym_SEMI] = ACTIONS(655), [anon_sym_let] = ACTIONS(11), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), [anon_sym_struct] = ACTIONS(19), [anon_sym_LBRACE] = ACTIONS(21), - [anon_sym_RBRACE] = ACTIONS(612), + [anon_sym_RBRACE] = ACTIONS(657), [anon_sym_BANG] = ACTIONS(23), [anon_sym_DASH] = ACTIONS(23), [anon_sym_TILDE] = ACTIONS(23), @@ -12085,49 +13114,50 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), [sym_raw_string] = ACTIONS(43), }, - [103] = { - [sym__statement] = STATE(96), - [sym_variable_declaration] = STATE(96), - [sym_function_definition] = STATE(15), - [sym_struct_definition] = STATE(15), - [sym__expression_or_sequence] = STATE(537), - [sym_tuple_expression] = STATE(537), - [sym__expression] = STATE(15), - [sym_parenthesized_expression] = STATE(15), - [sym_unit] = STATE(15), - [sym_tuple] = STATE(15), - [sym_assignment] = STATE(15), - [sym_augmented_assignment] = STATE(15), - [sym_unary_expression] = STATE(15), - [sym_not_expression] = STATE(15), - [sym_binary_expression] = STATE(15), - [sym_range_expression] = STATE(15), - [sym_call] = STATE(15), - [sym_index] = STATE(15), - [sym_member_expression] = STATE(15), - [sym_list] = STATE(15), - [sym_list_comprehension] = STATE(15), - [sym_map] = STATE(15), - [sym_map_comprehension] = STATE(15), - [sym_if_expression] = STATE(15), - [sym_while_expression] = STATE(15), - [sym_for_expression] = STATE(15), - [sym_block] = STATE(15), - [sym_return_expression] = STATE(15), - [sym__literal] = STATE(15), - [sym_boolean] = STATE(15), - [sym_special_constant] = STATE(15), - [sym_string] = STATE(15), - [aux_sym_source_file_repeat1] = STATE(96), + [113] = { + [sym__statement] = STATE(106), + [sym_variable_declaration] = STATE(106), + [sym_function_definition] = STATE(14), + [sym_struct_definition] = STATE(14), + [sym__expression_or_sequence] = STATE(561), + [sym_tuple_expression] = STATE(561), + [sym__expression] = STATE(14), + [sym_parenthesized_expression] = STATE(14), + [sym_unit] = STATE(14), + [sym_tuple] = STATE(14), + [sym_assignment] = STATE(14), + [sym_augmented_assignment] = STATE(14), + [sym_cast_expression] = STATE(14), + [sym_unary_expression] = STATE(14), + [sym_not_expression] = STATE(14), + [sym_binary_expression] = STATE(14), + [sym_range_expression] = STATE(14), + [sym_call] = STATE(14), + [sym_index] = STATE(14), + [sym_member_expression] = STATE(14), + [sym_list] = STATE(14), + [sym_list_comprehension] = STATE(14), + [sym_map] = STATE(14), + [sym_map_comprehension] = STATE(14), + [sym_if_expression] = STATE(14), + [sym_while_expression] = STATE(14), + [sym_for_expression] = STATE(14), + [sym_block] = STATE(14), + [sym_return_expression] = STATE(14), + [sym__literal] = STATE(14), + [sym_boolean] = STATE(14), + [sym_special_constant] = STATE(14), + [sym_string] = STATE(14), + [aux_sym_source_file_repeat1] = STATE(106), [sym_identifier] = ACTIONS(7), - [anon_sym_SEMI] = ACTIONS(582), + [anon_sym_SEMI] = ACTIONS(647), [anon_sym_let] = ACTIONS(11), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), [anon_sym_struct] = ACTIONS(19), [anon_sym_LBRACE] = ACTIONS(21), - [anon_sym_RBRACE] = ACTIONS(614), + [anon_sym_RBRACE] = ACTIONS(659), [anon_sym_BANG] = ACTIONS(23), [anon_sym_DASH] = ACTIONS(23), [anon_sym_TILDE] = ACTIONS(23), @@ -12153,10 +13183,345 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), [sym_raw_string] = ACTIONS(43), }, + [114] = { + [sym__let_target] = STATE(823), + [sym_pattern_sequence] = STATE(823), + [sym__pattern] = STATE(746), + [sym_function_definition] = STATE(554), + [sym_struct_definition] = STATE(554), + [sym__expression] = STATE(554), + [sym_parenthesized_expression] = STATE(553), + [sym_unit] = STATE(554), + [sym_tuple] = STATE(553), + [sym_assignment] = STATE(554), + [sym_augmented_assignment] = STATE(554), + [sym_cast_expression] = STATE(554), + [sym_unary_expression] = STATE(554), + [sym_not_expression] = STATE(554), + [sym_binary_expression] = STATE(554), + [sym_range_expression] = STATE(554), + [sym_call] = STATE(554), + [sym_index] = STATE(553), + [sym_member_expression] = STATE(554), + [sym_list] = STATE(553), + [sym_list_comprehension] = STATE(554), + [sym_map] = STATE(554), + [sym_map_comprehension] = STATE(554), + [sym__comprehension_clause] = STATE(671), + [sym_if_expression] = STATE(554), + [sym_while_expression] = STATE(554), + [sym_for_expression] = STATE(554), + [sym_for_binding] = STATE(671), + [sym_if_guard] = STATE(671), + [sym_block] = STATE(554), + [sym_return_expression] = STATE(554), + [sym__literal] = STATE(554), + [sym_boolean] = STATE(554), + [sym_special_constant] = STATE(554), + [sym_string] = STATE(554), + [sym_identifier] = ACTIONS(625), + [anon_sym_pure] = ACTIONS(163), + [anon_sym_fn] = ACTIONS(165), + [anon_sym_LPAREN] = ACTIONS(67), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_BANG] = ACTIONS(629), + [anon_sym_DASH] = ACTIONS(629), + [anon_sym_TILDE] = ACTIONS(629), + [anon_sym_not] = ACTIONS(631), + [anon_sym_DOT_DOT] = ACTIONS(633), + [anon_sym_DOT_DOT_EQ] = ACTIONS(635), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_PERCENT_LBRACE] = ACTIONS(83), + [anon_sym_for] = ACTIONS(85), + [anon_sym_if] = ACTIONS(661), + [anon_sym_while] = ACTIONS(89), + [anon_sym_return] = ACTIONS(169), + [sym_break_expression] = ACTIONS(639), + [sym_continue_expression] = ACTIONS(639), + [sym_integer] = ACTIONS(639), + [sym_float] = ACTIONS(639), + [sym_complex] = ACTIONS(641), + [anon_sym_true] = ACTIONS(95), + [anon_sym_false] = ACTIONS(95), + [anon_sym_Inf] = ACTIONS(97), + [anon_sym_NaN] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + [sym_raw_string] = ACTIONS(641), + }, + [115] = { + [sym__let_target] = STATE(804), + [sym_pattern_sequence] = STATE(804), + [sym__pattern] = STATE(746), + [sym_function_definition] = STATE(554), + [sym_struct_definition] = STATE(554), + [sym__expression] = STATE(554), + [sym_parenthesized_expression] = STATE(553), + [sym_unit] = STATE(554), + [sym_tuple] = STATE(553), + [sym_assignment] = STATE(554), + [sym_augmented_assignment] = STATE(554), + [sym_cast_expression] = STATE(554), + [sym_unary_expression] = STATE(554), + [sym_not_expression] = STATE(554), + [sym_binary_expression] = STATE(554), + [sym_range_expression] = STATE(554), + [sym_call] = STATE(554), + [sym_index] = STATE(553), + [sym_member_expression] = STATE(554), + [sym_list] = STATE(553), + [sym_list_comprehension] = STATE(554), + [sym_map] = STATE(554), + [sym_map_comprehension] = STATE(554), + [sym__comprehension_clause] = STATE(670), + [sym_if_expression] = STATE(554), + [sym_while_expression] = STATE(554), + [sym_for_expression] = STATE(554), + [sym_for_binding] = STATE(670), + [sym_if_guard] = STATE(670), + [sym_block] = STATE(554), + [sym_return_expression] = STATE(554), + [sym__literal] = STATE(554), + [sym_boolean] = STATE(554), + [sym_special_constant] = STATE(554), + [sym_string] = STATE(554), + [sym_identifier] = ACTIONS(625), + [anon_sym_pure] = ACTIONS(163), + [anon_sym_fn] = ACTIONS(165), + [anon_sym_LPAREN] = ACTIONS(67), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_BANG] = ACTIONS(629), + [anon_sym_DASH] = ACTIONS(629), + [anon_sym_TILDE] = ACTIONS(629), + [anon_sym_not] = ACTIONS(631), + [anon_sym_DOT_DOT] = ACTIONS(633), + [anon_sym_DOT_DOT_EQ] = ACTIONS(635), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_PERCENT_LBRACE] = ACTIONS(83), + [anon_sym_for] = ACTIONS(85), + [anon_sym_if] = ACTIONS(637), + [anon_sym_while] = ACTIONS(89), + [anon_sym_return] = ACTIONS(169), + [sym_break_expression] = ACTIONS(639), + [sym_continue_expression] = ACTIONS(639), + [sym_integer] = ACTIONS(639), + [sym_float] = ACTIONS(639), + [sym_complex] = ACTIONS(641), + [anon_sym_true] = ACTIONS(95), + [anon_sym_false] = ACTIONS(95), + [anon_sym_Inf] = ACTIONS(97), + [anon_sym_NaN] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + [sym_raw_string] = ACTIONS(641), + }, + [116] = { + [sym__let_target] = STATE(823), + [sym_pattern_sequence] = STATE(823), + [sym__pattern] = STATE(746), + [sym_function_definition] = STATE(554), + [sym_struct_definition] = STATE(554), + [sym__expression] = STATE(554), + [sym_parenthesized_expression] = STATE(553), + [sym_unit] = STATE(554), + [sym_tuple] = STATE(553), + [sym_assignment] = STATE(554), + [sym_augmented_assignment] = STATE(554), + [sym_cast_expression] = STATE(554), + [sym_unary_expression] = STATE(554), + [sym_not_expression] = STATE(554), + [sym_binary_expression] = STATE(554), + [sym_range_expression] = STATE(554), + [sym_call] = STATE(554), + [sym_index] = STATE(553), + [sym_member_expression] = STATE(554), + [sym_list] = STATE(553), + [sym_list_comprehension] = STATE(554), + [sym_map] = STATE(554), + [sym_map_comprehension] = STATE(554), + [sym__comprehension_clause] = STATE(639), + [sym_if_expression] = STATE(554), + [sym_while_expression] = STATE(554), + [sym_for_expression] = STATE(554), + [sym_for_binding] = STATE(639), + [sym_if_guard] = STATE(639), + [sym_block] = STATE(554), + [sym_return_expression] = STATE(554), + [sym__literal] = STATE(554), + [sym_boolean] = STATE(554), + [sym_special_constant] = STATE(554), + [sym_string] = STATE(554), + [sym_identifier] = ACTIONS(625), + [anon_sym_pure] = ACTIONS(163), + [anon_sym_fn] = ACTIONS(165), + [anon_sym_LPAREN] = ACTIONS(67), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_BANG] = ACTIONS(629), + [anon_sym_DASH] = ACTIONS(629), + [anon_sym_TILDE] = ACTIONS(629), + [anon_sym_not] = ACTIONS(631), + [anon_sym_DOT_DOT] = ACTIONS(633), + [anon_sym_DOT_DOT_EQ] = ACTIONS(635), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_PERCENT_LBRACE] = ACTIONS(83), + [anon_sym_for] = ACTIONS(85), + [anon_sym_if] = ACTIONS(661), + [anon_sym_while] = ACTIONS(89), + [anon_sym_return] = ACTIONS(169), + [sym_break_expression] = ACTIONS(639), + [sym_continue_expression] = ACTIONS(639), + [sym_integer] = ACTIONS(639), + [sym_float] = ACTIONS(639), + [sym_complex] = ACTIONS(641), + [anon_sym_true] = ACTIONS(95), + [anon_sym_false] = ACTIONS(95), + [anon_sym_Inf] = ACTIONS(97), + [anon_sym_NaN] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + [sym_raw_string] = ACTIONS(641), + }, + [117] = { + [sym__let_target] = STATE(823), + [sym_pattern_sequence] = STATE(823), + [sym__pattern] = STATE(746), + [sym_function_definition] = STATE(554), + [sym_struct_definition] = STATE(554), + [sym__expression] = STATE(554), + [sym_parenthesized_expression] = STATE(553), + [sym_unit] = STATE(554), + [sym_tuple] = STATE(553), + [sym_assignment] = STATE(554), + [sym_augmented_assignment] = STATE(554), + [sym_cast_expression] = STATE(554), + [sym_unary_expression] = STATE(554), + [sym_not_expression] = STATE(554), + [sym_binary_expression] = STATE(554), + [sym_range_expression] = STATE(554), + [sym_call] = STATE(554), + [sym_index] = STATE(553), + [sym_member_expression] = STATE(554), + [sym_list] = STATE(553), + [sym_list_comprehension] = STATE(554), + [sym_map] = STATE(554), + [sym_map_comprehension] = STATE(554), + [sym__comprehension_clause] = STATE(641), + [sym_if_expression] = STATE(554), + [sym_while_expression] = STATE(554), + [sym_for_expression] = STATE(554), + [sym_for_binding] = STATE(641), + [sym_if_guard] = STATE(641), + [sym_block] = STATE(554), + [sym_return_expression] = STATE(554), + [sym__literal] = STATE(554), + [sym_boolean] = STATE(554), + [sym_special_constant] = STATE(554), + [sym_string] = STATE(554), + [sym_identifier] = ACTIONS(625), + [anon_sym_pure] = ACTIONS(163), + [anon_sym_fn] = ACTIONS(165), + [anon_sym_LPAREN] = ACTIONS(67), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_BANG] = ACTIONS(629), + [anon_sym_DASH] = ACTIONS(629), + [anon_sym_TILDE] = ACTIONS(629), + [anon_sym_not] = ACTIONS(631), + [anon_sym_DOT_DOT] = ACTIONS(633), + [anon_sym_DOT_DOT_EQ] = ACTIONS(635), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_PERCENT_LBRACE] = ACTIONS(83), + [anon_sym_for] = ACTIONS(85), + [anon_sym_if] = ACTIONS(661), + [anon_sym_while] = ACTIONS(89), + [anon_sym_return] = ACTIONS(169), + [sym_break_expression] = ACTIONS(639), + [sym_continue_expression] = ACTIONS(639), + [sym_integer] = ACTIONS(639), + [sym_float] = ACTIONS(639), + [sym_complex] = ACTIONS(641), + [anon_sym_true] = ACTIONS(95), + [anon_sym_false] = ACTIONS(95), + [anon_sym_Inf] = ACTIONS(97), + [anon_sym_NaN] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + [sym_raw_string] = ACTIONS(641), + }, + [118] = { + [sym__let_target] = STATE(804), + [sym_pattern_sequence] = STATE(804), + [sym__pattern] = STATE(746), + [sym_function_definition] = STATE(554), + [sym_struct_definition] = STATE(554), + [sym__expression] = STATE(554), + [sym_parenthesized_expression] = STATE(553), + [sym_unit] = STATE(554), + [sym_tuple] = STATE(553), + [sym_assignment] = STATE(554), + [sym_augmented_assignment] = STATE(554), + [sym_cast_expression] = STATE(554), + [sym_unary_expression] = STATE(554), + [sym_not_expression] = STATE(554), + [sym_binary_expression] = STATE(554), + [sym_range_expression] = STATE(554), + [sym_call] = STATE(554), + [sym_index] = STATE(553), + [sym_member_expression] = STATE(554), + [sym_list] = STATE(553), + [sym_list_comprehension] = STATE(554), + [sym_map] = STATE(554), + [sym_map_comprehension] = STATE(554), + [sym__comprehension_clause] = STATE(641), + [sym_if_expression] = STATE(554), + [sym_while_expression] = STATE(554), + [sym_for_expression] = STATE(554), + [sym_for_binding] = STATE(641), + [sym_if_guard] = STATE(641), + [sym_block] = STATE(554), + [sym_return_expression] = STATE(554), + [sym__literal] = STATE(554), + [sym_boolean] = STATE(554), + [sym_special_constant] = STATE(554), + [sym_string] = STATE(554), + [sym_identifier] = ACTIONS(625), + [anon_sym_pure] = ACTIONS(163), + [anon_sym_fn] = ACTIONS(165), + [anon_sym_LPAREN] = ACTIONS(67), + [anon_sym_struct] = ACTIONS(69), + [anon_sym_LBRACE] = ACTIONS(71), + [anon_sym_BANG] = ACTIONS(629), + [anon_sym_DASH] = ACTIONS(629), + [anon_sym_TILDE] = ACTIONS(629), + [anon_sym_not] = ACTIONS(631), + [anon_sym_DOT_DOT] = ACTIONS(633), + [anon_sym_DOT_DOT_EQ] = ACTIONS(635), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_PERCENT_LBRACE] = ACTIONS(83), + [anon_sym_for] = ACTIONS(85), + [anon_sym_if] = ACTIONS(637), + [anon_sym_while] = ACTIONS(89), + [anon_sym_return] = ACTIONS(169), + [sym_break_expression] = ACTIONS(639), + [sym_continue_expression] = ACTIONS(639), + [sym_integer] = ACTIONS(639), + [sym_float] = ACTIONS(639), + [sym_complex] = ACTIONS(641), + [anon_sym_true] = ACTIONS(95), + [anon_sym_false] = ACTIONS(95), + [anon_sym_Inf] = ACTIONS(97), + [anon_sym_NaN] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + [sym_raw_string] = ACTIONS(641), + }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 27, + [0] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -12171,71 +13536,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, ACTIONS(85), 1, anon_sym_for, + ACTIONS(87), 1, + anon_sym_if, ACTIONS(89), 1, anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(584), 1, - sym_identifier, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(616), 1, - anon_sym_if, - STATE(699), 1, - sym__pattern, + ACTIONS(115), 1, + anon_sym_return, + ACTIONS(665), 1, + anon_sym_COLON, + ACTIONS(667), 1, + anon_sym_RBRACE, + STATE(621), 1, + sym_map_entry, + STATE(787), 1, + sym_map_default, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(600), 2, + ACTIONS(671), 2, sym_raw_string, sym_complex, - STATE(779), 2, - sym__let_target, - sym_pattern_sequence, - ACTIONS(588), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - STATE(616), 3, - sym__comprehension_clause, - sym_for_binding, - sym_if_guard, - ACTIONS(598), 4, + ACTIONS(663), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, - STATE(534), 4, - sym_parenthesized_expression, - sym_tuple, - sym_index, - sym_list, - STATE(533), 24, + sym_identifier, + STATE(454), 29, sym_function_definition, sym_struct_definition, sym__expression, + sym_parenthesized_expression, sym_unit, + sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, sym_range_expression, sym_call, + sym_index, sym_member_expression, + sym_list, sym_list_comprehension, sym_map, sym_map_comprehension, @@ -12248,7 +13611,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [119] = 27, + [116] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -12263,71 +13626,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, ACTIONS(85), 1, anon_sym_for, + ACTIONS(87), 1, + anon_sym_if, ACTIONS(89), 1, anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(584), 1, - sym_identifier, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(596), 1, - anon_sym_if, - STATE(699), 1, - sym__pattern, + ACTIONS(115), 1, + anon_sym_return, + ACTIONS(665), 1, + anon_sym_COLON, + ACTIONS(673), 1, + anon_sym_RBRACE, + STATE(614), 1, + sym_map_entry, + STATE(777), 1, + sym_map_default, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(600), 2, + ACTIONS(671), 2, sym_raw_string, sym_complex, - STATE(758), 2, - sym__let_target, - sym_pattern_sequence, - ACTIONS(588), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - STATE(604), 3, - sym__comprehension_clause, - sym_for_binding, - sym_if_guard, - ACTIONS(598), 4, + ACTIONS(663), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, - STATE(534), 4, - sym_parenthesized_expression, - sym_tuple, - sym_index, - sym_list, - STATE(533), 24, + sym_identifier, + STATE(454), 29, sym_function_definition, sym_struct_definition, sym__expression, + sym_parenthesized_expression, sym_unit, + sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, sym_range_expression, sym_call, + sym_index, sym_member_expression, + sym_list, sym_list_comprehension, sym_map, sym_map_comprehension, @@ -12340,7 +13701,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [238] = 27, + [232] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -12355,71 +13716,66 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, ACTIONS(85), 1, anon_sym_for, + ACTIONS(87), 1, + anon_sym_if, ACTIONS(89), 1, anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(584), 1, - sym_identifier, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(596), 1, - anon_sym_if, - STATE(699), 1, - sym__pattern, + ACTIONS(115), 1, + anon_sym_return, + ACTIONS(677), 1, + anon_sym_RBRACK, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(600), 2, + ACTIONS(679), 2, sym_raw_string, sym_complex, - STATE(758), 2, - sym__let_target, - sym_pattern_sequence, - ACTIONS(588), 3, + STATE(779), 2, + sym__expression_or_sequence, + sym_tuple_expression, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - STATE(616), 3, - sym__comprehension_clause, - sym_for_binding, - sym_if_guard, - ACTIONS(598), 4, + ACTIONS(675), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, - STATE(534), 4, - sym_parenthesized_expression, - sym_tuple, - sym_index, - sym_list, - STATE(533), 24, + sym_identifier, + STATE(478), 29, sym_function_definition, sym_struct_definition, sym__expression, + sym_parenthesized_expression, sym_unit, + sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, sym_range_expression, sym_call, + sym_index, sym_member_expression, + sym_list, sym_list_comprehension, sym_map, sym_map_comprehension, @@ -12432,7 +13788,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [357] = 27, + [343] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -12447,6 +13803,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, ACTIONS(85), 1, anon_sym_for, + ACTIONS(87), 1, + anon_sym_if, ACTIONS(89), 1, anon_sym_while, ACTIONS(99), 1, @@ -12457,17 +13815,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(584), 1, - sym_identifier, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(616), 1, - anon_sym_if, - STATE(699), 1, + ACTIONS(681), 1, + sym_identifier, + STATE(657), 1, sym__pattern, ACTIONS(95), 2, anon_sym_true, @@ -12475,37 +13831,34 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(600), 2, + ACTIONS(641), 2, sym_raw_string, sym_complex, - STATE(779), 2, + STATE(786), 2, sym__let_target, sym_pattern_sequence, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - STATE(602), 3, - sym__comprehension_clause, - sym_for_binding, - sym_if_guard, - ACTIONS(598), 4, + ACTIONS(639), 4, sym_break_expression, sym_continue_expression, sym_integer, sym_float, - STATE(534), 4, + STATE(547), 4, sym_parenthesized_expression, sym_tuple, sym_index, sym_list, - STATE(533), 24, + STATE(554), 25, sym_function_definition, sym_struct_definition, sym__expression, sym_unit, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -12524,7 +13877,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [476] = 27, + [458] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -12539,71 +13892,66 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, ACTIONS(85), 1, anon_sym_for, + ACTIONS(87), 1, + anon_sym_if, ACTIONS(89), 1, anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(584), 1, - sym_identifier, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(616), 1, - anon_sym_if, - STATE(699), 1, - sym__pattern, + ACTIONS(115), 1, + anon_sym_return, + ACTIONS(685), 1, + anon_sym_RBRACK, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(600), 2, + ACTIONS(687), 2, sym_raw_string, sym_complex, - STATE(779), 2, - sym__let_target, - sym_pattern_sequence, - ACTIONS(588), 3, + STATE(794), 2, + sym__expression_or_sequence, + sym_tuple_expression, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - STATE(633), 3, - sym__comprehension_clause, - sym_for_binding, - sym_if_guard, - ACTIONS(598), 4, + ACTIONS(683), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, - STATE(534), 4, - sym_parenthesized_expression, - sym_tuple, - sym_index, - sym_list, - STATE(533), 24, + sym_identifier, + STATE(475), 29, sym_function_definition, sym_struct_definition, sym__expression, + sym_parenthesized_expression, sym_unit, + sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, sym_range_expression, sym_call, + sym_index, sym_member_expression, + sym_list, sym_list_comprehension, sym_map, sym_map_comprehension, @@ -12616,15 +13964,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [595] = 26, + [569] = 24, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -12635,48 +13993,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, - ACTIONS(620), 1, - anon_sym_COLON, - ACTIONS(622), 1, + ACTIONS(691), 1, anon_sym_RBRACE, - STATE(586), 1, + STATE(795), 1, sym_map_entry, - STATE(750), 1, - sym_map_default, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(626), 2, + ACTIONS(695), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(618), 5, + ACTIONS(689), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(434), 28, + STATE(490), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -12685,6 +14029,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -12705,15 +14050,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [710] = 26, + [679] = 24, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -12724,48 +14079,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, - ACTIONS(620), 1, - anon_sym_COLON, - ACTIONS(628), 1, + ACTIONS(697), 1, anon_sym_RBRACE, - STATE(593), 1, + STATE(795), 1, sym_map_entry, - STATE(753), 1, - sym_map_default, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(626), 2, + ACTIONS(695), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(618), 5, + ACTIONS(689), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(434), 28, + STATE(490), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -12774,6 +14115,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -12794,15 +14136,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [825] = 24, + [789] = 24, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -12813,45 +14165,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, - ACTIONS(632), 1, - anon_sym_RBRACK, + ACTIONS(701), 1, + anon_sym_COMMA, + ACTIONS(703), 1, + anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(634), 2, + ACTIONS(705), 2, sym_raw_string, sym_complex, - STATE(746), 2, - sym__expression_or_sequence, - sym_tuple_expression, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(630), 5, + ACTIONS(699), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(433), 28, + STATE(482), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -12860,6 +14201,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -12880,15 +14222,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [935] = 26, + [899] = 24, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -12899,63 +14251,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, - anon_sym_pure, - ACTIONS(165), 1, - anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, - anon_sym_not, - ACTIONS(592), 1, - anon_sym_DOT_DOT, - ACTIONS(594), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(636), 1, - sym_identifier, - STATE(606), 1, - sym__pattern, + ACTIONS(709), 1, + anon_sym_COMMA, + ACTIONS(711), 1, + anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(600), 2, + ACTIONS(713), 2, sym_raw_string, sym_complex, - STATE(736), 2, - sym__let_target, - sym_pattern_sequence, - ACTIONS(588), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(598), 4, + ACTIONS(707), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, - STATE(528), 4, - sym_parenthesized_expression, - sym_tuple, - sym_index, - sym_list, - STATE(533), 24, + sym_identifier, + STATE(488), 29, sym_function_definition, sym_struct_definition, sym__expression, + sym_parenthesized_expression, sym_unit, + sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, sym_range_expression, sym_call, + sym_index, sym_member_expression, + sym_list, sym_list_comprehension, sym_map, sym_map_comprehension, @@ -12968,15 +14308,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1049] = 24, + [1009] = 24, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -12987,45 +14337,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, - ACTIONS(640), 1, - anon_sym_RBRACK, + ACTIONS(715), 1, + anon_sym_RBRACE, + STATE(795), 1, + sym_map_entry, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(642), 2, + ACTIONS(695), 2, sym_raw_string, sym_complex, - STATE(748), 2, - sym__expression_or_sequence, - sym_tuple_expression, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(638), 5, + ACTIONS(689), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(457), 28, + STATE(490), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13034,6 +14373,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13054,62 +14394,62 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1159] = 23, + [1119] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(143), 2, + ACTIONS(59), 2, sym_raw_string, sym_complex, - STATE(340), 2, + STATE(104), 2, sym__expression_or_sequence, sym_tuple_expression, - ACTIONS(644), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(127), 5, + ACTIONS(53), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(389), 28, + STATE(15), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13118,6 +14458,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13138,7 +14479,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1266] = 23, + [1227] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -13171,29 +14512,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(717), 1, + anon_sym_RBRACE, + STATE(795), 1, + sym_map_entry, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(151), 2, + ACTIONS(695), 2, sym_raw_string, sym_complex, - STATE(340), 2, - sym__expression_or_sequence, - sym_tuple_expression, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(149), 5, + ACTIONS(689), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(467), 28, + STATE(490), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13202,6 +14544,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13222,7 +14565,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1373] = 24, + [1337] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -13255,9 +14598,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(650), 1, + ACTIONS(719), 1, anon_sym_RBRACE, - STATE(749), 1, + STATE(795), 1, sym_map_entry, ACTIONS(95), 2, anon_sym_true, @@ -13265,20 +14608,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, + ACTIONS(695), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(689), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(490), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13287,6 +14630,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13307,7 +14651,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1482] = 24, + [1447] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -13340,30 +14684,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(656), 1, - anon_sym_COMMA, - ACTIONS(658), 1, - anon_sym_RPAREN, + ACTIONS(721), 1, + anon_sym_RBRACE, + STATE(795), 1, + sym_map_entry, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(660), 2, + ACTIONS(695), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(654), 5, + ACTIONS(689), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(470), 28, + STATE(490), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13372,6 +14716,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13392,7 +14737,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1591] = 24, + [1557] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -13425,30 +14770,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(662), 1, - anon_sym_RBRACE, - STATE(749), 1, - sym_map_entry, + ACTIONS(93), 2, + sym_raw_string, + sym_complex, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, - sym_raw_string, - sym_complex, - ACTIONS(646), 3, + STATE(357), 2, + sym__expression_or_sequence, + sym_tuple_expression, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(61), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(373), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13457,6 +14801,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13477,7 +14822,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1700] = 24, + [1665] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -13510,30 +14855,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(664), 1, - anon_sym_RBRACE, - STATE(749), 1, - sym_map_entry, + ACTIONS(93), 2, + sym_raw_string, + sym_complex, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, - sym_raw_string, - sym_complex, - ACTIONS(646), 3, + STATE(359), 2, + sym__expression_or_sequence, + sym_tuple_expression, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(61), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(373), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13542,6 +14886,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13562,25 +14907,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1809] = 24, + [1773] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -13591,34 +14926,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(666), 1, - anon_sym_RBRACE, - STATE(749), 1, - sym_map_entry, + ACTIONS(103), 1, + anon_sym_pure, + ACTIONS(105), 1, + anon_sym_fn, + ACTIONS(109), 1, + anon_sym_not, + ACTIONS(111), 1, + anon_sym_DOT_DOT, + ACTIONS(113), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, + ACTIONS(117), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + STATE(357), 2, + sym__expression_or_sequence, + sym_tuple_expression, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(101), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(393), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13627,6 +14971,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13647,25 +14992,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [1918] = 24, + [1881] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -13676,34 +15011,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(668), 1, - anon_sym_RBRACE, - STATE(749), 1, - sym_map_entry, + ACTIONS(103), 1, + anon_sym_pure, + ACTIONS(105), 1, + anon_sym_fn, + ACTIONS(109), 1, + anon_sym_not, + ACTIONS(111), 1, + anon_sym_DOT_DOT, + ACTIONS(113), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, + ACTIONS(117), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + STATE(359), 2, + sym__expression_or_sequence, + sym_tuple_expression, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(101), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(393), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13712,6 +15056,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13732,25 +15077,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2027] = 24, + [1989] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -13761,34 +15096,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(670), 1, - anon_sym_RBRACE, - STATE(749), 1, - sym_map_entry, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, + ACTIONS(159), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + STATE(357), 2, + sym__expression_or_sequence, + sym_tuple_expression, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(157), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(487), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13797,6 +15141,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13817,25 +15162,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2136] = 24, + [2097] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -13846,34 +15181,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(672), 1, - anon_sym_RBRACE, - STATE(749), 1, - sym_map_entry, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, + ACTIONS(159), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + STATE(359), 2, + sym__expression_or_sequence, + sym_tuple_expression, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(157), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(487), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13882,6 +15226,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13902,25 +15247,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2245] = 23, + [2205] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -13931,33 +15266,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(93), 2, - sym_raw_string, - sym_complex, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - STATE(339), 2, + ACTIONS(143), 2, + sym_raw_string, + sym_complex, + STATE(357), 2, sym__expression_or_sequence, sym_tuple_expression, - ACTIONS(646), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(61), 5, + ACTIONS(127), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(346), 28, + STATE(447), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -13966,6 +15311,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -13986,25 +15332,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2352] = 23, + [2313] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -14015,33 +15351,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(93), 2, - sym_raw_string, - sym_complex, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - STATE(340), 2, + ACTIONS(143), 2, + sym_raw_string, + sym_complex, + STATE(359), 2, sym__expression_or_sequence, sym_tuple_expression, - ACTIONS(646), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(61), 5, + ACTIONS(127), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(346), 28, + STATE(447), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14050,6 +15396,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14070,62 +15417,62 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2459] = 23, + [2421] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(117), 2, + ACTIONS(59), 2, sym_raw_string, sym_complex, - STATE(339), 2, + STATE(103), 2, sym__expression_or_sequence, sym_tuple_expression, - ACTIONS(624), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(101), 5, + ACTIONS(53), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(364), 28, + STATE(15), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14134,6 +15481,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14154,15 +15502,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2566] = 23, + [2529] = 23, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -14173,43 +15531,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(117), 2, + ACTIONS(151), 2, sym_raw_string, sym_complex, - STATE(340), 2, + STATE(357), 2, sym__expression_or_sequence, sym_tuple_expression, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(101), 5, + ACTIONS(149), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(364), 28, + STATE(481), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14218,6 +15566,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14238,62 +15587,62 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2673] = 23, + [2637] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(43), 2, + sym_raw_string, + sym_complex, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(159), 2, - sym_raw_string, - sym_complex, - STATE(339), 2, + STATE(562), 2, sym__expression_or_sequence, sym_tuple_expression, - ACTIONS(644), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(157), 5, + ACTIONS(7), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(463), 28, + STATE(14), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14302,6 +15651,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14322,15 +15672,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2780] = 23, + [2745] = 23, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -14341,43 +15701,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(159), 2, + ACTIONS(151), 2, sym_raw_string, sym_complex, - STATE(340), 2, + STATE(359), 2, sym__expression_or_sequence, sym_tuple_expression, - ACTIONS(644), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(157), 5, + ACTIONS(149), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(463), 28, + STATE(481), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14386,6 +15736,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14406,15 +15757,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2887] = 23, + [2853] = 24, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -14425,43 +15786,119 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, + ACTIONS(725), 1, + anon_sym_RBRACE, + STATE(795), 1, + sym_map_entry, + ACTIONS(95), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(97), 2, + anon_sym_Inf, + anon_sym_NaN, + ACTIONS(695), 2, + sym_raw_string, + sym_complex, + ACTIONS(693), 3, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_TILDE, + ACTIONS(689), 5, + sym_break_expression, + sym_continue_expression, + sym_integer, + sym_float, + sym_identifier, + STATE(490), 29, + sym_function_definition, + sym_struct_definition, + sym__expression, + sym_parenthesized_expression, + sym_unit, + sym_tuple, + sym_assignment, + sym_augmented_assignment, + sym_cast_expression, + sym_unary_expression, + sym_not_expression, + sym_binary_expression, + sym_range_expression, + sym_call, + sym_index, + sym_member_expression, + sym_list, + sym_list_comprehension, + sym_map, + sym_map_comprehension, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_block, + sym_return_expression, + sym__literal, + sym_boolean, + sym_special_constant, + sym_string, + [2963] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13), 1, anon_sym_pure, - ACTIONS(131), 1, + ACTIONS(15), 1, anon_sym_fn, - ACTIONS(135), 1, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_struct, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(25), 1, anon_sym_not, - ACTIONS(137), 1, + ACTIONS(27), 1, anon_sym_DOT_DOT, - ACTIONS(139), 1, + ACTIONS(29), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, + ACTIONS(31), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_PERCENT_LBRACE, + ACTIONS(35), 1, + anon_sym_for, + ACTIONS(37), 1, + anon_sym_if, + ACTIONS(39), 1, + anon_sym_while, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(43), 2, + sym_raw_string, + sym_complex, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(143), 2, - sym_raw_string, - sym_complex, - STATE(339), 2, + STATE(560), 2, sym__expression_or_sequence, sym_tuple_expression, - ACTIONS(644), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(127), 5, + ACTIONS(7), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(389), 28, + STATE(14), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14470,6 +15907,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14490,7 +15928,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [2994] = 24, + [3071] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -14523,30 +15961,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(676), 1, - anon_sym_COMMA, - ACTIONS(678), 1, - anon_sym_RPAREN, + ACTIONS(727), 1, + anon_sym_RBRACE, + STATE(795), 1, + sym_map_entry, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(680), 2, + ACTIONS(695), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(674), 5, + ACTIONS(689), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(465), 28, + STATE(490), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14555,6 +15993,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14575,62 +16014,61 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3103] = 23, + [3181] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(43), 2, - sym_raw_string, - sym_complex, - ACTIONS(45), 2, + ACTIONS(103), 1, + anon_sym_pure, + ACTIONS(105), 1, + anon_sym_fn, + ACTIONS(109), 1, + anon_sym_not, + ACTIONS(111), 1, + anon_sym_DOT_DOT, + ACTIONS(113), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, + ACTIONS(731), 1, + anon_sym_RBRACK, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - STATE(540), 2, - sym__expression_or_sequence, - sym_tuple_expression, - ACTIONS(23), 3, + ACTIONS(733), 2, + sym_raw_string, + sym_complex, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(7), 5, + ACTIONS(729), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(15), 28, + STATE(445), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14639,6 +16077,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14659,62 +16098,61 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3210] = 23, + [3288] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(63), 1, anon_sym_pure, - ACTIONS(15), 1, + ACTIONS(65), 1, anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, + ACTIONS(75), 1, anon_sym_not, - ACTIONS(27), 1, + ACTIONS(77), 1, anon_sym_DOT_DOT, - ACTIONS(29), 1, + ACTIONS(79), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, + ACTIONS(91), 1, anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(737), 1, + anon_sym_RPAREN, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(59), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - STATE(93), 2, - sym__expression_or_sequence, - sym_tuple_expression, - ACTIONS(23), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(53), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(14), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14723,6 +16161,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14743,62 +16182,61 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3317] = 23, + [3395] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(63), 1, anon_sym_pure, - ACTIONS(15), 1, + ACTIONS(65), 1, anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, + ACTIONS(75), 1, anon_sym_not, - ACTIONS(27), 1, + ACTIONS(77), 1, anon_sym_DOT_DOT, - ACTIONS(29), 1, + ACTIONS(79), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, + ACTIONS(91), 1, anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(741), 1, + anon_sym_RPAREN, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(59), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - STATE(94), 2, - sym__expression_or_sequence, - sym_tuple_expression, - ACTIONS(23), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(53), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(14), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14807,6 +16245,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14827,7 +16266,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3424] = 24, + [3502] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -14860,30 +16299,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(682), 1, - anon_sym_RBRACE, - STATE(749), 1, - sym_map_entry, + ACTIONS(743), 1, + anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14892,6 +16329,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14912,7 +16350,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3533] = 23, + [3609] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -14945,29 +16383,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(747), 1, + anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(151), 2, + ACTIONS(749), 2, sym_raw_string, sym_complex, - STATE(339), 2, - sym__expression_or_sequence, - sym_tuple_expression, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(149), 5, + ACTIONS(745), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(467), 28, + STATE(496), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -14976,6 +16413,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -14996,62 +16434,61 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3640] = 23, + [3716] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(63), 1, anon_sym_pure, - ACTIONS(15), 1, + ACTIONS(65), 1, anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, + ACTIONS(75), 1, anon_sym_not, - ACTIONS(27), 1, + ACTIONS(77), 1, anon_sym_DOT_DOT, - ACTIONS(29), 1, + ACTIONS(79), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, + ACTIONS(91), 1, anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(43), 2, - sym_raw_string, - sym_complex, - ACTIONS(45), 2, + ACTIONS(753), 1, + anon_sym_RPAREN, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - STATE(539), 2, - sym__expression_or_sequence, - sym_tuple_expression, - ACTIONS(23), 3, + ACTIONS(755), 2, + sym_raw_string, + sym_complex, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(7), 5, + ACTIONS(751), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(15), 28, + STATE(499), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15060,6 +16497,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15080,15 +16518,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3747] = 23, + [3823] = 23, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -15099,42 +16547,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, - ACTIONS(686), 1, - anon_sym_RBRACK, + ACTIONS(757), 1, + anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(688), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(684), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(380), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15143,6 +16581,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15163,7 +16602,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3853] = 23, + [3930] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -15196,28 +16635,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - STATE(749), 1, - sym_map_entry, + ACTIONS(761), 1, + anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(652), 2, + ACTIONS(763), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(648), 5, + ACTIONS(759), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(469), 28, + STATE(483), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15226,6 +16665,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15246,7 +16686,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [3959] = 23, + [4037] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -15279,28 +16719,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(692), 1, - anon_sym_RPAREN, + ACTIONS(765), 1, + anon_sym_RBRACK, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15309,6 +16749,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15329,7 +16770,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4065] = 23, + [4144] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -15362,28 +16803,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(696), 1, - anon_sym_RPAREN, + ACTIONS(767), 1, + anon_sym_RBRACK, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15392,6 +16833,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15412,7 +16854,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4171] = 23, + [4251] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -15445,7 +16887,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(700), 1, + ACTIONS(769), 1, anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, @@ -15453,20 +16895,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(702), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(698), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(479), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15475,6 +16917,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15495,7 +16938,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4277] = 23, + [4358] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -15528,28 +16971,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(706), 1, - anon_sym_RBRACK, + ACTIONS(771), 1, + anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(708), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(704), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(464), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15558,6 +17001,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15578,7 +17022,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4383] = 23, + [4465] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -15611,7 +17055,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_EQ, ACTIONS(115), 1, anon_sym_return, - ACTIONS(710), 1, + ACTIONS(773), 1, anon_sym_RBRACK, ACTIONS(95), 2, anon_sym_true, @@ -15619,20 +17063,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(688), 2, + ACTIONS(733), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(684), 5, + ACTIONS(729), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(380), 28, + STATE(445), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15641,6 +17085,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15661,7 +17106,93 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4489] = 23, + [4572] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(67), 1, + anon_sym_LPAREN, + ACTIONS(69), 1, + anon_sym_struct, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + anon_sym_LBRACK, + ACTIONS(83), 1, + anon_sym_PERCENT_LBRACE, + ACTIONS(85), 1, + anon_sym_for, + ACTIONS(87), 1, + anon_sym_if, + ACTIONS(89), 1, + anon_sym_while, + ACTIONS(99), 1, + anon_sym_DQUOTE, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(681), 1, + sym_identifier, + STATE(642), 1, + sym__pattern, + ACTIONS(95), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(97), 2, + anon_sym_Inf, + anon_sym_NaN, + ACTIONS(641), 2, + sym_raw_string, + sym_complex, + ACTIONS(629), 3, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_TILDE, + ACTIONS(639), 4, + sym_break_expression, + sym_continue_expression, + sym_integer, + sym_float, + STATE(547), 4, + sym_parenthesized_expression, + sym_tuple, + sym_index, + sym_list, + STATE(554), 25, + sym_function_definition, + sym_struct_definition, + sym__expression, + sym_unit, + sym_assignment, + sym_augmented_assignment, + sym_cast_expression, + sym_unary_expression, + sym_not_expression, + sym_binary_expression, + sym_range_expression, + sym_call, + sym_member_expression, + sym_list_comprehension, + sym_map, + sym_map_comprehension, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_block, + sym_return_expression, + sym__literal, + sym_boolean, + sym_special_constant, + sym_string, + [4683] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -15694,7 +17225,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(714), 1, + ACTIONS(777), 1, anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, @@ -15702,20 +17233,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(716), 2, + ACTIONS(779), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(712), 5, + ACTIONS(775), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(461), 28, + STATE(485), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15724,6 +17255,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15744,7 +17276,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4595] = 23, + [4790] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -15777,28 +17309,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(718), 1, - anon_sym_RBRACK, + STATE(795), 1, + sym_map_entry, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(695), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(689), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(490), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15807,6 +17339,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15827,25 +17360,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4701] = 23, + [4897] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -15856,11 +17379,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(720), 1, + ACTIONS(103), 1, + anon_sym_pure, + ACTIONS(105), 1, + anon_sym_fn, + ACTIONS(109), 1, + anon_sym_not, + ACTIONS(111), 1, + anon_sym_DOT_DOT, + ACTIONS(113), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, + ACTIONS(781), 1, anon_sym_RBRACK, ACTIONS(95), 2, anon_sym_true, @@ -15868,20 +17401,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(733), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(729), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(445), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15890,6 +17423,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15910,7 +17444,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4807] = 23, + [5004] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -15943,7 +17477,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(722), 1, + ACTIONS(785), 1, anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, @@ -15951,20 +17485,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(787), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(783), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(486), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -15973,6 +17507,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -15993,25 +17528,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [4913] = 23, + [5111] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -16022,32 +17547,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(724), 1, - anon_sym_RPAREN, + ACTIONS(103), 1, + anon_sym_pure, + ACTIONS(105), 1, + anon_sym_fn, + ACTIONS(109), 1, + anon_sym_not, + ACTIONS(111), 1, + anon_sym_DOT_DOT, + ACTIONS(113), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, + ACTIONS(789), 1, + anon_sym_RBRACK, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(733), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(729), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(445), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16056,6 +17591,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16076,25 +17612,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5019] = 23, + [5218] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -16105,32 +17631,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(726), 1, - anon_sym_RPAREN, + ACTIONS(103), 1, + anon_sym_pure, + ACTIONS(105), 1, + anon_sym_fn, + ACTIONS(109), 1, + anon_sym_not, + ACTIONS(111), 1, + anon_sym_DOT_DOT, + ACTIONS(113), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, + STATE(625), 1, + sym_map_entry, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(671), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(663), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(454), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16139,6 +17675,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16159,7 +17696,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5125] = 23, + [5325] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -16192,7 +17729,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(728), 1, + ACTIONS(791), 1, anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, @@ -16200,20 +17737,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16222,6 +17759,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16242,15 +17780,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5231] = 23, + [5432] = 23, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -16261,21 +17809,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, - ACTIONS(730), 1, + ACTIONS(795), 1, anon_sym_RBRACK, ACTIONS(95), 2, anon_sym_true, @@ -16283,20 +17821,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(688), 2, + ACTIONS(797), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(684), 5, + ACTIONS(793), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(380), 28, + STATE(491), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16305,6 +17843,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16325,7 +17864,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5337] = 23, + [5539] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -16346,56 +17885,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, + ACTIONS(163), 1, anon_sym_pure, - ACTIONS(105), 1, + ACTIONS(165), 1, anon_sym_fn, - ACTIONS(109), 1, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(625), 1, + sym_identifier, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(111), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(113), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, - STATE(575), 1, - sym_map_entry, + STATE(642), 1, + sym__pattern, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(626), 2, + ACTIONS(641), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(618), 5, + ACTIONS(639), 4, sym_break_expression, sym_continue_expression, sym_integer, sym_float, - sym_identifier, - STATE(434), 28, + STATE(553), 4, + sym_parenthesized_expression, + sym_tuple, + sym_index, + sym_list, + STATE(554), 25, sym_function_definition, sym_struct_definition, sym__expression, - sym_parenthesized_expression, sym_unit, - sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, sym_range_expression, sym_call, - sym_index, sym_member_expression, - sym_list, sym_list_comprehension, sym_map, sym_map_comprehension, @@ -16408,7 +17950,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5443] = 23, + [5650] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -16441,7 +17983,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(734), 1, + ACTIONS(799), 1, anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, @@ -16449,20 +17991,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(736), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(732), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(462), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16471,6 +18013,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16491,7 +18034,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5549] = 23, + [5757] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -16524,28 +18067,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_EQ, ACTIONS(115), 1, anon_sym_return, - ACTIONS(738), 1, - anon_sym_RBRACK, + STATE(627), 1, + sym_map_entry, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(688), 2, + ACTIONS(671), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(684), 5, + ACTIONS(663), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(380), 28, + STATE(454), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16554,6 +18097,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16574,100 +18118,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5655] = 25, + [5864] = 23, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(81), 1, - anon_sym_LBRACK, - ACTIONS(83), 1, - anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, - anon_sym_for, - ACTIONS(87), 1, - anon_sym_if, - ACTIONS(89), 1, - anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(163), 1, - anon_sym_pure, - ACTIONS(165), 1, - anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(584), 1, - sym_identifier, - ACTIONS(590), 1, + ACTIONS(75), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(77), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(79), 1, anon_sym_DOT_DOT_EQ, - STATE(608), 1, - sym__pattern, - ACTIONS(95), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(97), 2, - anon_sym_Inf, - anon_sym_NaN, - ACTIONS(600), 2, - sym_raw_string, - sym_complex, - ACTIONS(588), 3, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - ACTIONS(598), 4, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - STATE(534), 4, - sym_parenthesized_expression, - sym_tuple, - sym_index, - sym_list, - STATE(533), 24, - sym_function_definition, - sym_struct_definition, - sym__expression, - sym_unit, - sym_assignment, - sym_augmented_assignment, - sym_unary_expression, - sym_not_expression, - sym_binary_expression, - sym_range_expression, - sym_call, - sym_member_expression, - sym_list_comprehension, - sym_map, - sym_map_comprehension, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_block, - sym_return_expression, - sym__literal, - sym_boolean, - sym_special_constant, - sym_string, - [5765] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(67), 1, - anon_sym_LPAREN, - ACTIONS(69), 1, - anon_sym_struct, - ACTIONS(71), 1, - anon_sym_LBRACE, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -16678,42 +18147,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, - STATE(579), 1, - sym_map_entry, + ACTIONS(801), 1, + anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(626), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(618), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(434), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16722,6 +18181,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16742,7 +18202,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5871] = 23, + [5971] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -16775,7 +18235,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(742), 1, + ACTIONS(803), 1, anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, @@ -16783,20 +18243,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(744), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(740), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(480), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16805,6 +18265,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16825,7 +18286,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [5977] = 25, + [6078] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -16846,58 +18307,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(129), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(131), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, + ACTIONS(135), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(137), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(139), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(636), 1, - sym_identifier, - STATE(608), 1, - sym__pattern, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(600), 2, + ACTIONS(807), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(598), 4, + ACTIONS(805), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, - STATE(528), 4, - sym_parenthesized_expression, - sym_tuple, - sym_index, - sym_list, - STATE(533), 24, + sym_identifier, + STATE(458), 29, sym_function_definition, sym_struct_definition, sym__expression, + sym_parenthesized_expression, sym_unit, + sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, sym_range_expression, sym_call, + sym_index, sym_member_expression, + sym_list, sym_list_comprehension, sym_map, sym_map_comprehension, @@ -16910,25 +18368,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6087] = 23, + [6182] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -16939,32 +18387,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(746), 1, - anon_sym_RPAREN, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(811), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(809), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(318), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -16973,6 +18429,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -16993,61 +18450,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6193] = 23, + [6286] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(13), 1, anon_sym_pure, - ACTIONS(65), 1, + ACTIONS(15), 1, anon_sym_fn, - ACTIONS(67), 1, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(75), 1, + ACTIONS(25), 1, anon_sym_not, - ACTIONS(77), 1, + ACTIONS(27), 1, anon_sym_DOT_DOT, - ACTIONS(79), 1, + ACTIONS(29), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(81), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(91), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(99), 1, + ACTIONS(49), 1, anon_sym_DQUOTE, - ACTIONS(748), 1, - anon_sym_RPAREN, - ACTIONS(95), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(815), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(813), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(17), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17056,6 +18511,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17076,25 +18532,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6299] = 23, + [6390] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -17105,32 +18551,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(752), 1, - anon_sym_RPAREN, + ACTIONS(103), 1, + anon_sym_pure, + ACTIONS(105), 1, + anon_sym_fn, + ACTIONS(109), 1, + anon_sym_not, + ACTIONS(111), 1, + anon_sym_DOT_DOT, + ACTIONS(113), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(754), 2, + ACTIONS(819), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(750), 5, + ACTIONS(817), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(471), 28, + STATE(480), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17139,6 +18593,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17159,7 +18614,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6405] = 23, + [6494] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -17192,28 +18647,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(756), 1, - anon_sym_RPAREN, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(739), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(735), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(444), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17222,6 +18675,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17242,25 +18696,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6511] = 23, + [6598] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -17271,32 +18715,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(758), 1, - anon_sym_RPAREN, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(823), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(821), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(523), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17305,6 +18757,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17325,7 +18778,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6617] = 22, + [6702] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -17346,17 +18799,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(175), 1, + ACTIONS(163), 1, anon_sym_pure, - ACTIONS(177), 1, + ACTIONS(165), 1, anon_sym_fn, - ACTIONS(181), 1, + ACTIONS(169), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -17364,20 +18817,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(770), 2, + ACTIONS(827), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(760), 5, + ACTIONS(825), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(523), 28, + STATE(545), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17386,6 +18839,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17406,59 +18860,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6720] = 22, + [6806] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(774), 2, + ACTIONS(831), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(772), 5, + ACTIONS(829), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(19), 28, + STATE(550), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17467,6 +18921,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17487,59 +18942,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6823] = 22, + [6910] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(778), 2, + ACTIONS(835), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(776), 5, + ACTIONS(833), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(28), 28, + STATE(504), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17548,6 +19003,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17568,7 +19024,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [6926] = 22, + [7014] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -17589,38 +19045,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, + ACTIONS(163), 1, anon_sym_pure, - ACTIONS(131), 1, + ACTIONS(165), 1, anon_sym_fn, - ACTIONS(135), 1, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(137), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(139), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(782), 2, + ACTIONS(839), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(780), 5, + ACTIONS(837), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(475), 28, + STATE(505), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17629,6 +19085,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17649,7 +19106,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [7029] = 22, + [7118] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -17676,11 +19133,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -17688,20 +19145,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(786), 2, + ACTIONS(843), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(784), 5, + ACTIONS(841), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(497), 28, + STATE(506), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17710,6 +19167,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17730,132 +19188,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [7132] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(308), 22, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_CARET, - anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(306), 35, - sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_for, - anon_sym_else, - [7197] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(788), 1, - anon_sym_else, - ACTIONS(312), 22, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_CARET, - anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(310), 34, - sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_for, - [7264] = 22, + [7222] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -17882,11 +19215,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -17894,20 +19227,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(792), 2, + ACTIONS(847), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(790), 5, + ACTIONS(845), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(499), 28, + STATE(507), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -17916,6 +19249,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -17936,71 +19270,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [7367] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - STATE(358), 1, - sym_arguments, - ACTIONS(245), 22, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_CARET, - anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(243), 33, - sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_for, - [7436] = 22, + [7326] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -18027,11 +19297,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -18039,20 +19309,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(798), 2, + ACTIONS(851), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(796), 5, + ACTIONS(849), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(500), 28, + STATE(508), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18061,6 +19331,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18081,7 +19352,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [7539] = 22, + [7430] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -18108,11 +19379,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -18120,20 +19391,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(802), 2, + ACTIONS(855), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(800), 5, + ACTIONS(853), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(501), 28, + STATE(509), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18142,6 +19413,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18162,7 +19434,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [7642] = 22, + [7534] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -18189,11 +19461,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -18201,20 +19473,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(806), 2, + ACTIONS(859), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(804), 5, + ACTIONS(857), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(502), 28, + STATE(510), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18223,6 +19495,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18243,7 +19516,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [7745] = 22, + [7638] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -18270,11 +19543,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -18282,20 +19555,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(810), 2, + ACTIONS(863), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(808), 5, + ACTIONS(861), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(503), 28, + STATE(511), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18304,6 +19577,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18324,59 +19598,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [7848] = 22, + [7742] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(163), 1, - anon_sym_pure, - ACTIONS(165), 1, - anon_sym_fn, - ACTIONS(169), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(590), 1, - anon_sym_not, - ACTIONS(592), 1, - anon_sym_DOT_DOT, - ACTIONS(594), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(814), 2, + ACTIONS(867), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(812), 5, + ACTIONS(865), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(504), 28, + STATE(39), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18385,6 +19659,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18405,59 +19680,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [7951] = 22, + [7846] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(163), 1, - anon_sym_pure, - ACTIONS(165), 1, - anon_sym_fn, - ACTIONS(169), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(590), 1, - anon_sym_not, - ACTIONS(592), 1, - anon_sym_DOT_DOT, - ACTIONS(594), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(818), 2, + ACTIONS(871), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(816), 5, + ACTIONS(869), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(483), 28, + STATE(40), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18466,6 +19741,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18486,7 +19762,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8054] = 22, + [7950] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -18525,20 +19801,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(822), 2, + ACTIONS(875), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(820), 5, + ACTIONS(873), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(20), 28, + STATE(27), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18547,6 +19823,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18567,7 +19844,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8157] = 22, + [8054] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -18594,11 +19871,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -18606,20 +19883,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(826), 2, + ACTIONS(879), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(824), 5, + ACTIONS(877), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(505), 28, + STATE(513), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18628,6 +19905,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18648,59 +19926,186 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8260] = 22, + [8158] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(310), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(308), 36, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_struct, - ACTIONS(21), 1, + anon_sym_RPAREN, anon_sym_LBRACE, - ACTIONS(25), 1, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, - ACTIONS(27), 1, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_for, + anon_sym_else, + [8224] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(881), 1, + anon_sym_else, + ACTIONS(314), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, anon_sym_DOT_DOT, - ACTIONS(29), 1, + anon_sym_DOT, + ACTIONS(312), 35, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + anon_sym_RBRACK, + anon_sym_for, + [8292] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(67), 1, + anon_sym_LPAREN, + ACTIONS(69), 1, + anon_sym_struct, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + anon_sym_LBRACK, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(830), 2, + ACTIONS(885), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(828), 5, + ACTIONS(883), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(21), 28, + STATE(514), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18709,6 +20114,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18729,59 +20135,124 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8363] = 22, + [8396] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_struct, - ACTIONS(21), 1, + STATE(379), 1, + sym_arguments, + ACTIONS(247), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(245), 34, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_LBRACE, - ACTIONS(25), 1, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + anon_sym_RBRACK, + anon_sym_for, + [8466] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(67), 1, + anon_sym_LPAREN, + ACTIONS(69), 1, + anon_sym_struct, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + anon_sym_LBRACK, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(834), 2, + ACTIONS(891), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(832), 5, + ACTIONS(889), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(22), 28, + STATE(515), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18790,6 +20261,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18810,7 +20282,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8466] = 22, + [8570] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -18831,38 +20303,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, + ACTIONS(163), 1, anon_sym_pure, - ACTIONS(131), 1, + ACTIONS(165), 1, anon_sym_fn, - ACTIONS(135), 1, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(137), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(139), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(838), 2, + ACTIONS(895), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(836), 5, + ACTIONS(893), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(460), 28, + STATE(516), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18871,6 +20343,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18891,7 +20364,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8569] = 22, + [8674] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -18918,11 +20391,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -18930,20 +20403,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(842), 2, + ACTIONS(899), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(840), 5, + ACTIONS(897), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(532), 28, + STATE(517), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -18952,6 +20425,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -18972,59 +20446,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8672] = 22, + [8778] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(846), 2, + ACTIONS(903), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(844), 5, + ACTIONS(901), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(31), 28, + STATE(518), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19033,6 +20507,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19053,7 +20528,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8775] = 22, + [8882] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -19074,17 +20549,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(175), 1, + ACTIONS(163), 1, anon_sym_pure, - ACTIONS(177), 1, + ACTIONS(165), 1, anon_sym_fn, - ACTIONS(181), 1, + ACTIONS(169), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -19092,20 +20567,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(850), 2, + ACTIONS(907), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(848), 5, + ACTIONS(905), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(477), 28, + STATE(520), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19114,6 +20589,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19134,59 +20610,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8878] = 22, + [8986] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(854), 2, + ACTIONS(911), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(852), 5, + ACTIONS(909), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(32), 28, + STATE(521), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19195,6 +20671,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19215,7 +20692,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [8981] = 22, + [9090] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -19236,17 +20713,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(175), 1, + ACTIONS(163), 1, anon_sym_pure, - ACTIONS(177), 1, + ACTIONS(165), 1, anon_sym_fn, - ACTIONS(181), 1, + ACTIONS(169), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -19254,20 +20731,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(858), 2, + ACTIONS(915), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(856), 5, + ACTIONS(913), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(472), 28, + STATE(522), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19276,6 +20753,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19296,7 +20774,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [9084] = 22, + [9194] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -19335,20 +20813,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(862), 2, + ACTIONS(919), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(860), 5, + ACTIONS(917), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(34), 28, + STATE(41), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19357,6 +20835,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19377,88 +20856,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [9187] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(67), 1, - anon_sym_LPAREN, - ACTIONS(69), 1, - anon_sym_struct, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - anon_sym_LBRACK, - ACTIONS(83), 1, - anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, - anon_sym_for, - ACTIONS(87), 1, - anon_sym_if, - ACTIONS(89), 1, - anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, - ACTIONS(95), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(97), 2, - anon_sym_Inf, - anon_sym_NaN, - ACTIONS(866), 2, - sym_raw_string, - sym_complex, - ACTIONS(644), 3, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - ACTIONS(864), 5, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - sym_identifier, - STATE(424), 28, - sym_function_definition, - sym_struct_definition, - sym__expression, - sym_parenthesized_expression, - sym_unit, - sym_tuple, - sym_assignment, - sym_augmented_assignment, - sym_unary_expression, - sym_not_expression, - sym_binary_expression, - sym_range_expression, - sym_call, - sym_index, - sym_member_expression, - sym_list, - sym_list_comprehension, - sym_map, - sym_map_comprehension, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_block, - sym_return_expression, - sym__literal, - sym_boolean, - sym_special_constant, - sym_string, - [9290] = 22, + [9298] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -19497,20 +20895,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(870), 2, + ACTIONS(923), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(868), 5, + ACTIONS(921), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(35), 28, + STATE(28), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19519,6 +20917,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19539,25 +20938,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [9393] = 22, + [9402] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -19568,30 +20957,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(874), 2, + ACTIONS(927), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(872), 5, + ACTIONS(925), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(529), 28, + STATE(493), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19600,6 +20999,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19620,59 +21020,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [9496] = 22, + [9506] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(13), 1, anon_sym_pure, - ACTIONS(65), 1, + ACTIONS(15), 1, anon_sym_fn, - ACTIONS(67), 1, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(75), 1, + ACTIONS(25), 1, anon_sym_not, - ACTIONS(77), 1, + ACTIONS(27), 1, anon_sym_DOT_DOT, - ACTIONS(79), 1, + ACTIONS(29), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(81), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(91), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(99), 1, + ACTIONS(49), 1, anon_sym_DQUOTE, - ACTIONS(95), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(878), 2, + ACTIONS(931), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(876), 5, + ACTIONS(929), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(474), 28, + STATE(18), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19681,6 +21081,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19701,7 +21102,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [9599] = 22, + [9610] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -19740,20 +21141,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(882), 2, + ACTIONS(935), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(880), 5, + ACTIONS(933), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(25), 28, + STATE(31), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19762,6 +21163,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19782,7 +21184,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [9702] = 22, + [9714] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -19821,20 +21223,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(886), 2, + ACTIONS(939), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(884), 5, + ACTIONS(937), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(26), 28, + STATE(19), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19843,6 +21245,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19863,59 +21266,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [9805] = 22, + [9818] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(890), 2, + ACTIONS(943), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(888), 5, + ACTIONS(941), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(45), 28, + STATE(426), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -19924,6 +21327,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -19944,7 +21348,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [9908] = 22, + [9922] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -19983,20 +21387,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(894), 2, + ACTIONS(947), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(892), 5, + ACTIONS(945), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(37), 28, + STATE(32), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20005,6 +21409,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20025,7 +21430,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10011] = 22, + [10026] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -20064,20 +21469,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(898), 2, + ACTIONS(951), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(896), 5, + ACTIONS(949), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(46), 28, + STATE(20), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20086,6 +21491,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20106,7 +21512,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10114] = 22, + [10130] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -20145,20 +21551,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(902), 2, + ACTIONS(955), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(900), 5, + ACTIONS(953), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(33), 28, + STATE(21), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20167,6 +21573,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20187,7 +21594,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10217] = 22, + [10234] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -20226,20 +21633,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(906), 2, + ACTIONS(959), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(904), 5, + ACTIONS(957), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(16), 28, + STATE(22), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20248,6 +21655,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20268,7 +21676,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10320] = 22, + [10338] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -20307,20 +21715,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(910), 2, + ACTIONS(963), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(908), 5, + ACTIONS(961), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(29), 28, + STATE(37), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20329,6 +21737,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20349,59 +21758,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10423] = 22, + [10442] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(914), 2, + ACTIONS(967), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(912), 5, + ACTIONS(965), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(17), 28, + STATE(519), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20410,6 +21819,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20430,59 +21840,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10526] = 22, + [10546] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(918), 2, + ACTIONS(971), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(916), 5, + ACTIONS(969), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(38), 28, + STATE(489), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20491,6 +21901,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20511,140 +21922,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10629] = 22, + [10650] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(47), 2, - anon_sym_Inf, - anon_sym_NaN, - ACTIONS(922), 2, - sym_raw_string, - sym_complex, - ACTIONS(23), 3, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - ACTIONS(920), 5, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - sym_identifier, - STATE(30), 28, - sym_function_definition, - sym_struct_definition, - sym__expression, - sym_parenthesized_expression, - sym_unit, - sym_tuple, - sym_assignment, - sym_augmented_assignment, - sym_unary_expression, - sym_not_expression, - sym_binary_expression, - sym_range_expression, - sym_call, - sym_index, - sym_member_expression, - sym_list, - sym_list_comprehension, - sym_map, - sym_map_comprehension, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_block, - sym_return_expression, - sym__literal, - sym_boolean, - sym_special_constant, - sym_string, - [10732] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(13), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(15), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_struct, - ACTIONS(21), 1, - anon_sym_LBRACE, - ACTIONS(25), 1, + ACTIONS(181), 1, + anon_sym_return, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(27), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(29), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, - anon_sym_for, - ACTIONS(37), 1, - anon_sym_if, - ACTIONS(39), 1, - anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, - anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(926), 2, + ACTIONS(983), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(924), 5, + ACTIONS(973), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(40), 28, + STATE(495), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20653,6 +21983,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20673,7 +22004,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10835] = 22, + [10754] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -20694,38 +22025,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(105), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(109), 1, + ACTIONS(181), 1, + anon_sym_return, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(111), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(113), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(688), 2, + ACTIONS(987), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(684), 5, + ACTIONS(985), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(380), 28, + STATE(492), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20734,6 +22065,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20754,15 +22086,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [10938] = 22, + [10858] = 22, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -20773,40 +22115,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(930), 2, + ACTIONS(991), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(928), 5, + ACTIONS(989), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(394), 28, + STATE(552), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20815,6 +22147,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20835,59 +22168,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11041] = 22, + [10962] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(934), 2, + ACTIONS(995), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(932), 5, + ACTIONS(993), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(425), 28, + STATE(33), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20896,6 +22229,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20916,59 +22250,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11144] = 22, + [11066] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_pure, - ACTIONS(105), 1, - anon_sym_fn, - ACTIONS(109), 1, - anon_sym_not, - ACTIONS(111), 1, - anon_sym_DOT_DOT, - ACTIONS(113), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(938), 2, + ACTIONS(999), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(936), 5, + ACTIONS(997), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(427), 28, + STATE(34), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -20977,6 +22311,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -20997,7 +22332,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11247] = 22, + [11170] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21036,20 +22371,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(942), 2, + ACTIONS(733), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(940), 5, + ACTIONS(729), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(429), 28, + STATE(445), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21058,6 +22393,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21078,7 +22414,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11350] = 22, + [11274] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21117,20 +22453,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(946), 2, + ACTIONS(1003), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(944), 5, + ACTIONS(1001), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(379), 28, + STATE(400), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21139,6 +22475,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21159,7 +22496,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11453] = 22, + [11378] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21198,20 +22535,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(950), 2, + ACTIONS(1007), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(948), 5, + ACTIONS(1005), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(381), 28, + STATE(401), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21220,6 +22557,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21240,7 +22578,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11556] = 22, + [11482] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21279,20 +22617,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(954), 2, + ACTIONS(1011), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(952), 5, + ACTIONS(1009), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(382), 28, + STATE(404), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21301,6 +22639,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21321,7 +22660,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11659] = 22, + [11586] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21360,20 +22699,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(958), 2, + ACTIONS(1015), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(956), 5, + ACTIONS(1013), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(383), 28, + STATE(406), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21382,6 +22721,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21402,7 +22742,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11762] = 22, + [11690] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21441,20 +22781,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(962), 2, + ACTIONS(1019), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(960), 5, + ACTIONS(1017), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(384), 28, + STATE(412), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21463,6 +22803,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21483,7 +22824,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11865] = 22, + [11794] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21522,20 +22863,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(966), 2, + ACTIONS(1023), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(964), 5, + ACTIONS(1021), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(385), 28, + STATE(449), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21544,6 +22885,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21564,7 +22906,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [11968] = 22, + [11898] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21603,20 +22945,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(970), 2, + ACTIONS(1027), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(968), 5, + ACTIONS(1025), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(466), 28, + STATE(399), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21625,6 +22967,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21645,7 +22988,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [12071] = 22, + [12002] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21666,38 +23009,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(974), 2, + ACTIONS(1031), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(972), 5, + ACTIONS(1029), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(224), 28, + STATE(402), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21706,6 +23049,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21726,7 +23070,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [12174] = 22, + [12106] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21747,38 +23091,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(978), 2, + ACTIONS(1035), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(976), 5, + ACTIONS(1033), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(498), 28, + STATE(403), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21787,6 +23131,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21807,7 +23152,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [12277] = 22, + [12210] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -21828,38 +23173,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(982), 2, + ACTIONS(1039), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(980), 5, + ACTIONS(1037), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(506), 28, + STATE(405), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21868,6 +23213,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21888,7 +23234,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [12380] = 22, + [12314] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -21927,20 +23273,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(986), 2, + ACTIONS(1043), 2, sym_raw_string, sym_complex, ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(984), 5, + ACTIONS(1041), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(41), 28, + STATE(25), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -21949,6 +23295,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -21969,187 +23316,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [12483] = 3, + [12418] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(304), 22, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_CARET, - anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(302), 35, - sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - anon_sym_RPAREN, + ACTIONS(19), 1, + anon_sym_struct, + ACTIONS(21), 1, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, + ACTIONS(25), 1, anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_for, - anon_sym_else, - [12548] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - STATE(331), 1, - sym_arguments, - ACTIONS(281), 21, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_CARET, + ACTIONS(27), 1, anon_sym_DOT_DOT, - ACTIONS(279), 32, - sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, + ACTIONS(29), 1, anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - anon_sym_for, - [12621] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(67), 1, - anon_sym_LPAREN, - ACTIONS(69), 1, - anon_sym_struct, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(994), 2, + ACTIONS(1047), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(992), 5, + ACTIONS(1045), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(451), 28, + STATE(26), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22158,6 +23377,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22178,59 +23398,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [12724] = 22, + [12522] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(175), 1, - anon_sym_pure, - ACTIONS(177), 1, - anon_sym_fn, - ACTIONS(181), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(764), 1, - anon_sym_not, - ACTIONS(766), 1, - anon_sym_DOT_DOT, - ACTIONS(768), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(998), 2, + ACTIONS(1051), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(996), 5, + ACTIONS(1049), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(507), 28, + STATE(16), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22239,6 +23459,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22259,59 +23480,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [12827] = 22, + [12626] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(175), 1, - anon_sym_pure, - ACTIONS(177), 1, - anon_sym_fn, - ACTIONS(181), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(764), 1, - anon_sym_not, - ACTIONS(766), 1, - anon_sym_DOT_DOT, - ACTIONS(768), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1002), 2, + ACTIONS(1055), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1000), 5, + ACTIONS(1053), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(508), 28, + STATE(45), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22320,6 +23541,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22340,59 +23562,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [12930] = 22, + [12730] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(175), 1, - anon_sym_pure, - ACTIONS(177), 1, - anon_sym_fn, - ACTIONS(181), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(764), 1, - anon_sym_not, - ACTIONS(766), 1, - anon_sym_DOT_DOT, - ACTIONS(768), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1006), 2, + ACTIONS(1059), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1004), 5, + ACTIONS(1057), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(509), 28, + STATE(30), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22401,6 +23623,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22421,7 +23644,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13033] = 22, + [12834] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -22442,38 +23665,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(175), 1, + ACTIONS(129), 1, anon_sym_pure, - ACTIONS(177), 1, + ACTIONS(131), 1, anon_sym_fn, - ACTIONS(181), 1, - anon_sym_return, - ACTIONS(764), 1, + ACTIONS(135), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(137), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(139), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1010), 2, + ACTIONS(1063), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1008), 5, + ACTIONS(1061), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(510), 28, + STATE(474), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22482,6 +23705,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22502,7 +23726,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13136] = 22, + [12938] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -22529,11 +23753,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -22541,20 +23765,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1014), 2, + ACTIONS(1067), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1012), 5, + ACTIONS(1065), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(511), 28, + STATE(524), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22563,6 +23787,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22583,7 +23808,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13239] = 22, + [13042] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -22610,11 +23835,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -22622,20 +23847,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1018), 2, + ACTIONS(1071), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1016), 5, + ACTIONS(1069), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(512), 28, + STATE(525), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22644,6 +23869,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22664,7 +23890,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13342] = 22, + [13146] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -22691,11 +23917,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -22703,20 +23929,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1022), 2, + ACTIONS(1075), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1020), 5, + ACTIONS(1073), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(513), 28, + STATE(526), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22725,6 +23951,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22745,7 +23972,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13445] = 22, + [13250] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -22772,11 +23999,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -22784,20 +24011,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1026), 2, + ACTIONS(1079), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1024), 5, + ACTIONS(1077), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(514), 28, + STATE(527), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22806,6 +24033,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22826,7 +24054,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13548] = 22, + [13354] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -22853,11 +24081,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -22865,20 +24093,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1030), 2, + ACTIONS(1083), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1028), 5, + ACTIONS(1081), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(515), 28, + STATE(528), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22887,6 +24115,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22907,7 +24136,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13651] = 22, + [13458] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -22934,11 +24163,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -22946,20 +24175,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1034), 2, + ACTIONS(1087), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1032), 5, + ACTIONS(1085), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(516), 28, + STATE(529), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -22968,6 +24197,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -22988,140 +24218,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13754] = 22, + [13562] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pure, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(17), 1, + ACTIONS(67), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(69), 1, anon_sym_struct, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(25), 1, - anon_sym_not, - ACTIONS(27), 1, - anon_sym_DOT_DOT, - ACTIONS(29), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, + ACTIONS(81), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(83), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(37), 1, + ACTIONS(87), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(89), 1, anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, + ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(45), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(47), 2, - anon_sym_Inf, - anon_sym_NaN, - ACTIONS(1038), 2, - sym_raw_string, - sym_complex, - ACTIONS(23), 3, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - ACTIONS(1036), 5, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - sym_identifier, - STATE(18), 28, - sym_function_definition, - sym_struct_definition, - sym__expression, - sym_parenthesized_expression, - sym_unit, - sym_tuple, - sym_assignment, - sym_augmented_assignment, - sym_unary_expression, - sym_not_expression, - sym_binary_expression, - sym_range_expression, - sym_call, - sym_index, - sym_member_expression, - sym_list, - sym_list_comprehension, - sym_map, - sym_map_comprehension, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_block, - sym_return_expression, - sym__literal, - sym_boolean, - sym_special_constant, - sym_string, - [13857] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(13), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(15), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_struct, - ACTIONS(21), 1, - anon_sym_LBRACE, - ACTIONS(25), 1, + ACTIONS(181), 1, + anon_sym_return, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(27), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(29), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(31), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_PERCENT_LBRACE, - ACTIONS(35), 1, - anon_sym_for, - ACTIONS(37), 1, - anon_sym_if, - ACTIONS(39), 1, - anon_sym_while, - ACTIONS(41), 1, - anon_sym_return, - ACTIONS(49), 1, - anon_sym_DQUOTE, - ACTIONS(45), 2, + ACTIONS(95), 2, anon_sym_true, anon_sym_false, - ACTIONS(47), 2, + ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1042), 2, + ACTIONS(1091), 2, sym_raw_string, sym_complex, - ACTIONS(23), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1040), 5, + ACTIONS(1089), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(27), 28, + STATE(530), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23130,6 +24279,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23150,25 +24300,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [13960] = 22, + [13666] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -23179,30 +24319,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(175), 1, + anon_sym_pure, + ACTIONS(177), 1, + anon_sym_fn, + ACTIONS(181), 1, + anon_sym_return, + ACTIONS(977), 1, + anon_sym_not, + ACTIONS(979), 1, + anon_sym_DOT_DOT, + ACTIONS(981), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(694), 2, + ACTIONS(1095), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(690), 5, + ACTIONS(1093), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(390), 28, + STATE(531), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23211,6 +24361,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23231,7 +24382,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14063] = 22, + [13770] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -23252,17 +24403,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(169), 1, + ACTIONS(181), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -23270,20 +24421,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1046), 2, + ACTIONS(1099), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1044), 5, + ACTIONS(1097), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(485), 28, + STATE(532), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23292,6 +24443,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23312,7 +24464,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14166] = 22, + [13874] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -23333,17 +24485,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(169), 1, + ACTIONS(181), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -23351,20 +24503,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1050), 2, + ACTIONS(1103), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1048), 5, + ACTIONS(1101), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(486), 28, + STATE(533), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23373,6 +24525,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23393,15 +24546,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14269] = 22, + [13978] = 22, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -23412,40 +24575,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(175), 1, - anon_sym_pure, - ACTIONS(177), 1, - anon_sym_fn, - ACTIONS(181), 1, - anon_sym_return, - ACTIONS(764), 1, - anon_sym_not, - ACTIONS(766), 1, - anon_sym_DOT_DOT, - ACTIONS(768), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1054), 2, + ACTIONS(1107), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1052), 5, + ACTIONS(1105), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(481), 28, + STATE(500), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23454,6 +24607,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23474,59 +24628,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14372] = 22, + [14082] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, + ACTIONS(13), 1, + anon_sym_pure, + ACTIONS(15), 1, + anon_sym_fn, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(81), 1, + ACTIONS(25), 1, + anon_sym_not, + ACTIONS(27), 1, + anon_sym_DOT_DOT, + ACTIONS(29), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(175), 1, - anon_sym_pure, - ACTIONS(177), 1, - anon_sym_fn, - ACTIONS(181), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(764), 1, - anon_sym_not, - ACTIONS(766), 1, - anon_sym_DOT_DOT, - ACTIONS(768), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(95), 2, + ACTIONS(49), 1, + anon_sym_DQUOTE, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1058), 2, + ACTIONS(1111), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1056), 5, + ACTIONS(1109), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(482), 28, + STATE(46), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23535,6 +24689,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23555,7 +24710,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14475] = 22, + [14186] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -23582,11 +24737,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -23594,20 +24749,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1062), 2, + ACTIONS(811), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1060), 5, + ACTIONS(809), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(530), 28, + STATE(318), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23616,6 +24771,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23636,25 +24792,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14578] = 22, + [14290] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -23665,30 +24811,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(163), 1, + anon_sym_pure, + ACTIONS(165), 1, + anon_sym_fn, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, + anon_sym_not, + ACTIONS(633), 1, + anon_sym_DOT_DOT, + ACTIONS(635), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1066), 2, + ACTIONS(1115), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1064), 5, + ACTIONS(1113), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(473), 28, + STATE(548), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23697,6 +24853,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23717,7 +24874,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14681] = 22, + [14394] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -23744,11 +24901,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(169), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -23756,20 +24913,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1070), 2, + ACTIONS(1119), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1068), 5, + ACTIONS(1117), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(487), 28, + STATE(549), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23778,6 +24935,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23798,25 +24956,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14784] = 22, + [14498] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -23827,30 +24975,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(175), 1, + anon_sym_pure, + ACTIONS(177), 1, + anon_sym_fn, + ACTIONS(181), 1, + anon_sym_return, + ACTIONS(977), 1, + anon_sym_not, + ACTIONS(979), 1, + anon_sym_DOT_DOT, + ACTIONS(981), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1074), 2, + ACTIONS(1123), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1072), 5, + ACTIONS(1121), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(468), 28, + STATE(501), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23859,6 +25017,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23879,7 +25038,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14887] = 22, + [14602] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -23900,38 +25059,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(105), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(109), 1, + ACTIONS(181), 1, + anon_sym_return, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(111), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(113), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1078), 2, + ACTIONS(1127), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1076), 5, + ACTIONS(1125), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(386), 28, + STATE(502), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -23940,6 +25099,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -23960,7 +25120,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [14990] = 22, + [14706] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -23981,38 +25141,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, + ACTIONS(163), 1, anon_sym_pure, - ACTIONS(105), 1, + ACTIONS(165), 1, anon_sym_fn, - ACTIONS(109), 1, + ACTIONS(169), 1, + anon_sym_return, + ACTIONS(631), 1, anon_sym_not, - ACTIONS(111), 1, + ACTIONS(633), 1, anon_sym_DOT_DOT, - ACTIONS(113), 1, + ACTIONS(635), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1082), 2, + ACTIONS(1131), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(629), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1080), 5, + ACTIONS(1129), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(428), 28, + STATE(503), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24021,6 +25181,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24041,15 +25202,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15093] = 22, + [14810] = 22, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -24060,40 +25231,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, - anon_sym_pure, - ACTIONS(165), 1, - anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, - anon_sym_not, - ACTIONS(592), 1, - anon_sym_DOT_DOT, - ACTIONS(594), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1086), 2, + ACTIONS(1135), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1084), 5, + ACTIONS(1133), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(488), 28, + STATE(498), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24102,6 +25263,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24122,59 +25284,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15196] = 22, + [14914] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(13), 1, anon_sym_pure, - ACTIONS(65), 1, + ACTIONS(15), 1, anon_sym_fn, - ACTIONS(67), 1, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(75), 1, + ACTIONS(25), 1, anon_sym_not, - ACTIONS(77), 1, + ACTIONS(27), 1, anon_sym_DOT_DOT, - ACTIONS(79), 1, + ACTIONS(29), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(81), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(91), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(99), 1, + ACTIONS(49), 1, anon_sym_DQUOTE, - ACTIONS(95), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1090), 2, + ACTIONS(1139), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1088), 5, + ACTIONS(1137), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(403), 28, + STATE(29), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24183,6 +25345,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24203,7 +25366,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15299] = 22, + [15018] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -24242,20 +25405,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1094), 2, + ACTIONS(1143), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1092), 5, + ACTIONS(1141), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(406), 28, + STATE(484), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24264,6 +25427,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24284,25 +25448,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15402] = 22, + [15122] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -24313,30 +25467,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(103), 1, + anon_sym_pure, + ACTIONS(105), 1, + anon_sym_fn, + ACTIONS(109), 1, + anon_sym_not, + ACTIONS(111), 1, + anon_sym_DOT_DOT, + ACTIONS(113), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1098), 2, + ACTIONS(1147), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1096), 5, + ACTIONS(1145), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(407), 28, + STATE(408), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24345,6 +25509,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24365,7 +25530,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15505] = 22, + [15226] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -24386,38 +25551,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1102), 2, + ACTIONS(1151), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1100), 5, + ACTIONS(1149), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(495), 28, + STATE(448), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24426,6 +25591,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24446,7 +25612,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15608] = 22, + [15330] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -24485,20 +25651,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1106), 2, + ACTIONS(1155), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1104), 5, + ACTIONS(1153), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(414), 28, + STATE(422), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24507,6 +25673,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24527,7 +25694,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15711] = 22, + [15434] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -24566,20 +25733,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1110), 2, + ACTIONS(1159), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1108), 5, + ACTIONS(1157), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(415), 28, + STATE(423), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24588,6 +25755,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24608,7 +25776,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15814] = 22, + [15538] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -24647,20 +25815,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1114), 2, + ACTIONS(1163), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1112), 5, + ACTIONS(1161), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(416), 28, + STATE(424), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24669,6 +25837,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24689,7 +25858,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [15917] = 22, + [15642] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -24728,20 +25897,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1118), 2, + ACTIONS(1167), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1116), 5, + ACTIONS(1165), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(417), 28, + STATE(450), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24750,6 +25919,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24770,7 +25940,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16020] = 22, + [15746] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -24809,20 +25979,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1122), 2, + ACTIONS(1171), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1120), 5, + ACTIONS(1169), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(418), 28, + STATE(425), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24831,6 +26001,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24851,7 +26022,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16123] = 22, + [15850] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -24890,20 +26061,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1126), 2, + ACTIONS(1175), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1124), 5, + ACTIONS(1173), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(419), 28, + STATE(428), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24912,6 +26083,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -24932,7 +26104,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16226] = 22, + [15954] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -24971,20 +26143,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1130), 2, + ACTIONS(1179), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1128), 5, + ACTIONS(1177), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(420), 28, + STATE(431), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -24993,6 +26165,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25013,15 +26186,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16329] = 22, + [16058] = 22, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -25032,40 +26215,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, - anon_sym_pure, - ACTIONS(165), 1, - anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, - anon_sym_not, - ACTIONS(592), 1, - anon_sym_DOT_DOT, - ACTIONS(594), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1134), 2, + ACTIONS(1183), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1132), 5, + ACTIONS(1181), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(489), 28, + STATE(433), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25074,6 +26247,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25094,7 +26268,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16432] = 22, + [16162] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25133,20 +26307,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1138), 2, + ACTIONS(1187), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1136), 5, + ACTIONS(1185), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(402), 28, + STATE(434), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25155,6 +26329,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25175,7 +26350,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16535] = 22, + [16266] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25214,20 +26389,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1142), 2, + ACTIONS(1191), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1140), 5, + ACTIONS(1189), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(426), 28, + STATE(436), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25236,6 +26411,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25256,7 +26432,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16638] = 22, + [16370] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25295,20 +26471,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1146), 2, + ACTIONS(1195), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1144), 5, + ACTIONS(1193), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(404), 28, + STATE(441), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25317,6 +26493,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25337,7 +26514,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16741] = 22, + [16474] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25376,20 +26553,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1150), 2, + ACTIONS(1199), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1148), 5, + ACTIONS(1197), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(405), 28, + STATE(427), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25398,6 +26575,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25418,7 +26596,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16844] = 22, + [16578] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25457,20 +26635,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1154), 2, + ACTIONS(1203), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1152), 5, + ACTIONS(1201), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(430), 28, + STATE(446), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25479,6 +26657,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25499,7 +26678,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [16947] = 22, + [16682] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25538,20 +26717,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1158), 2, + ACTIONS(1207), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1156), 5, + ACTIONS(1205), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(408), 28, + STATE(429), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25560,6 +26739,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25580,7 +26760,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17050] = 22, + [16786] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25619,20 +26799,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1162), 2, + ACTIONS(1211), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1160), 5, + ACTIONS(1209), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(409), 28, + STATE(430), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25641,6 +26821,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25661,7 +26842,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17153] = 22, + [16890] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25700,20 +26881,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1166), 2, + ACTIONS(1215), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1164), 5, + ACTIONS(1213), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(410), 28, + STATE(432), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25722,6 +26903,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25742,7 +26924,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17256] = 22, + [16994] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -25781,20 +26963,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1170), 2, + ACTIONS(1219), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1168), 5, + ACTIONS(1217), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(411), 28, + STATE(435), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25803,6 +26985,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25823,15 +27006,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17359] = 22, + [17098] = 22, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -25842,40 +27035,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1174), 2, + ACTIONS(1223), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1172), 5, + ACTIONS(1221), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(437), 28, + STATE(437), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25884,6 +27067,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25904,15 +27088,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17462] = 22, + [17202] = 22, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -25923,40 +27117,112 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, + ACTIONS(95), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(97), 2, + anon_sym_Inf, + anon_sym_NaN, + ACTIONS(1227), 2, + sym_raw_string, + sym_complex, + ACTIONS(693), 3, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_TILDE, + ACTIONS(1225), 5, + sym_break_expression, + sym_continue_expression, + sym_integer, + sym_float, + sym_identifier, + STATE(438), 29, + sym_function_definition, + sym_struct_definition, + sym__expression, + sym_parenthesized_expression, + sym_unit, + sym_tuple, + sym_assignment, + sym_augmented_assignment, + sym_cast_expression, + sym_unary_expression, + sym_not_expression, + sym_binary_expression, + sym_range_expression, + sym_call, + sym_index, + sym_member_expression, + sym_list, + sym_list_comprehension, + sym_map, + sym_map_comprehension, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_block, + sym_return_expression, + sym__literal, + sym_boolean, + sym_special_constant, + sym_string, + [17306] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(63), 1, anon_sym_pure, - ACTIONS(131), 1, + ACTIONS(65), 1, anon_sym_fn, - ACTIONS(135), 1, + ACTIONS(67), 1, + anon_sym_LPAREN, + ACTIONS(69), 1, + anon_sym_struct, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(75), 1, anon_sym_not, - ACTIONS(137), 1, + ACTIONS(77), 1, anon_sym_DOT_DOT, - ACTIONS(139), 1, + ACTIONS(79), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, + ACTIONS(81), 1, + anon_sym_LBRACK, + ACTIONS(83), 1, + anon_sym_PERCENT_LBRACE, + ACTIONS(85), 1, + anon_sym_for, + ACTIONS(87), 1, + anon_sym_if, + ACTIONS(89), 1, + anon_sym_while, + ACTIONS(91), 1, anon_sym_return, + ACTIONS(99), 1, + anon_sym_DQUOTE, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1178), 2, + ACTIONS(1231), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1176), 5, + ACTIONS(1229), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(450), 28, + STATE(439), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -25965,6 +27231,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -25985,7 +27252,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17565] = 22, + [17410] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26024,20 +27291,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1182), 2, + ACTIONS(1235), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1180), 5, + ACTIONS(1233), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(456), 28, + STATE(476), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26046,6 +27313,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26066,7 +27334,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17668] = 22, + [17514] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26105,20 +27373,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1186), 2, + ACTIONS(1239), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1184), 5, + ACTIONS(1237), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(458), 28, + STATE(477), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26127,6 +27395,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26147,7 +27416,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17771] = 22, + [17618] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26186,20 +27455,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1190), 2, + ACTIONS(1243), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1188), 5, + ACTIONS(1241), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(431), 28, + STATE(465), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26208,6 +27477,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26228,7 +27498,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17874] = 22, + [17722] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26267,20 +27537,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1194), 2, + ACTIONS(1247), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1192), 5, + ACTIONS(1245), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(432), 28, + STATE(479), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26289,6 +27559,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26309,7 +27580,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [17977] = 22, + [17826] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26348,20 +27619,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1198), 2, + ACTIONS(1251), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1196), 5, + ACTIONS(1249), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(435), 28, + STATE(453), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26370,6 +27641,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26390,7 +27662,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18080] = 22, + [17930] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26429,20 +27701,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1202), 2, + ACTIONS(1255), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1200), 5, + ACTIONS(1253), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(436), 28, + STATE(455), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26451,6 +27723,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26471,7 +27744,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18183] = 22, + [18034] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26492,38 +27765,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(175), 1, + ACTIONS(129), 1, anon_sym_pure, - ACTIONS(177), 1, + ACTIONS(131), 1, anon_sym_fn, - ACTIONS(181), 1, - anon_sym_return, - ACTIONS(764), 1, + ACTIONS(135), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(137), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(139), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1206), 2, + ACTIONS(1259), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1204), 5, + ACTIONS(1257), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(484), 28, + STATE(468), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26532,6 +27805,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26552,7 +27826,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18286] = 22, + [18138] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26573,38 +27847,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(175), 1, + ACTIONS(129), 1, anon_sym_pure, - ACTIONS(177), 1, + ACTIONS(131), 1, anon_sym_fn, - ACTIONS(181), 1, - anon_sym_return, - ACTIONS(764), 1, + ACTIONS(135), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(137), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(139), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1210), 2, + ACTIONS(1263), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1208), 5, + ACTIONS(1261), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(531), 28, + STATE(470), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26613,6 +27887,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26633,7 +27908,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18389] = 22, + [18242] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26654,17 +27929,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(169), 1, + ACTIONS(181), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -26672,20 +27947,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1214), 2, + ACTIONS(1267), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1212), 5, + ACTIONS(1265), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(490), 28, + STATE(546), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26694,6 +27969,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26714,7 +27990,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18492] = 22, + [18346] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26735,38 +28011,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(105), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(109), 1, + ACTIONS(181), 1, + anon_sym_return, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(111), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(113), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(115), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1218), 2, + ACTIONS(1271), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1216), 5, + ACTIONS(1269), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(391), 28, + STATE(551), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26775,6 +28051,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26795,7 +28072,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18595] = 22, + [18450] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26834,20 +28111,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1222), 2, + ACTIONS(1275), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1220), 5, + ACTIONS(1273), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(392), 28, + STATE(409), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26856,6 +28133,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26876,7 +28154,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18698] = 22, + [18554] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26915,20 +28193,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1226), 2, + ACTIONS(1279), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1224), 5, + ACTIONS(1277), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(393), 28, + STATE(410), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -26937,6 +28215,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -26957,7 +28236,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18801] = 22, + [18658] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -26996,20 +28275,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1230), 2, + ACTIONS(1283), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1228), 5, + ACTIONS(1281), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(395), 28, + STATE(411), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27018,6 +28297,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27038,7 +28318,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [18904] = 22, + [18762] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27077,20 +28357,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1234), 2, + ACTIONS(1287), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1232), 5, + ACTIONS(1285), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(377), 28, + STATE(413), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27099,6 +28379,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27119,7 +28400,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19007] = 22, + [18866] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27158,20 +28439,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1238), 2, + ACTIONS(1291), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1236), 5, + ACTIONS(1289), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(396), 28, + STATE(414), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27180,6 +28461,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27200,7 +28482,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19110] = 22, + [18970] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27239,20 +28521,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1242), 2, + ACTIONS(1295), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1240), 5, + ACTIONS(1293), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(397), 28, + STATE(415), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27261,6 +28543,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27281,7 +28564,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19213] = 22, + [19074] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27320,20 +28603,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1246), 2, + ACTIONS(1299), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1244), 5, + ACTIONS(1297), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(398), 28, + STATE(416), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27342,6 +28625,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27362,7 +28646,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19316] = 22, + [19178] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27401,20 +28685,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1250), 2, + ACTIONS(1303), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1248), 5, + ACTIONS(1301), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(399), 28, + STATE(417), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27423,6 +28707,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27443,7 +28728,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19419] = 22, + [19282] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27482,20 +28767,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1254), 2, + ACTIONS(1307), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1252), 5, + ACTIONS(1305), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(401), 28, + STATE(418), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27504,6 +28789,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27524,7 +28810,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19522] = 22, + [19386] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27545,38 +28831,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(103), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(105), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, + ACTIONS(109), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(111), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(113), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(115), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1258), 2, + ACTIONS(1311), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1256), 5, + ACTIONS(1309), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(491), 28, + STATE(420), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27585,6 +28871,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27605,7 +28892,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19625] = 22, + [19490] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27632,11 +28919,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -27644,20 +28931,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1262), 2, + ACTIONS(1315), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1260), 5, + ACTIONS(1313), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(517), 28, + STATE(534), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27666,6 +28953,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27686,7 +28974,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19728] = 22, + [19594] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27713,11 +29001,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -27725,20 +29013,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1266), 2, + ACTIONS(1319), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1264), 5, + ACTIONS(1317), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(518), 28, + STATE(535), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27747,6 +29035,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27767,7 +29056,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19831] = 22, + [19698] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27794,11 +29083,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -27806,20 +29095,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1270), 2, + ACTIONS(1323), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1268), 5, + ACTIONS(1321), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(519), 28, + STATE(536), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27828,6 +29117,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27848,7 +29138,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [19934] = 22, + [19802] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27875,11 +29165,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -27887,20 +29177,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1274), 2, + ACTIONS(1327), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1272), 5, + ACTIONS(1325), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(520), 28, + STATE(537), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27909,6 +29199,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -27929,7 +29220,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20037] = 22, + [19906] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -27956,11 +29247,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -27968,20 +29259,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1278), 2, + ACTIONS(1331), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1276), 5, + ACTIONS(1329), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(521), 28, + STATE(538), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -27990,6 +29281,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28010,7 +29302,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20140] = 22, + [20010] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28037,11 +29329,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -28049,20 +29341,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1282), 2, + ACTIONS(1335), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1280), 5, + ACTIONS(1333), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(522), 28, + STATE(539), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28071,6 +29363,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28091,7 +29384,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20243] = 22, + [20114] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28112,17 +29405,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(175), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(177), 1, anon_sym_fn, - ACTIONS(169), 1, + ACTIONS(181), 1, anon_sym_return, - ACTIONS(590), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -28130,20 +29423,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1286), 2, + ACTIONS(1339), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1284), 5, + ACTIONS(1337), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(492), 28, + STATE(540), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28152,6 +29445,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28172,7 +29466,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20346] = 22, + [20218] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28199,11 +29493,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -28211,20 +29505,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1290), 2, + ACTIONS(1343), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1288), 5, + ACTIONS(1341), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(524), 28, + STATE(541), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28233,6 +29527,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28253,7 +29548,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20449] = 22, + [20322] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28280,11 +29575,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -28292,20 +29587,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1294), 2, + ACTIONS(1347), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1292), 5, + ACTIONS(1345), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(525), 28, + STATE(542), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28314,6 +29609,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28334,7 +29630,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20552] = 22, + [20426] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28361,11 +29657,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(766), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(768), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, ACTIONS(95), 2, anon_sym_true, @@ -28373,20 +29669,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1298), 2, + ACTIONS(1351), 2, sym_raw_string, sym_complex, - ACTIONS(762), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1296), 5, + ACTIONS(1349), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(527), 28, + STATE(544), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28395,6 +29691,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28415,7 +29712,70 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20655] = 22, + [20530] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(306), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(304), 36, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_for, + anon_sym_else, + [20596] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28436,38 +29796,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(163), 1, + ACTIONS(129), 1, anon_sym_pure, - ACTIONS(165), 1, + ACTIONS(131), 1, anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, + ACTIONS(135), 1, anon_sym_not, - ACTIONS(592), 1, + ACTIONS(137), 1, anon_sym_DOT_DOT, - ACTIONS(594), 1, + ACTIONS(139), 1, anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1302), 2, + ACTIONS(1355), 2, sym_raw_string, sym_complex, - ACTIONS(588), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1300), 5, + ACTIONS(1353), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(493), 28, + STATE(456), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28476,6 +29836,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28496,7 +29857,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20758] = 22, + [20700] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28535,20 +29896,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1306), 2, + ACTIONS(1359), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1304), 5, + ACTIONS(1357), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(438), 28, + STATE(457), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28557,6 +29918,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28577,7 +29939,74 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20861] = 22, + [20804] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + STATE(396), 1, + sym_arguments, + ACTIONS(283), 21, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + ACTIONS(281), 33, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + anon_sym_for, + [20878] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28616,20 +30045,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1310), 2, + ACTIONS(1367), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1308), 5, + ACTIONS(1365), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(439), 28, + STATE(460), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28638,6 +30067,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28658,7 +30088,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [20964] = 22, + [20982] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28697,20 +30127,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1314), 2, + ACTIONS(1371), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1312), 5, + ACTIONS(1369), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(440), 28, + STATE(461), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28719,6 +30149,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28739,7 +30170,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21067] = 22, + [21086] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28778,20 +30209,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1318), 2, + ACTIONS(1375), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1316), 5, + ACTIONS(1373), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(441), 28, + STATE(462), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28800,6 +30231,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28820,7 +30252,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21170] = 22, + [21190] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28859,20 +30291,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1322), 2, + ACTIONS(1379), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1320), 5, + ACTIONS(1377), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(442), 28, + STATE(463), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28881,6 +30313,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28901,7 +30334,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21273] = 22, + [21294] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -28940,20 +30373,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1326), 2, + ACTIONS(1383), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1324), 5, + ACTIONS(1381), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(443), 28, + STATE(464), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -28962,6 +30395,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -28982,7 +30416,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21376] = 22, + [21398] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -29021,20 +30455,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1330), 2, + ACTIONS(1387), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1328), 5, + ACTIONS(1385), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(444), 28, + STATE(451), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29043,6 +30477,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29063,7 +30498,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21479] = 22, + [21502] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -29102,20 +30537,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1334), 2, + ACTIONS(1391), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1332), 5, + ACTIONS(1389), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(445), 28, + STATE(467), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29124,6 +30559,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29144,15 +30580,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21582] = 22, + [21606] = 22, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -29163,40 +30609,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1338), 2, + ACTIONS(811), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1336), 5, + ACTIONS(809), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(446), 28, + STATE(318), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29205,6 +30641,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29225,15 +30662,25 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21685] = 22, + [21710] = 22, ACTIONS(3), 1, sym_comment, + ACTIONS(63), 1, + anon_sym_pure, + ACTIONS(65), 1, + anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, + ACTIONS(75), 1, + anon_sym_not, + ACTIONS(77), 1, + anon_sym_DOT_DOT, + ACTIONS(79), 1, + anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -29244,40 +30691,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, + ACTIONS(91), 1, + anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1342), 2, + ACTIONS(1395), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1340), 5, + ACTIONS(1393), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(448), 28, + STATE(443), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29286,6 +30723,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29306,7 +30744,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21788] = 22, + [21814] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, @@ -29345,20 +30783,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(974), 2, + ACTIONS(1399), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(693), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(972), 5, + ACTIONS(1397), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(224), 28, + STATE(397), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29367,6 +30805,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29387,25 +30826,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21891] = 22, + [21918] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -29416,30 +30845,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1346), 2, + ACTIONS(1403), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1344), 5, + ACTIONS(1401), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(422), 28, + STATE(471), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29448,6 +30887,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29468,25 +30908,15 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [21994] = 22, + [22022] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_pure, - ACTIONS(65), 1, - anon_sym_fn, ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(69), 1, anon_sym_struct, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - anon_sym_not, - ACTIONS(77), 1, - anon_sym_DOT_DOT, - ACTIONS(79), 1, - anon_sym_DOT_DOT_EQ, ACTIONS(81), 1, anon_sym_LBRACK, ACTIONS(83), 1, @@ -29497,30 +30927,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(89), 1, anon_sym_while, - ACTIONS(91), 1, - anon_sym_return, ACTIONS(99), 1, anon_sym_DQUOTE, + ACTIONS(129), 1, + anon_sym_pure, + ACTIONS(131), 1, + anon_sym_fn, + ACTIONS(135), 1, + anon_sym_not, + ACTIONS(137), 1, + anon_sym_DOT_DOT, + ACTIONS(139), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(141), 1, + anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1350), 2, + ACTIONS(1407), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1348), 5, + ACTIONS(1405), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(423), 28, + STATE(472), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29529,6 +30969,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29549,250 +30990,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [22097] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(67), 1, - anon_sym_LPAREN, - ACTIONS(69), 1, - anon_sym_struct, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - anon_sym_LBRACK, - ACTIONS(83), 1, - anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, - anon_sym_for, - ACTIONS(87), 1, - anon_sym_if, - ACTIONS(89), 1, - anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(163), 1, - anon_sym_pure, - ACTIONS(165), 1, - anon_sym_fn, - ACTIONS(169), 1, - anon_sym_return, - ACTIONS(590), 1, - anon_sym_not, - ACTIONS(592), 1, - anon_sym_DOT_DOT, - ACTIONS(594), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(95), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(97), 2, - anon_sym_Inf, - anon_sym_NaN, - ACTIONS(1354), 2, - sym_raw_string, - sym_complex, - ACTIONS(588), 3, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - ACTIONS(1352), 5, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - sym_identifier, - STATE(494), 28, - sym_function_definition, - sym_struct_definition, - sym__expression, - sym_parenthesized_expression, - sym_unit, - sym_tuple, - sym_assignment, - sym_augmented_assignment, - sym_unary_expression, - sym_not_expression, - sym_binary_expression, - sym_range_expression, - sym_call, - sym_index, - sym_member_expression, - sym_list, - sym_list_comprehension, - sym_map, - sym_map_comprehension, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_block, - sym_return_expression, - sym__literal, - sym_boolean, - sym_special_constant, - sym_string, - [22200] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(67), 1, - anon_sym_LPAREN, - ACTIONS(69), 1, - anon_sym_struct, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - anon_sym_LBRACK, - ACTIONS(83), 1, - anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, - anon_sym_for, - ACTIONS(87), 1, - anon_sym_if, - ACTIONS(89), 1, - anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, - ACTIONS(95), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(97), 2, - anon_sym_Inf, - anon_sym_NaN, - ACTIONS(1358), 2, - sym_raw_string, - sym_complex, - ACTIONS(644), 3, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - ACTIONS(1356), 5, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - sym_identifier, - STATE(452), 28, - sym_function_definition, - sym_struct_definition, - sym__expression, - sym_parenthesized_expression, - sym_unit, - sym_tuple, - sym_assignment, - sym_augmented_assignment, - sym_unary_expression, - sym_not_expression, - sym_binary_expression, - sym_range_expression, - sym_call, - sym_index, - sym_member_expression, - sym_list, - sym_list_comprehension, - sym_map, - sym_map_comprehension, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_block, - sym_return_expression, - sym__literal, - sym_boolean, - sym_special_constant, - sym_string, - [22303] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(67), 1, - anon_sym_LPAREN, - ACTIONS(69), 1, - anon_sym_struct, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - anon_sym_LBRACK, - ACTIONS(83), 1, - anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, - anon_sym_for, - ACTIONS(87), 1, - anon_sym_if, - ACTIONS(89), 1, - anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, - anon_sym_not, - ACTIONS(137), 1, - anon_sym_DOT_DOT, - ACTIONS(139), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, - ACTIONS(95), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(97), 2, - anon_sym_Inf, - anon_sym_NaN, - ACTIONS(1362), 2, - sym_raw_string, - sym_complex, - ACTIONS(644), 3, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - ACTIONS(1360), 5, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - sym_identifier, - STATE(453), 28, - sym_function_definition, - sym_struct_definition, - sym__expression, - sym_parenthesized_expression, - sym_unit, - sym_tuple, - sym_assignment, - sym_augmented_assignment, - sym_unary_expression, - sym_not_expression, - sym_binary_expression, - sym_range_expression, - sym_call, - sym_index, - sym_member_expression, - sym_list, - sym_list_comprehension, - sym_map, - sym_map_comprehension, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_block, - sym_return_expression, - sym__literal, - sym_boolean, - sym_special_constant, - sym_string, - [22406] = 22, + [22126] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -29831,20 +31029,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1366), 2, + ACTIONS(1411), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1364), 5, + ACTIONS(1409), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(454), 28, + STATE(473), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29853,6 +31051,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29873,7 +31072,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [22509] = 22, + [22230] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -29912,20 +31111,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1370), 2, + ACTIONS(1415), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(723), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1368), 5, + ACTIONS(1413), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(459), 28, + STATE(452), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -29934,6 +31133,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -29954,7 +31154,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [22612] = 22, + [22334] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -29993,20 +31193,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(974), 2, + ACTIONS(811), 2, sym_raw_string, sym_complex, - ACTIONS(624), 3, + ACTIONS(669), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(972), 5, + ACTIONS(809), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(224), 28, + STATE(318), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -30015,6 +31215,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -30035,7 +31236,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [22715] = 22, + [22438] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(67), 1, @@ -30062,113 +31263,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_fn, ACTIONS(181), 1, anon_sym_return, - ACTIONS(764), 1, - anon_sym_not, - ACTIONS(766), 1, - anon_sym_DOT_DOT, - ACTIONS(768), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(95), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(97), 2, - anon_sym_Inf, - anon_sym_NaN, - ACTIONS(974), 2, - sym_raw_string, - sym_complex, - ACTIONS(762), 3, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - ACTIONS(972), 5, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - sym_identifier, - STATE(224), 28, - sym_function_definition, - sym_struct_definition, - sym__expression, - sym_parenthesized_expression, - sym_unit, - sym_tuple, - sym_assignment, - sym_augmented_assignment, - sym_unary_expression, - sym_not_expression, - sym_binary_expression, - sym_range_expression, - sym_call, - sym_index, - sym_member_expression, - sym_list, - sym_list_comprehension, - sym_map, - sym_map_comprehension, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_block, - sym_return_expression, - sym__literal, - sym_boolean, - sym_special_constant, - sym_string, - [22818] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(67), 1, - anon_sym_LPAREN, - ACTIONS(69), 1, - anon_sym_struct, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - anon_sym_LBRACK, - ACTIONS(83), 1, - anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, - anon_sym_for, - ACTIONS(87), 1, - anon_sym_if, - ACTIONS(89), 1, - anon_sym_while, - ACTIONS(99), 1, - anon_sym_DQUOTE, - ACTIONS(129), 1, - anon_sym_pure, - ACTIONS(131), 1, - anon_sym_fn, - ACTIONS(135), 1, + ACTIONS(977), 1, anon_sym_not, - ACTIONS(137), 1, + ACTIONS(979), 1, anon_sym_DOT_DOT, - ACTIONS(139), 1, + ACTIONS(981), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(141), 1, - anon_sym_return, ACTIONS(95), 2, anon_sym_true, anon_sym_false, ACTIONS(97), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(974), 2, + ACTIONS(811), 2, sym_raw_string, sym_complex, - ACTIONS(644), 3, + ACTIONS(975), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(972), 5, + ACTIONS(809), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(224), 28, + STATE(318), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -30177,6 +31297,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -30197,59 +31318,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [22921] = 22, + [22542] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(13), 1, anon_sym_pure, - ACTIONS(65), 1, + ACTIONS(15), 1, anon_sym_fn, - ACTIONS(67), 1, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(69), 1, + ACTIONS(19), 1, anon_sym_struct, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(75), 1, + ACTIONS(25), 1, anon_sym_not, - ACTIONS(77), 1, + ACTIONS(27), 1, anon_sym_DOT_DOT, - ACTIONS(79), 1, + ACTIONS(29), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(81), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(83), 1, + ACTIONS(33), 1, anon_sym_PERCENT_LBRACE, - ACTIONS(85), 1, + ACTIONS(35), 1, anon_sym_for, - ACTIONS(87), 1, + ACTIONS(37), 1, anon_sym_if, - ACTIONS(89), 1, + ACTIONS(39), 1, anon_sym_while, - ACTIONS(91), 1, + ACTIONS(41), 1, anon_sym_return, - ACTIONS(99), 1, + ACTIONS(49), 1, anon_sym_DQUOTE, - ACTIONS(95), 2, + ACTIONS(45), 2, anon_sym_true, anon_sym_false, - ACTIONS(97), 2, + ACTIONS(47), 2, anon_sym_Inf, anon_sym_NaN, - ACTIONS(1374), 2, + ACTIONS(1419), 2, sym_raw_string, sym_complex, - ACTIONS(646), 3, + ACTIONS(23), 3, anon_sym_BANG, anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1372), 5, + ACTIONS(1417), 5, sym_break_expression, sym_continue_expression, sym_integer, sym_float, sym_identifier, - STATE(413), 28, + STATE(35), 29, sym_function_definition, sym_struct_definition, sym__expression, @@ -30258,6 +31379,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple, sym_assignment, sym_augmented_assignment, + sym_cast_expression, sym_unary_expression, sym_not_expression, sym_binary_expression, @@ -30278,10 +31400,10 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean, sym_special_constant, sym_string, - [23024] = 3, + [22646] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(454), 22, + ACTIONS(491), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30304,7 +31426,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(452), 34, + ACTIONS(489), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30327,6 +31449,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30339,10 +31462,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23088] = 3, + [22711] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(458), 22, + ACTIONS(467), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30365,7 +31488,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(456), 34, + ACTIONS(465), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30388,6 +31511,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30400,10 +31524,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23152] = 3, + [22776] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(470), 22, + ACTIONS(471), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30426,7 +31550,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(468), 34, + ACTIONS(469), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30449,6 +31573,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30461,10 +31586,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23216] = 3, + [22841] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 22, + ACTIONS(475), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30487,7 +31612,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(472), 34, + ACTIONS(473), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30510,6 +31635,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30522,10 +31648,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23280] = 3, + [22906] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(478), 22, + ACTIONS(479), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30548,7 +31674,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(476), 34, + ACTIONS(477), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30571,6 +31697,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30583,10 +31710,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23344] = 3, + [22971] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(346), 22, + ACTIONS(539), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30609,7 +31736,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(344), 34, + ACTIONS(537), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30632,6 +31759,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30644,10 +31772,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23408] = 3, + [23036] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(426), 22, + ACTIONS(347), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30670,7 +31798,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(424), 34, + ACTIONS(345), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30693,6 +31821,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30705,10 +31834,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23472] = 3, + [23101] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(462), 22, + ACTIONS(499), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30731,7 +31860,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(460), 34, + ACTIONS(497), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30754,6 +31883,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30766,10 +31896,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23536] = 3, + [23166] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(482), 22, + ACTIONS(503), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30792,7 +31922,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(480), 34, + ACTIONS(501), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30815,6 +31945,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30827,10 +31958,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23600] = 3, + [23231] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(486), 22, + ACTIONS(507), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30853,7 +31984,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(484), 34, + ACTIONS(505), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30876,6 +32007,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30888,10 +32020,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23664] = 3, + [23296] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(490), 22, + ACTIONS(543), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -30914,7 +32046,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(488), 34, + ACTIONS(541), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30937,6 +32069,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -30949,12 +32082,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23728] = 3, + [23361] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(494), 22, - anon_sym_EQ, + ACTIONS(1421), 1, anon_sym_LT, + ACTIONS(328), 21, + anon_sym_EQ, anon_sym_GT, anon_sym_DASH, anon_sym_TILDE, @@ -30975,7 +32109,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(492), 34, + ACTIONS(326), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -30998,6 +32132,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31010,10 +32145,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23792] = 3, + [23428] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(498), 22, + ACTIONS(399), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31036,7 +32171,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(496), 34, + ACTIONS(397), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31059,6 +32194,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31071,10 +32207,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23856] = 3, + [23493] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(502), 22, + ACTIONS(443), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31097,7 +32233,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(500), 34, + ACTIONS(441), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31120,6 +32256,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31132,10 +32269,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23920] = 3, + [23558] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(506), 22, + ACTIONS(447), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31158,7 +32295,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(504), 34, + ACTIONS(445), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31181,6 +32318,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31193,10 +32331,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [23984] = 3, + [23623] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(322), 22, + ACTIONS(335), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31219,7 +32357,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(320), 34, + ACTIONS(333), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31242,6 +32380,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31254,10 +32393,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24048] = 3, + [23688] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(326), 22, + ACTIONS(483), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31280,7 +32419,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(324), 34, + ACTIONS(481), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31303,6 +32442,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31315,10 +32455,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24112] = 3, + [23753] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(330), 22, + ACTIONS(487), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31341,7 +32481,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(328), 34, + ACTIONS(485), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31364,6 +32504,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31376,10 +32517,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24176] = 3, + [23818] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(350), 22, + ACTIONS(511), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31402,7 +32543,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(348), 34, + ACTIONS(509), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31425,6 +32566,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31437,10 +32579,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24240] = 3, + [23883] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(466), 22, + ACTIONS(515), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31463,7 +32605,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(464), 34, + ACTIONS(513), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31486,6 +32628,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31498,74 +32641,226 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24304] = 25, + [23948] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(519), 22, anon_sym_EQ, - ACTIONS(1378), 1, - anon_sym_COMMA, - ACTIONS(1386), 1, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1388), 1, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(517), 35, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, - ACTIONS(1390), 1, anon_sym_or, - ACTIONS(1392), 1, anon_sym_and, - ACTIONS(1398), 1, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_for, + [24013] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(547), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_PIPE, - ACTIONS(1400), 1, anon_sym_AMP, - ACTIONS(1406), 1, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, anon_sym_CARET, - ACTIONS(1408), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - STATE(387), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(1394), 2, + anon_sym_DOT, + ACTIONS(545), 35, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1404), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(185), 4, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_for, + [24078] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(320), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(318), 35, + sym_named_op_assign, anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, anon_sym_RBRACK, - ACTIONS(1380), 4, + anon_sym_for, + [24143] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(551), 22, + anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1384), 4, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(549), 35, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -31581,10 +32876,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [24412] = 3, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_for, + [24208] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(354), 22, + ACTIONS(324), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31607,7 +32915,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(352), 34, + ACTIONS(322), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31630,6 +32938,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31642,10 +32951,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24476] = 3, + [24273] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(358), 22, + ACTIONS(555), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31668,7 +32977,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(356), 34, + ACTIONS(553), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31691,6 +33000,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31703,10 +33013,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24540] = 3, + [24338] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 22, + ACTIONS(459), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31729,7 +33039,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(360), 34, + ACTIONS(457), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31752,6 +33062,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31764,10 +33075,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24604] = 3, + [24403] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(338), 22, + ACTIONS(495), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31790,7 +33101,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(336), 34, + ACTIONS(493), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31813,6 +33124,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31825,10 +33137,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24668] = 3, + [24468] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(370), 22, + ACTIONS(463), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31851,7 +33163,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(368), 34, + ACTIONS(461), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31874,6 +33186,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31886,10 +33199,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24732] = 3, + [24533] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(374), 22, + ACTIONS(355), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31912,7 +33225,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(372), 34, + ACTIONS(353), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31935,6 +33248,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -31947,10 +33261,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24796] = 3, + [24598] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(378), 22, + ACTIONS(523), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -31973,7 +33287,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(376), 34, + ACTIONS(521), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -31996,6 +33310,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32008,10 +33323,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24860] = 3, + [24663] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(382), 22, + ACTIONS(359), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32034,7 +33349,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(380), 34, + ACTIONS(357), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32057,6 +33372,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32069,10 +33385,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24924] = 3, + [24728] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(342), 22, + ACTIONS(367), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32095,7 +33411,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(340), 34, + ACTIONS(365), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32118,6 +33434,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32130,10 +33447,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [24988] = 3, + [24793] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(386), 22, + ACTIONS(371), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32156,7 +33473,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(384), 34, + ACTIONS(369), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32179,6 +33496,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32191,10 +33509,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25052] = 3, + [24858] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(390), 22, + ACTIONS(375), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32217,7 +33535,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(388), 34, + ACTIONS(373), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32240,6 +33558,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32252,10 +33571,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25116] = 3, + [24923] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(394), 22, + ACTIONS(379), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32278,7 +33597,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(392), 34, + ACTIONS(377), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32301,6 +33620,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32313,10 +33633,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25180] = 3, + [24988] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(318), 22, + ACTIONS(383), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32339,7 +33659,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(316), 34, + ACTIONS(381), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32362,6 +33682,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32374,10 +33695,95 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25244] = 3, + [25053] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1426), 1, + anon_sym_COMMA, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, + anon_sym_TILDE, + ACTIONS(1438), 1, + anon_sym_not, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, + anon_sym_PIPE, + ACTIONS(1450), 1, + anon_sym_AMP, + ACTIONS(1456), 1, + anon_sym_CARET, + ACTIONS(1458), 1, + anon_sym_DOT_DOT, + ACTIONS(1460), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + STATE(407), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1444), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1446), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1454), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(185), 4, + anon_sym_COLON, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1428), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1434), 4, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + ACTIONS(1452), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(1430), 16, + sym_named_op_assign, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [25164] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(398), 22, + ACTIONS(387), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32400,7 +33806,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(396), 34, + ACTIONS(385), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32423,6 +33829,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32435,10 +33842,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25308] = 3, + [25229] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(402), 22, + ACTIONS(535), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32461,7 +33868,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(400), 34, + ACTIONS(533), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32484,6 +33891,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32496,10 +33904,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25372] = 3, + [25294] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(406), 22, + ACTIONS(391), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32522,7 +33930,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(404), 34, + ACTIONS(389), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32545,6 +33953,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32557,10 +33966,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25436] = 3, + [25359] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(410), 22, + ACTIONS(395), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32583,7 +33992,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(408), 34, + ACTIONS(393), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32606,6 +34015,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32618,93 +34028,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25500] = 25, + [25424] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1412), 1, - anon_sym_EQ, - ACTIONS(1414), 1, - anon_sym_COMMA, - ACTIONS(1422), 1, - anon_sym_TILDE, - ACTIONS(1424), 1, - anon_sym_not, - ACTIONS(1426), 1, - anon_sym_or, - ACTIONS(1428), 1, - anon_sym_and, - ACTIONS(1434), 1, - anon_sym_PIPE, - ACTIONS(1436), 1, - anon_sym_AMP, - ACTIONS(1442), 1, - anon_sym_CARET, - ACTIONS(1444), 1, - anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - STATE(378), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(1430), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1440), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(185), 4, - anon_sym_COLON, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_for, - ACTIONS(1416), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1420), 4, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - ACTIONS(1438), 5, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, - sym_named_op_assign, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - [25608] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(414), 22, + ACTIONS(403), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32727,7 +34054,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(412), 34, + ACTIONS(401), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32750,6 +34077,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32762,10 +34090,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25672] = 3, + [25489] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(418), 22, + ACTIONS(407), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32788,7 +34116,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(416), 34, + ACTIONS(405), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32811,6 +34139,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32823,10 +34152,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25736] = 3, + [25554] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(422), 22, + ACTIONS(527), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32849,7 +34178,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(420), 34, + ACTIONS(525), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32872,6 +34201,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32884,10 +34214,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25800] = 3, + [25619] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(510), 22, + ACTIONS(411), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32910,7 +34240,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(508), 34, + ACTIONS(409), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32933,6 +34263,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -32945,10 +34276,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25864] = 3, + [25684] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(430), 22, + ACTIONS(415), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -32971,7 +34302,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(428), 34, + ACTIONS(413), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -32994,6 +34325,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33006,10 +34338,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25928] = 3, + [25749] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(334), 22, + ACTIONS(419), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -33032,7 +34364,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(332), 34, + ACTIONS(417), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -33055,6 +34387,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33067,10 +34400,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [25992] = 3, + [25814] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(434), 22, + ACTIONS(423), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -33093,7 +34426,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(432), 34, + ACTIONS(421), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -33116,6 +34449,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33128,10 +34462,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [26056] = 3, + [25879] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(438), 22, + ACTIONS(427), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -33154,7 +34488,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(436), 34, + ACTIONS(425), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -33177,6 +34511,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33189,10 +34524,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [26120] = 3, + [25944] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(442), 22, + ACTIONS(431), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -33215,7 +34550,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(440), 34, + ACTIONS(429), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -33238,6 +34573,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33250,10 +34586,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [26184] = 3, + [26009] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(446), 22, + ACTIONS(435), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -33276,7 +34612,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(444), 34, + ACTIONS(433), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -33299,6 +34635,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33311,10 +34648,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [26248] = 3, + [26074] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(450), 22, + ACTIONS(439), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -33337,7 +34674,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(448), 34, + ACTIONS(437), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -33360,6 +34697,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33372,10 +34710,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [26312] = 3, + [26139] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(366), 22, + ACTIONS(455), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -33398,7 +34736,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(364), 34, + ACTIONS(453), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -33421,6 +34759,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33433,49 +34772,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [26376] = 13, + [26204] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1422), 1, + ACTIONS(339), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1434), 1, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_PIPE, - ACTIONS(1436), 1, anon_sym_AMP, - ACTIONS(1442), 1, - anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(1420), 4, - anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 8, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_LT_LT, - anon_sym_GT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_CARET, anon_sym_DOT_DOT, - ACTIONS(235), 30, + anon_sym_DOT, + ACTIONS(337), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -33492,6 +34821,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33501,14 +34831,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [26459] = 4, + [26269] = 3, ACTIONS(3), 1, sym_comment, - STATE(412), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(289), 22, + ACTIONS(531), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -33531,11 +34860,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(287), 32, + ACTIONS(529), 35, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -33552,6 +34883,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -33564,151 +34896,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - [26524] = 23, + [26334] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1412), 1, + ACTIONS(343), 22, anon_sym_EQ, - ACTIONS(1422), 1, - anon_sym_TILDE, - ACTIONS(1424), 1, - anon_sym_not, - ACTIONS(1426), 1, - anon_sym_or, - ACTIONS(1428), 1, - anon_sym_and, - ACTIONS(1434), 1, - anon_sym_PIPE, - ACTIONS(1436), 1, - anon_sym_AMP, - ACTIONS(1442), 1, - anon_sym_CARET, - ACTIONS(1444), 1, - anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - ACTIONS(1430), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1440), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1416), 4, anon_sym_LT, anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1420), 4, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(259), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_for, - ACTIONS(1438), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, - sym_named_op_assign, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - [26627] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1412), 1, - anon_sym_EQ, - ACTIONS(1422), 1, - anon_sym_TILDE, - ACTIONS(1424), 1, - anon_sym_not, - ACTIONS(1426), 1, - anon_sym_or, - ACTIONS(1428), 1, - anon_sym_and, - ACTIONS(1434), 1, - anon_sym_PIPE, - ACTIONS(1436), 1, - anon_sym_AMP, - ACTIONS(1442), 1, - anon_sym_CARET, - ACTIONS(1444), 1, - anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - ACTIONS(1430), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1440), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1416), 4, - anon_sym_LT, - anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - ACTIONS(295), 5, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(341), 35, + sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_for, - ACTIONS(1438), 5, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, - sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -33724,150 +34945,88 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [26730] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1412), 1, - anon_sym_EQ, - ACTIONS(1422), 1, - anon_sym_TILDE, - ACTIONS(1424), 1, + anon_sym_as, anon_sym_not, - ACTIONS(1426), 1, anon_sym_or, - ACTIONS(1428), 1, anon_sym_and, - ACTIONS(1434), 1, - anon_sym_PIPE, - ACTIONS(1436), 1, - anon_sym_AMP, - ACTIONS(1442), 1, - anon_sym_CARET, - ACTIONS(1444), 1, - anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - ACTIONS(1430), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1440), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1420), 4, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - ACTIONS(231), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACE, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - ACTIONS(1438), 5, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, - sym_named_op_assign, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - [26833] = 23, + [26399] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1422), 1, + ACTIONS(1464), 1, + anon_sym_COMMA, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1426), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1428), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1444), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + STATE(398), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(185), 4, + anon_sym_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_for, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(263), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_for, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -33884,71 +35043,164 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [26936] = 23, + [26510] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1412), 1, + ACTIONS(451), 22, anon_sym_EQ, - ACTIONS(1422), 1, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1424), 1, - anon_sym_not, - ACTIONS(1426), 1, - anon_sym_or, - ACTIONS(1428), 1, - anon_sym_and, - ACTIONS(1434), 1, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_PIPE, - ACTIONS(1436), 1, anon_sym_AMP, - ACTIONS(1442), 1, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, anon_sym_CARET, - ACTIONS(1444), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - ACTIONS(1430), 2, + anon_sym_DOT, + ACTIONS(449), 35, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1440), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_for, + [26575] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(351), 22, + anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1420), 4, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(267), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(349), 35, + sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_for, - ACTIONS(1438), 5, + [26640] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(361), 35, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -33964,71 +35216,130 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [27039] = 23, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_for, + [26705] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, - anon_sym_EQ, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1426), 1, - anon_sym_or, - ACTIONS(1428), 1, - anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1444), 1, - anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(295), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(271), 5, + ACTIONS(1452), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(293), 24, + sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - anon_sym_for, - ACTIONS(1438), 5, + [26801] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(440), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(291), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(289), 33, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -34044,70 +35355,85 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [27142] = 23, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_for, + [26867] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1422), 1, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1426), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1428), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1444), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(275), 5, + ACTIONS(265), 5, anon_sym_COLON, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_for, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -34124,60 +35450,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [27245] = 20, + [26973] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(285), 1, + ACTIONS(239), 1, anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1434), 1, + ACTIONS(1478), 1, + anon_sym_and, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1444), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(283), 23, + ACTIONS(237), 22, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -34198,43 +35528,67 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, anon_sym_or, - anon_sym_and, anon_sym_RBRACK, anon_sym_for, - [27342] = 4, + [27075] = 21, ACTIONS(3), 1, sym_comment, - STATE(388), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(289), 22, + ACTIONS(239), 1, anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(1474), 1, + anon_sym_not, + ACTIONS(1484), 1, anon_sym_PIPE, + ACTIONS(1486), 1, anon_sym_AMP, + ACTIONS(1492), 1, + anon_sym_CARET, + ACTIONS(1494), 1, + anon_sym_DOT_DOT, + ACTIONS(1496), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1480), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1482), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1490), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1466), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1470), 4, + anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_CARET, - anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(287), 32, + ACTIONS(237), 23, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, - anon_sym_LPAREN, - anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -34251,53 +35605,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_RBRACK, + anon_sym_for, + [27175] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, + anon_sym_EQ, + ACTIONS(1472), 1, + anon_sym_TILDE, + ACTIONS(1474), 1, anon_sym_not, + ACTIONS(1476), 1, anon_sym_or, + ACTIONS(1478), 1, anon_sym_and, + ACTIONS(1484), 1, + anon_sym_PIPE, + ACTIONS(1486), 1, + anon_sym_AMP, + ACTIONS(1492), 1, + anon_sym_CARET, + ACTIONS(1494), 1, + anon_sym_DOT_DOT, + ACTIONS(1496), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, + ACTIONS(1482), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, - anon_sym_RBRACK, - [27407] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1448), 1, - anon_sym_COMMA, - STATE(388), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(297), 22, - anon_sym_EQ, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1470), 4, anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(269), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_for, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_CARET, - anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(295), 31, + ACTIONS(1468), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -34313,83 +35691,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, - anon_sym_RBRACK, - [27474] = 25, + [27281] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1453), 1, - anon_sym_COMMA, - ACTIONS(1461), 1, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - STATE(449), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(1469), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(185), 3, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1479), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(273), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_for, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -34406,70 +35773,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [27581] = 23, + [27387] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(295), 5, + ACTIONS(249), 5, anon_sym_COLON, anon_sym_COMMA, - anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, - ACTIONS(1402), 5, + anon_sym_for, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -34486,54 +35855,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [27684] = 15, + [27493] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, + anon_sym_EQ, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1434), 1, + ACTIONS(1474), 1, + anon_sym_not, + ACTIONS(1476), 1, + anon_sym_or, + ACTIONS(1478), 1, + anon_sym_and, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1494), 1, + anon_sym_DOT_DOT, + ACTIONS(1496), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1420), 4, + ACTIONS(1490), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1466), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(277), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_for, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(235), 28, + ACTIONS(1468), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -34549,55 +35937,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - anon_sym_for, - [27771] = 9, + [27599] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1442), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, + anon_sym_EQ, + ACTIONS(1472), 1, + anon_sym_TILDE, + ACTIONS(1474), 1, + anon_sym_not, + ACTIONS(1476), 1, + anon_sym_or, + ACTIONS(1478), 1, + anon_sym_and, + ACTIONS(1484), 1, + anon_sym_PIPE, + ACTIONS(1486), 1, + anon_sym_AMP, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1494), 1, + anon_sym_DOT_DOT, + ACTIONS(1496), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, sym_arguments, - ACTIONS(1438), 5, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - ACTIONS(237), 15, - anon_sym_EQ, + ACTIONS(1480), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1482), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1490), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1470), 4, anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(235), 30, - sym_named_op_assign, + ACTIONS(257), 5, anon_sym_COLON, anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_for, + ACTIONS(1488), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(1468), 16, + sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -34613,58 +36019,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - anon_sym_for, - [27846] = 11, + [27705] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1436), 1, - anon_sym_AMP, - ACTIONS(1442), 1, - anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(1420), 4, + STATE(421), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(291), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 10, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_CARET, anon_sym_DOT_DOT, - ACTIONS(235), 30, + anon_sym_DOT, + ACTIONS(289), 33, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -34681,6 +36069,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -34690,64 +36079,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_for, - [27925] = 21, + [27771] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, + ACTIONS(287), 1, anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1428), 1, - anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1444), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 22, + ACTIONS(285), 23, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -34768,49 +36157,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, anon_sym_or, + anon_sym_and, anon_sym_RBRACK, anon_sym_for, - [28024] = 14, + [27871] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1434), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1432), 2, + ACTIONS(1480), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, + ACTIONS(239), 6, anon_sym_EQ, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 28, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -34833,53 +36228,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, anon_sym_for, - [28109] = 12, + [27961] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, - anon_sym_TILDE, - ACTIONS(1436), 1, - anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1420), 4, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 9, + ACTIONS(239), 15, anon_sym_EQ, anon_sym_LT, anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -34910,31 +36302,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, anon_sym_for, - [28190] = 10, + [28039] = 12, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1442), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1486), 1, + anon_sym_AMP, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 11, + ACTIONS(239), 10, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -34942,11 +36338,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PIPE, - anon_sym_AMP, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -34977,41 +36372,131 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, anon_sym_for, - [28267] = 8, + [28121] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1442), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, + anon_sym_EQ, + ACTIONS(1472), 1, + anon_sym_TILDE, + ACTIONS(1474), 1, + anon_sym_not, + ACTIONS(1476), 1, + anon_sym_or, + ACTIONS(1478), 1, + anon_sym_and, + ACTIONS(1484), 1, + anon_sym_PIPE, + ACTIONS(1486), 1, + anon_sym_AMP, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1494), 1, + anon_sym_DOT_DOT, + ACTIONS(1496), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, - anon_sym_EQ, + ACTIONS(1480), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1482), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1490), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1470), 4, anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + ACTIONS(261), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_for, + ACTIONS(1488), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(1468), 16, + sym_named_op_assign, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [28227] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(1484), 1, anon_sym_PIPE, + ACTIONS(1486), 1, anon_sym_AMP, + ACTIONS(1492), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(1482), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1470), 4, + anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, + ACTIONS(239), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -35042,41 +36527,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, anon_sym_for, - [28340] = 8, + [28315] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1442), 1, - anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(237), 20, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(1484), 1, anon_sym_PIPE, + ACTIONS(1486), 1, anon_sym_AMP, + ACTIONS(1492), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(1470), 4, + anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, + ACTIONS(239), 8, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -35107,57 +36599,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, anon_sym_for, - [28413] = 18, + [28401] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1424), 1, - anon_sym_not, - ACTIONS(1434), 1, - anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(241), 2, - anon_sym_EQ, - anon_sym_DOT_DOT, - ACTIONS(1430), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1440), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1416), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(239), 24, + ACTIONS(239), 9, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -35177,55 +36659,56 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_not, anon_sym_or, anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, anon_sym_for, - [28506] = 15, + [28485] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, - anon_sym_TILDE, - ACTIONS(1434), 1, - anon_sym_PIPE, - ACTIONS(1436), 1, - anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(253), 6, + ACTIONS(239), 11, anon_sym_EQ, anon_sym_LT, anon_sym_GT, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(251), 28, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -35248,77 +36731,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, anon_sym_for, - [28593] = 23, + [28565] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, - anon_sym_EQ, - ACTIONS(1386), 1, - anon_sym_TILDE, - ACTIONS(1388), 1, - anon_sym_not, - ACTIONS(1390), 1, - anon_sym_or, - ACTIONS(1392), 1, - anon_sym_and, - ACTIONS(1398), 1, - anon_sym_PIPE, - ACTIONS(1400), 1, - anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1408), 1, - anon_sym_DOT_DOT, - ACTIONS(1410), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1404), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(239), 20, + anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1384), 4, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(247), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1402), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 30, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -35334,54 +36795,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [28696] = 15, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + anon_sym_for, + [28641] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, - anon_sym_TILDE, - ACTIONS(1398), 1, - anon_sym_PIPE, - ACTIONS(1400), 1, - anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(239), 20, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1384), 4, - anon_sym_DASH, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 28, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, - anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -35401,76 +36865,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [28783] = 23, + anon_sym_for, + [28717] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, - anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1390), 1, - anon_sym_or, - ACTIONS(1392), 1, - anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1408), 1, - anon_sym_DOT_DOT, - ACTIONS(1410), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(243), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(255), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1402), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(241), 24, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -35486,71 +36945,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [28886] = 23, + anon_sym_or, + anon_sym_and, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + anon_sym_for, + [28813] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, - anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1388), 1, - anon_sym_not, - ACTIONS(1390), 1, - anon_sym_or, - ACTIONS(1392), 1, - anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1408), 1, - anon_sym_DOT_DOT, - ACTIONS(1410), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1380), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(259), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1402), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(255), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(253), 28, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -35566,26 +37015,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [28989] = 9, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + anon_sym_for, + [28903] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1406), 1, - anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(1402), 5, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - ACTIONS(237), 15, + ACTIONS(1498), 1, + anon_sym_COMMA, + STATE(421), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(299), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -35598,13 +37044,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_CARET, anon_sym_DOT_DOT, - ACTIONS(235), 30, + anon_sym_DOT, + ACTIONS(297), 32, sym_named_op_assign, anon_sym_COLON, - anon_sym_COMMA, + anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_PLUS_EQ, @@ -35622,6 +37075,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -35631,45 +37085,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, anon_sym_RBRACK, - [29064] = 11, + [28971] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1400), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, + anon_sym_TILDE, + ACTIONS(1448), 1, + anon_sym_PIPE, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1384), 4, + ACTIONS(1444), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1446), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 10, + ACTIONS(239), 6, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 28, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -35693,78 +37156,124 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [29143] = 23, + [29061] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1456), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(1452), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(239), 15, anon_sym_EQ, - ACTIONS(1386), 1, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1388), 1, - anon_sym_not, - ACTIONS(1390), 1, - anon_sym_or, - ACTIONS(1392), 1, - anon_sym_and, - ACTIONS(1398), 1, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_PIPE, - ACTIONS(1400), 1, anon_sym_AMP, - ACTIONS(1406), 1, - anon_sym_CARET, - ACTIONS(1408), 1, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(1410), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - ACTIONS(1394), 2, + ACTIONS(237), 30, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1404), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1384), 4, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + [29139] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1450), 1, + anon_sym_AMP, + ACTIONS(1456), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(263), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(239), 10, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 30, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -35780,71 +37289,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [29246] = 23, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + [29221] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(239), 1, + anon_sym_EQ, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, - anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, - anon_sym_or, - ACTIONS(1392), 1, - anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(267), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(237), 23, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -35860,70 +37375,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [29349] = 23, + anon_sym_or, + anon_sym_and, + anon_sym_RBRACK, + [29321] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(196), 1, + sym_block, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1503), 3, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(271), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1402), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -35940,70 +37462,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [29452] = 23, + [29431] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(275), 5, + ACTIONS(249), 5, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -36020,40 +37544,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [29555] = 5, + [29537] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(1487), 1, - anon_sym_COMMA, - STATE(412), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(297), 22, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(1448), 1, anon_sym_PIPE, + ACTIONS(1450), 1, anon_sym_AMP, + ACTIONS(1456), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(1446), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1434), 4, + anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, + ACTIONS(239), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_CARET, anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(295), 31, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, - anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -36079,70 +37616,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_for, - [29622] = 21, + [29625] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1392), 1, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(257), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 22, + ACTIONS(1430), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -36158,67 +37699,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_RBRACK, - [29721] = 20, + [29731] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1398), 1, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(261), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 23, + ACTIONS(1430), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -36234,50 +37781,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_RBRACK, - [29818] = 14, + [29837] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1396), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, + ACTIONS(239), 8, anon_sym_EQ, anon_sym_LT, anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -36308,51 +37853,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [29903] = 13, + [29923] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1398), 1, + ACTIONS(1438), 1, + anon_sym_not, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1458), 1, + anon_sym_DOT_DOT, + ACTIONS(1460), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, sym_arguments, - ACTIONS(1384), 4, + ACTIONS(1444), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1446), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1454), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1428), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(233), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 8, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(1430), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -36368,45 +37935,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [29986] = 12, + [30029] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 9, + ACTIONS(239), 9, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -36416,7 +37975,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -36447,31 +38006,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [30067] = 10, + [30113] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1406), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 11, + ACTIONS(239), 11, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -36483,7 +38044,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -36514,46 +38075,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [30144] = 8, + [30193] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1406), 1, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, + anon_sym_TILDE, + ACTIONS(1438), 1, + anon_sym_not, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, + anon_sym_PIPE, + ACTIONS(1450), 1, + anon_sym_AMP, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1458), 1, + anon_sym_DOT_DOT, + ACTIONS(1460), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, - anon_sym_EQ, + ACTIONS(1444), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1446), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1454), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1434), 4, anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(265), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(1430), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -36569,30 +38157,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [30217] = 8, + [30299] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1406), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, + ACTIONS(239), 20, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -36613,7 +38193,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 30, + ACTIONS(237), 30, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -36644,62 +38224,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [30290] = 18, + [30375] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1398), 1, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(241), 2, - anon_sym_EQ, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1394), 2, + ACTIONS(1460), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(269), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(239), 24, + ACTIONS(1430), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -36715,69 +38306,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [30383] = 20, + [30481] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(285), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1398), 1, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(273), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(283), 23, + ACTIONS(1430), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -36793,65 +38388,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_RBRACK, - [30480] = 18, + [30587] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1398), 1, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(293), 2, - anon_sym_EQ, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1394), 2, + ACTIONS(1460), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(277), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(291), 24, + ACTIONS(1430), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -36867,77 +38470,111 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [30573] = 25, + [30693] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1537), 1, + anon_sym_COMMA, + STATE(440), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(299), 22, anon_sym_EQ, - ACTIONS(1461), 1, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1463), 1, - anon_sym_not, - ACTIONS(1465), 1, - anon_sym_or, - ACTIONS(1467), 1, - anon_sym_and, - ACTIONS(1473), 1, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_PIPE, - ACTIONS(1475), 1, anon_sym_AMP, - ACTIONS(1481), 1, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, anon_sym_CARET, - ACTIONS(1483), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, - anon_sym_DOT_DOT_EQ, - STATE(171), 1, - sym_block, - STATE(331), 1, - sym_arguments, - ACTIONS(1469), 2, + anon_sym_DOT, + ACTIONS(297), 32, + sym_named_op_assign, + anon_sym_COLON, + anon_sym_LPAREN, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1479), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1490), 3, - anon_sym_COMMA, - anon_sym_RBRACE, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, anon_sym_RBRACK, - ACTIONS(1455), 4, + anon_sym_for, + [30761] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1456), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(239), 20, + anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1459), 4, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 30, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -36953,63 +38590,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [30680] = 20, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + [30837] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1434), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1444), 1, - anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(243), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 23, + ACTIONS(241), 24, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -37028,52 +38675,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT_EQ, anon_sym_or, anon_sym_and, + anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - anon_sym_for, - [30777] = 15, + [30933] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(287), 1, + anon_sym_EQ, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1398), 1, + ACTIONS(1438), 1, + anon_sym_not, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1458), 1, + anon_sym_DOT_DOT, + ACTIONS(1460), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1384), 4, + ACTIONS(1454), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1428), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(253), 6, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(251), 28, + ACTIONS(285), 23, sym_named_op_assign, anon_sym_COLON, anon_sym_COMMA, @@ -37094,78 +38753,75 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [30864] = 23, + [31033] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1426), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1428), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1444), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(247), 5, + ACTIONS(297), 5, anon_sym_COLON, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, - anon_sym_for, - ACTIONS(1438), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -37182,61 +38838,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [30967] = 18, + [31139] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, + anon_sym_EQ, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1434), 1, + ACTIONS(1476), 1, + anon_sym_or, + ACTIONS(1478), 1, + anon_sym_and, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(293), 2, - anon_sym_EQ, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1430), 2, + ACTIONS(1496), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(297), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_for, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(291), 24, + ACTIONS(1468), 16, sym_named_op_assign, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -37252,76 +38920,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - anon_sym_for, - [31060] = 23, + [31245] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, - anon_sym_EQ, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1424), 1, - anon_sym_not, - ACTIONS(1426), 1, - anon_sym_or, - ACTIONS(1428), 1, - anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1444), 1, - anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1416), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(255), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_for, - ACTIONS(1438), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + ACTIONS(255), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(253), 28, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -37337,70 +38986,82 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31163] = 23, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + [31335] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + ACTIONS(1540), 1, + anon_sym_COMMA, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + STATE(459), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(185), 3, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(231), 5, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1402), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -37417,70 +39078,63 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31266] = 23, + [31445] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, - anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1465), 1, - anon_sym_or, - ACTIONS(1467), 1, - anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1483), 1, - anon_sym_DOT_DOT, - ACTIONS(1485), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(295), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(263), 4, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1455), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(293), 24, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -37496,69 +39150,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31368] = 23, + anon_sym_or, + anon_sym_and, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + anon_sym_for, + [31541] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(267), 4, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1455), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(233), 5, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_for, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -37575,73 +39237,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31470] = 26, + [31647] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(185), 1, - anon_sym_for, - ACTIONS(794), 1, + ACTIONS(239), 1, + anon_sym_EQ, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, - anon_sym_EQ, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1426), 1, - anon_sym_or, - ACTIONS(1428), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1444), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1492), 1, - anon_sym_COMMA, - ACTIONS(1494), 1, - anon_sym_RBRACK, - STATE(331), 1, + STATE(396), 1, sym_arguments, - STATE(641), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(1430), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + ACTIONS(237), 22, sym_named_op_assign, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -37657,71 +39315,131 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31578] = 24, + anon_sym_or, + anon_sym_RBRACK, + [31749] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1531), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(239), 20, anon_sym_EQ, - ACTIONS(1422), 1, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1424), 1, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 29, + sym_named_op_assign, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, anon_sym_not, - ACTIONS(1426), 1, anon_sym_or, - ACTIONS(1428), 1, anon_sym_and, - ACTIONS(1434), 1, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + [31824] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, + anon_sym_TILDE, + ACTIONS(1513), 1, + anon_sym_not, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1444), 1, - anon_sym_DOT_DOT, - ACTIONS(1446), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(1496), 1, - anon_sym_COLON, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(295), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1498), 3, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_for, - ACTIONS(1416), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + ACTIONS(293), 23, sym_named_op_assign, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -37737,69 +39455,75 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31682] = 23, + anon_sym_or, + anon_sym_and, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + [31919] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(271), 4, + ACTIONS(265), 4, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_RBRACK, - ACTIONS(1455), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -37816,69 +39540,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31784] = 23, + [32024] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + ACTIONS(1542), 1, + anon_sym_COLON, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(275), 4, + ACTIONS(1544), 3, anon_sym_COMMA, - anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1455), 4, + anon_sym_for, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -37895,69 +39622,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31886] = 23, + [32131] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(247), 4, + ACTIONS(269), 4, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_RBRACK, - ACTIONS(1455), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -37974,50 +39703,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [31988] = 15, + [32236] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, + ACTIONS(239), 6, anon_sym_EQ, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 27, + ACTIONS(237), 27, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38045,26 +39776,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32074] = 9, + [32325] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1481), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 15, + ACTIONS(239), 15, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -38080,7 +39813,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 29, + ACTIONS(237), 29, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38110,33 +39843,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32148] = 11, + [32402] = 12, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1475), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 10, + ACTIONS(239), 10, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -38147,7 +39882,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 29, + ACTIONS(237), 29, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38177,49 +39912,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32226] = 14, + [32483] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1461), 1, + STATE(469), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(291), 22, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, anon_sym_TILDE, - ACTIONS(1473), 1, - anon_sym_PIPE, - ACTIONS(1475), 1, - anon_sym_AMP, - ACTIONS(1481), 1, - anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(1471), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1459), 4, - anon_sym_DASH, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_CARET, anon_sym_DOT_DOT, - ACTIONS(235), 29, + anon_sym_DOT, + ACTIONS(289), 32, sym_named_op_assign, anon_sym_COMMA, + anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS_EQ, @@ -38237,6 +39961,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -38246,47 +39971,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, anon_sym_RBRACK, - [32310] = 13, + [32548] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1459), 4, + ACTIONS(1521), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 8, + ACTIONS(239), 6, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_LT_LT, - anon_sym_GT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 29, + ACTIONS(237), 29, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38316,45 +40045,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32392] = 12, + [32635] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1475), 1, + ACTIONS(1523), 1, + anon_sym_PIPE, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 9, + ACTIONS(239), 8, anon_sym_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_LT, anon_sym_GT_GT, - anon_sym_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 29, + ACTIONS(237), 29, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38384,43 +40116,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32472] = 10, + [32720] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1481), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, + anon_sym_TILDE, + ACTIONS(1525), 1, + anon_sym_AMP, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 11, + ACTIONS(239), 9, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_TILDE, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PIPE, - anon_sym_AMP, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 29, + ACTIONS(237), 29, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38450,41 +40186,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32548] = 8, + [32803] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1481), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, + ACTIONS(1509), 4, anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, + ACTIONS(239), 11, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 29, + ACTIONS(237), 29, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38514,20 +40254,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32620] = 8, + [32882] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1481), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, + ACTIONS(239), 20, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -38548,7 +40290,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 29, + ACTIONS(237), 29, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38578,61 +40320,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32692] = 18, + [32957] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, + anon_sym_EQ, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1473), 1, + ACTIONS(1515), 1, + anon_sym_or, + ACTIONS(1517), 1, + anon_sym_and, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(241), 2, - anon_sym_EQ, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1469), 2, + ACTIONS(1535), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(261), 4, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(239), 23, + ACTIONS(1507), 16, sym_named_op_assign, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -38648,54 +40401,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [32784] = 15, + [33062] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1473), 1, + ACTIONS(1513), 1, + anon_sym_not, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(243), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1459), 4, + ACTIONS(1529), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1505), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(253), 6, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(251), 27, + ACTIONS(241), 23, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -38715,46 +40473,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [32870] = 4, + [33157] = 16, ACTIONS(3), 1, sym_comment, - STATE(455), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(289), 22, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(1523), 1, anon_sym_PIPE, + ACTIONS(1525), 1, anon_sym_AMP, + ACTIONS(1531), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(1519), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1521), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1509), 4, + anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, + ACTIONS(255), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_CARET, anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(287), 31, + ACTIONS(253), 27, sym_named_op_assign, anon_sym_COMMA, - anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS_EQ, @@ -38775,77 +40545,76 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, anon_sym_RBRACK, - [32934] = 23, + [33246] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(255), 4, + ACTIONS(273), 4, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_RBRACK, - ACTIONS(1455), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -38862,70 +40631,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [33036] = 23, + [33351] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1451), 1, - anon_sym_EQ, - ACTIONS(1461), 1, - anon_sym_TILDE, - ACTIONS(1463), 1, - anon_sym_not, - ACTIONS(1465), 1, - anon_sym_or, - ACTIONS(1467), 1, - anon_sym_and, - ACTIONS(1473), 1, - anon_sym_PIPE, - ACTIONS(1475), 1, - anon_sym_AMP, - ACTIONS(1481), 1, - anon_sym_CARET, - ACTIONS(1483), 1, - anon_sym_DOT_DOT, - ACTIONS(1485), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - ACTIONS(1469), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1479), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(295), 4, + ACTIONS(1546), 1, anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1455), 4, + STATE(469), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(299), 22, + anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1459), 4, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_CARET, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(297), 31, sym_named_op_assign, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -38941,66 +40681,84 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [33138] = 21, + anon_sym_as, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + [33418] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, + anon_sym_EQ, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1467), 1, + ACTIONS(1515), 1, + anon_sym_or, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(277), 4, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 21, + ACTIONS(1507), 16, sym_named_op_assign, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -39016,62 +40774,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_RBRACK, - [33236] = 20, + [33523] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, + ACTIONS(239), 1, anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1473), 1, + ACTIONS(1517), 1, + anon_sym_and, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 22, + ACTIONS(237), 21, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -39092,62 +40852,63 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, anon_sym_or, - anon_sym_and, anon_sym_RBRACK, - [33332] = 20, + [33624] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(285), 1, + ACTIONS(239), 1, anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(283), 22, + ACTIONS(237), 22, sym_named_op_assign, anon_sym_COMMA, anon_sym_LBRACE, @@ -39170,39 +40931,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_or, anon_sym_and, anon_sym_RBRACK, - [33428] = 5, + [33723] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(1500), 1, - anon_sym_COMMA, - STATE(455), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(297), 22, + ACTIONS(287), 1, anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1511), 1, anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(1513), 1, + anon_sym_not, + ACTIONS(1523), 1, anon_sym_PIPE, + ACTIONS(1525), 1, anon_sym_AMP, + ACTIONS(1531), 1, + anon_sym_CARET, + ACTIONS(1533), 1, + anon_sym_DOT_DOT, + ACTIONS(1535), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1519), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1521), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1529), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1505), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1509), 4, + anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_CARET, - anon_sym_DOT_DOT, - anon_sym_DOT, - ACTIONS(295), 30, + ACTIONS(285), 22, sym_named_op_assign, - anon_sym_LPAREN, + anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS_EQ, @@ -39220,80 +41006,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_LBRACK, anon_sym_RBRACK, - [33494] = 23, + [33822] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(259), 4, + ACTIONS(297), 4, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_RBRACK, - ACTIONS(1455), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -39310,72 +41090,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [33596] = 26, + [33927] = 27, ACTIONS(3), 1, sym_comment, ACTIONS(185), 1, anon_sym_for, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1422), 1, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1426), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1428), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1444), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1503), 1, + ACTIONS(1549), 1, anon_sym_COMMA, - ACTIONS(1505), 1, + ACTIONS(1551), 1, anon_sym_RBRACK, - STATE(331), 1, + STATE(396), 1, sym_arguments, - STATE(639), 1, + STATE(663), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(1430), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1416), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -39392,69 +41174,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [33704] = 23, + [34038] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(231), 4, + ACTIONS(249), 4, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_RBRACK, - ACTIONS(1455), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -39471,61 +41255,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [33806] = 18, + [34143] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, + anon_sym_EQ, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1473), 1, + ACTIONS(1515), 1, + anon_sym_or, + ACTIONS(1517), 1, + anon_sym_and, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(293), 2, - anon_sym_EQ, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1469), 2, + ACTIONS(1535), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(257), 4, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(291), 23, + ACTIONS(1507), 16, sym_named_op_assign, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -39541,74 +41336,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [33898] = 25, + [34248] = 27, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(185), 1, + anon_sym_for, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1490), 1, + ACTIONS(1553), 1, anon_sym_COMMA, - ACTIONS(1507), 1, - anon_sym_LBRACE, - STATE(171), 1, - sym_block, - STATE(331), 1, + ACTIONS(1555), 1, + anon_sym_RBRACK, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + STATE(677), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -39625,70 +41420,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34003] = 25, + [34359] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1510), 1, - anon_sym_COMMA, - ACTIONS(1512), 1, - anon_sym_RPAREN, - STATE(331), 1, + STATE(396), 1, sym_arguments, - STATE(669), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(1394), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(233), 4, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -39705,70 +41501,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34108] = 25, + [34464] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1462), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1472), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1474), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1476), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1478), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1484), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1486), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1492), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1494), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1496), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1514), 1, - anon_sym_COMMA, - ACTIONS(1516), 1, - anon_sym_RPAREN, - STATE(331), 1, + STATE(396), 1, sym_arguments, - STATE(681), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(1394), 2, + ACTIONS(1480), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1482), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1490), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1557), 3, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_for, + ACTIONS(1466), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1470), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1488), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1468), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -39785,70 +41581,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34213] = 25, + [34568] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(185), 1, - anon_sym_LBRACE, - ACTIONS(794), 1, + anon_sym_RBRACK, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1453), 1, + ACTIONS(1426), 1, anon_sym_COMMA, - ACTIONS(1461), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - STATE(476), 1, + STATE(497), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(1469), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1479), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -39865,70 +41663,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34318] = 25, + [34676] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1518), 1, + ACTIONS(1559), 1, anon_sym_COMMA, - ACTIONS(1520), 1, - anon_sym_RBRACK, - STATE(331), 1, + ACTIONS(1561), 1, + anon_sym_RPAREN, + STATE(396), 1, sym_arguments, - STATE(687), 1, + STATE(723), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -39945,70 +41745,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34423] = 25, + [34784] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1522), 1, + ACTIONS(1563), 1, anon_sym_COMMA, - ACTIONS(1524), 1, + ACTIONS(1565), 1, anon_sym_RPAREN, - STATE(331), 1, + STATE(396), 1, sym_arguments, - STATE(662), 1, + STATE(698), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40025,68 +41827,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34528] = 23, + [34892] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1412), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1422), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1424), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1426), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1428), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1434), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1436), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1442), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1444), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1446), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1430), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1432), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1440), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1526), 3, + ACTIONS(1567), 3, anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_for, - ACTIONS(1416), 4, + anon_sym_RBRACK, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1420), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1438), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1418), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40103,70 +41907,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34629] = 25, + [34996] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(185), 1, - anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1378), 1, - anon_sym_COMMA, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + ACTIONS(1569), 1, + anon_sym_COMMA, + ACTIONS(1571), 1, + anon_sym_RPAREN, + STATE(396), 1, sym_arguments, - STATE(478), 1, + STATE(726), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40183,68 +41989,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34734] = 23, + [35104] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + ACTIONS(1573), 1, + anon_sym_COMMA, + ACTIONS(1575), 1, + anon_sym_RPAREN, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + STATE(768), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1528), 3, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40261,69 +42071,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34835] = 24, + [35212] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(185), 1, + anon_sym_LBRACE, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1530), 1, - anon_sym_COLON, - STATE(331), 1, + ACTIONS(1540), 1, + anon_sym_COMMA, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + STATE(494), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1498), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - ACTIONS(1404), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40340,70 +42153,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [34938] = 25, + [35320] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1532), 1, + ACTIONS(1577), 1, anon_sym_COMMA, - ACTIONS(1534), 1, + ACTIONS(1579), 1, anon_sym_RPAREN, - STATE(331), 1, + STATE(396), 1, sym_arguments, - STATE(707), 1, + STATE(722), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40420,70 +42235,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35043] = 25, + [35428] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1503), 1, + anon_sym_COMMA, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1536), 1, - anon_sym_COMMA, - ACTIONS(1538), 1, - anon_sym_RPAREN, - STATE(331), 1, + ACTIONS(1581), 1, + anon_sym_LBRACE, + STATE(196), 1, + sym_block, + STATE(396), 1, sym_arguments, - STATE(697), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(1394), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40500,68 +42317,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35148] = 24, + [35536] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(21), 1, - anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(91), 1, - sym_block, - STATE(331), 1, + ACTIONS(1584), 1, + anon_sym_COLON, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1544), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40578,67 +42398,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35250] = 23, + [35642] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + ACTIONS(1586), 1, + anon_sym_COMMA, + ACTIONS(1588), 1, + anon_sym_RBRACK, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + STATE(740), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1526), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40655,67 +42480,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35350] = 23, + [35750] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1602), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(101), 1, + sym_block, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1574), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - ACTIONS(1404), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40732,67 +42560,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35450] = 23, + [35855] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1451), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1501), 1, anon_sym_EQ, - ACTIONS(1461), 1, + ACTIONS(1511), 1, anon_sym_TILDE, - ACTIONS(1463), 1, + ACTIONS(1513), 1, anon_sym_not, - ACTIONS(1465), 1, + ACTIONS(1515), 1, anon_sym_or, - ACTIONS(1467), 1, + ACTIONS(1517), 1, anon_sym_and, - ACTIONS(1473), 1, + ACTIONS(1523), 1, anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1525), 1, anon_sym_AMP, - ACTIONS(1481), 1, + ACTIONS(1531), 1, anon_sym_CARET, - ACTIONS(1483), 1, + ACTIONS(1533), 1, anon_sym_DOT_DOT, - ACTIONS(1485), 1, + ACTIONS(1535), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1469), 2, + ACTIONS(1519), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1471), 2, + ACTIONS(1521), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1528), 2, + ACTIONS(1567), 2, anon_sym_COMMA, anon_sym_LBRACE, - ACTIONS(1479), 3, + ACTIONS(1529), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1455), 4, + ACTIONS(1505), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1459), 4, + ACTIONS(1509), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1477), 5, + ACTIONS(1527), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1457), 16, + ACTIONS(1507), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40809,14 +42639,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35550] = 5, + [35958] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1453), 1, + ACTIONS(1540), 1, anon_sym_COMMA, - STATE(455), 1, + STATE(469), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(289), 22, + ACTIONS(291), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -40839,7 +42669,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(287), 28, + ACTIONS(289), 29, sym_named_op_assign, anon_sym_LPAREN, anon_sym_LBRACE, @@ -40858,6 +42688,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -40868,68 +42699,150 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_LBRACK, - [35614] = 24, + [36023] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1602), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, STATE(44), 1, sym_block, - STATE(331), 1, + STATE(396), 1, + sym_arguments, + ACTIONS(1606), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1616), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1592), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1596), 4, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + ACTIONS(1614), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(1594), 16, + sym_named_op_assign, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [36128] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, + anon_sym_TILDE, + ACTIONS(1438), 1, + anon_sym_not, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, + anon_sym_PIPE, + ACTIONS(1450), 1, + anon_sym_AMP, + ACTIONS(1456), 1, + anon_sym_CARET, + ACTIONS(1458), 1, + anon_sym_DOT_DOT, + ACTIONS(1460), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(1624), 1, + anon_sym_COMMA, + ACTIONS(1626), 1, + anon_sym_RPAREN, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -40946,14 +42859,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35716] = 5, + [36233] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1378), 1, + ACTIONS(1426), 1, anon_sym_COMMA, - STATE(388), 1, + STATE(421), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(289), 22, + ACTIONS(291), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -40976,7 +42889,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(287), 28, + ACTIONS(289), 29, sym_named_op_assign, anon_sym_LPAREN, anon_sym_PLUS_EQ, @@ -40994,6 +42907,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -41005,68 +42919,149 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_EQ, anon_sym_LBRACK, anon_sym_RBRACK, - [35780] = 24, + [36298] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1424), 1, + anon_sym_EQ, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, + anon_sym_TILDE, + ACTIONS(1438), 1, + anon_sym_not, + ACTIONS(1440), 1, + anon_sym_or, + ACTIONS(1442), 1, + anon_sym_and, + ACTIONS(1448), 1, + anon_sym_PIPE, + ACTIONS(1450), 1, + anon_sym_AMP, + ACTIONS(1456), 1, + anon_sym_CARET, + ACTIONS(1458), 1, + anon_sym_DOT_DOT, + ACTIONS(1460), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1444), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1446), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1557), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(1454), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1428), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1434), 4, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + ACTIONS(1452), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(1430), 16, + sym_named_op_assign, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [36401] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1576), 1, + ACTIONS(1628), 1, anon_sym_COMMA, - ACTIONS(1578), 1, + ACTIONS(1630), 1, anon_sym_RPAREN, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41083,68 +43078,149 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35882] = 24, + [36506] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1390), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1392), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1580), 1, + STATE(396), 1, + sym_arguments, + ACTIONS(1444), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1446), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1632), 2, anon_sym_COMMA, - ACTIONS(1582), 1, - anon_sym_RPAREN, - STATE(331), 1, + anon_sym_RBRACE, + ACTIONS(1454), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1428), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1434), 4, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + ACTIONS(1452), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(1430), 16, + sym_named_op_assign, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [36609] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, + anon_sym_EQ, + ACTIONS(1598), 1, + anon_sym_TILDE, + ACTIONS(1600), 1, + anon_sym_not, + ACTIONS(1602), 1, + anon_sym_or, + ACTIONS(1604), 1, + anon_sym_and, + ACTIONS(1610), 1, + anon_sym_PIPE, + ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, + anon_sym_CARET, + ACTIONS(1620), 1, + anon_sym_DOT_DOT, + ACTIONS(1622), 1, + anon_sym_DOT_DOT_EQ, + STATE(196), 1, + sym_block, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41161,68 +43237,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [35984] = 24, + [36714] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1602), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(171), 1, + STATE(341), 1, sym_block, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41239,68 +43317,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [36086] = 24, + [36819] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1646), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1648), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + ACTIONS(1668), 1, + anon_sym_RBRACK, + STATE(396), 1, sym_arguments, - STATE(337), 1, - sym_block, - ACTIONS(1556), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41317,66 +43395,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [36188] = 23, + [36921] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(271), 1, - anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(239), 1, + anon_sym_EQ, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, - anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1596), 1, - anon_sym_or, - ACTIONS(1598), 1, + ACTIONS(1648), 1, anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(237), 18, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41393,62 +43469,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [36287] = 20, + anon_sym_or, + anon_sym_RBRACK, + [37019] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(285), 1, + ACTIONS(239), 1, anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1560), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(283), 19, + ACTIONS(237), 19, sym_named_op_assign, - anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -41466,50 +43545,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT_EQ, anon_sym_or, anon_sym_and, - [36380] = 15, + anon_sym_RBRACK, + [37115] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1604), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, + ACTIONS(239), 6, anon_sym_EQ, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 24, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41529,47 +43608,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [36463] = 9, + [37199] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1612), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, + anon_sym_TILDE, + ACTIONS(1654), 1, + anon_sym_PIPE, + ACTIONS(1656), 1, + anon_sym_AMP, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1608), 5, + ACTIONS(1640), 4, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 15, + ACTIONS(239), 8, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, anon_sym_LT_LT, anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41596,44 +43683,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [36534] = 11, + [37281] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1606), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, + anon_sym_TILDE, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 10, + ACTIONS(239), 9, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_TILDE, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41660,134 +43750,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [36609] = 21, + [37361] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, - anon_sym_TILDE, - ACTIONS(1594), 1, - anon_sym_not, - ACTIONS(1598), 1, - anon_sym_and, - ACTIONS(1604), 1, - anon_sym_PIPE, - ACTIONS(1606), 1, - anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, - anon_sym_DOT_DOT, - ACTIONS(1616), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1610), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1586), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 18, - sym_named_op_assign, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_RBRACK, - [36704] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(237), 1, + ACTIONS(239), 11, anon_sym_EQ, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1592), 1, + anon_sym_LT, + anon_sym_GT, anon_sym_TILDE, - ACTIONS(1594), 1, - anon_sym_not, - ACTIONS(1604), 1, - anon_sym_PIPE, - ACTIONS(1606), 1, - anon_sym_AMP, - ACTIONS(1612), 1, - anon_sym_CARET, - ACTIONS(1614), 1, - anon_sym_DOT_DOT, - ACTIONS(1616), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - ACTIONS(1600), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1586), 4, - anon_sym_LT, - anon_sym_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - ACTIONS(1608), 5, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - ACTIONS(235), 19, + anon_sym_DOT_DOT, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41804,50 +43805,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_not, anon_sym_or, anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [36797] = 14, + [37437] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, - anon_sym_TILDE, - ACTIONS(1604), 1, - anon_sym_PIPE, - ACTIONS(1606), 1, - anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1602), 2, + ACTIONS(239), 20, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_TILDE, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1590), 4, - anon_sym_DASH, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41874,46 +43878,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [36878] = 13, + [37509] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, - anon_sym_TILDE, - ACTIONS(1604), 1, - anon_sym_PIPE, - ACTIONS(1606), 1, - anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1590), 4, + ACTIONS(239), 20, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 8, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_LT_LT, - anon_sym_GT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41940,45 +43941,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [36957] = 12, + [37581] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1606), 1, + ACTIONS(1644), 1, + anon_sym_not, + ACTIONS(1654), 1, + anon_sym_PIPE, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1590), 4, + ACTIONS(243), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1650), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1652), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1660), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1636), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 9, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(241), 20, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -41995,53 +44010,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [37034] = 10, + [37673] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(249), 1, + anon_sym_RBRACK, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1612), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, + anon_sym_EQ, + ACTIONS(1642), 1, + anon_sym_TILDE, + ACTIONS(1644), 1, + anon_sym_not, + ACTIONS(1646), 1, + anon_sym_or, + ACTIONS(1648), 1, + anon_sym_and, + ACTIONS(1654), 1, + anon_sym_PIPE, + ACTIONS(1656), 1, + anon_sym_AMP, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1664), 1, + anon_sym_DOT_DOT, + ACTIONS(1666), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, sym_arguments, - ACTIONS(1590), 4, + ACTIONS(1650), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1652), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1660), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1636), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 11, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42058,51 +44092,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [37107] = 8, + [37775] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1612), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, + anon_sym_TILDE, + ACTIONS(1654), 1, + anon_sym_PIPE, + ACTIONS(1656), 1, + anon_sym_AMP, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, + ACTIONS(1650), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, + ACTIONS(1640), 4, + anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, + ACTIONS(255), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(253), 24, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42122,48 +44157,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_RBRACK, - [37176] = 8, + [37861] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(257), 1, + anon_sym_RBRACK, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1612), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, + anon_sym_EQ, + ACTIONS(1642), 1, + anon_sym_TILDE, + ACTIONS(1644), 1, + anon_sym_not, + ACTIONS(1646), 1, + anon_sym_or, + ACTIONS(1648), 1, + anon_sym_and, + ACTIONS(1654), 1, + anon_sym_PIPE, + ACTIONS(1656), 1, + anon_sym_AMP, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1664), 1, + anon_sym_DOT_DOT, + ACTIONS(1666), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, - anon_sym_EQ, + ACTIONS(1650), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1652), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1660), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1640), 4, anon_sym_DASH, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42180,67 +44240,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [37245] = 18, + [37963] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(261), 1, + anon_sym_RBRACK, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, + anon_sym_EQ, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1604), 1, + ACTIONS(1646), 1, + anon_sym_or, + ACTIONS(1648), 1, + anon_sym_and, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(241), 2, - anon_sym_EQ, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1600), 2, + ACTIONS(1666), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(239), 20, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42257,70 +44318,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [37334] = 23, + [38065] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(247), 1, + ACTIONS(233), 1, anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1596), 1, + ACTIONS(1646), 1, anon_sym_or, - ACTIONS(1598), 1, + ACTIONS(1648), 1, anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42337,60 +44396,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [37433] = 20, + [38167] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(285), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(265), 1, + anon_sym_RBRACK, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, + anon_sym_EQ, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1604), 1, + ACTIONS(1646), 1, + anon_sym_or, + ACTIONS(1648), 1, + anon_sym_and, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(283), 19, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42407,53 +44474,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_RBRACK, - [37526] = 15, + [38269] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, + anon_sym_EQ, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1604), 1, + ACTIONS(1644), 1, + anon_sym_not, + ACTIONS(1646), 1, + anon_sym_or, + ACTIONS(1648), 1, + anon_sym_and, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + ACTIONS(1664), 1, + anon_sym_DOT_DOT, + ACTIONS(1666), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(1670), 1, + anon_sym_RBRACK, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1590), 4, + ACTIONS(1660), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1636), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(253), 6, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(251), 24, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42470,74 +44552,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [37609] = 23, + [38371] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(255), 1, + ACTIONS(269), 1, anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1596), 1, + ACTIONS(1646), 1, anon_sym_or, - ACTIONS(1598), 1, + ACTIONS(1648), 1, anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42554,66 +44630,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [37708] = 23, + [38473] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, + ACTIONS(273), 1, anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1596), 1, + ACTIONS(1646), 1, anon_sym_or, - ACTIONS(1598), 1, + ACTIONS(1648), 1, anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42630,66 +44708,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [37807] = 23, + [38575] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(231), 1, + ACTIONS(277), 1, anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1596), 1, + ACTIONS(1646), 1, anon_sym_or, - ACTIONS(1598), 1, + ACTIONS(1648), 1, anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(1638), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42706,66 +44786,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [37906] = 23, + [38677] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(263), 1, - anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, - anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, - anon_sym_not, - ACTIONS(1596), 1, - anon_sym_or, - ACTIONS(1598), 1, - anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, - anon_sym_DOT_DOT, - ACTIONS(1616), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1586), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(239), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 24, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -42782,67 +44848,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [38005] = 23, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + [38763] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(239), 1, + anon_sym_EQ, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, - anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1596), 1, - anon_sym_or, - ACTIONS(1598), 1, - anon_sym_and, ACTIONS(1604), 1, + anon_sym_and, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1606), 1, - anon_sym_AMP, ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(237), 18, sym_named_op_assign, + anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -42858,67 +44931,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [38104] = 23, + anon_sym_or, + [38861] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(275), 1, - anon_sym_RBRACK, - ACTIONS(794), 1, + ACTIONS(239), 1, + anon_sym_EQ, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, - anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1596), 1, - anon_sym_or, - ACTIONS(1598), 1, - anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1606), 1, - anon_sym_AMP, ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(237), 19, sym_named_op_assign, + anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -42934,57 +45005,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [38203] = 18, + anon_sym_or, + anon_sym_and, + [38957] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(249), 1, + anon_sym_LBRACE, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, + anon_sym_EQ, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1600), 1, anon_sym_not, + ACTIONS(1602), 1, + anon_sym_or, ACTIONS(1604), 1, + anon_sym_and, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1606), 1, - anon_sym_AMP, ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(293), 2, - anon_sym_EQ, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1600), 2, + ACTIONS(1622), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(291), 20, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -43001,68 +45085,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - anon_sym_DOT_DOT_EQ, - anon_sym_RBRACK, - [38292] = 21, + [39059] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(257), 1, + anon_sym_LBRACE, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, + anon_sym_EQ, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1554), 1, + ACTIONS(1602), 1, + anon_sym_or, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 18, + ACTIONS(1594), 16, sym_named_op_assign, - anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -43078,63 +45163,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - [38387] = 20, + [39161] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, - anon_sym_EQ, - ACTIONS(794), 1, + ACTIONS(261), 1, + anon_sym_LBRACE, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, + anon_sym_EQ, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1560), 1, + ACTIONS(1602), 1, + anon_sym_or, + ACTIONS(1604), 1, + anon_sym_and, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(235), 19, + ACTIONS(1594), 16, sym_named_op_assign, - anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -43150,68 +45241,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_or, - anon_sym_and, - [38480] = 23, + [39263] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(247), 1, + ACTIONS(233), 1, anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1602), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -43228,66 +45319,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [38579] = 23, + [39365] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(255), 1, + ACTIONS(265), 1, anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1602), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -43304,66 +45397,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [38678] = 23, + [39467] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, + ACTIONS(269), 1, anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1602), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -43380,66 +45475,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [38777] = 23, + [39569] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(231), 1, + ACTIONS(273), 1, anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1602), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -43456,66 +45553,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [38876] = 23, + [39671] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(263), 1, + ACTIONS(277), 1, anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1590), 1, anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1552), 1, + ACTIONS(1602), 1, anon_sym_or, - ACTIONS(1554), 1, + ACTIONS(1604), 1, anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1572), 1, + ACTIONS(1622), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(1594), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -43532,67 +45631,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [38975] = 23, + [39773] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, - anon_sym_EQ, - ACTIONS(1548), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, - anon_sym_not, - ACTIONS(1552), 1, - anon_sym_or, - ACTIONS(1554), 1, - anon_sym_and, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, - anon_sym_DOT_DOT, - ACTIONS(1572), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1542), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(239), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 24, sym_named_op_assign, + anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -43608,67 +45694,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [39074] = 23, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + [39859] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(271), 1, - anon_sym_LBRACE, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1540), 1, - anon_sym_EQ, - ACTIONS(1548), 1, - anon_sym_TILDE, - ACTIONS(1550), 1, - anon_sym_not, - ACTIONS(1552), 1, - anon_sym_or, - ACTIONS(1554), 1, - anon_sym_and, - ACTIONS(1560), 1, - anon_sym_PIPE, - ACTIONS(1562), 1, - anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1570), 1, - anon_sym_DOT_DOT, - ACTIONS(1572), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1566), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1614), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(239), 15, + anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1546), 4, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 26, sym_named_op_assign, + anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -43684,67 +45756,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [39173] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(275), 1, - anon_sym_LBRACE, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1540), 1, - anon_sym_EQ, - ACTIONS(1548), 1, - anon_sym_TILDE, - ACTIONS(1550), 1, anon_sym_not, - ACTIONS(1552), 1, anon_sym_or, - ACTIONS(1554), 1, anon_sym_and, - ACTIONS(1560), 1, - anon_sym_PIPE, - ACTIONS(1562), 1, - anon_sym_AMP, - ACTIONS(1568), 1, - anon_sym_CARET, - ACTIONS(1570), 1, - anon_sym_DOT_DOT, - ACTIONS(1572), 1, - anon_sym_DOT_DOT_EQ, - STATE(331), 1, - sym_arguments, - ACTIONS(1556), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1566), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1546), 4, + anon_sym_DOT_DOT_EQ, + [39933] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(887), 1, + anon_sym_LPAREN, + ACTIONS(1361), 1, + anon_sym_LBRACK, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, + anon_sym_CARET, + STATE(396), 1, + sym_arguments, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1544), 16, + ACTIONS(239), 10, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 26, sym_named_op_assign, + anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -43760,50 +45822,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [39272] = 15, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + anon_sym_DOT_DOT_EQ, + [40011] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1556), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, + ACTIONS(239), 6, anon_sym_EQ, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 24, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -43824,46 +45894,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - [39355] = 9, + [40095] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1568), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, + anon_sym_TILDE, + ACTIONS(1610), 1, + anon_sym_PIPE, + ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1564), 5, + ACTIONS(1596), 4, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 15, + ACTIONS(239), 8, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, anon_sym_LT_LT, anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -43890,44 +45968,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - [39426] = 11, + [40177] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1562), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, + anon_sym_TILDE, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 10, + ACTIONS(239), 9, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - anon_sym_TILDE, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -43954,47 +46035,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - [39501] = 14, + [40257] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, - anon_sym_TILDE, - ACTIONS(1560), 1, - anon_sym_PIPE, - ACTIONS(1562), 1, - anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1558), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 6, + ACTIONS(239), 11, anon_sym_EQ, anon_sym_LT, anon_sym_GT, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -44021,46 +46100,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - [39582] = 13, + [40333] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, - anon_sym_TILDE, - ACTIONS(1560), 1, - anon_sym_PIPE, - ACTIONS(1562), 1, - anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1546), 4, + ACTIONS(239), 20, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 8, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_LT_LT, - anon_sym_GT_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -44087,45 +46163,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - [39661] = 12, + [40405] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, - anon_sym_TILDE, - ACTIONS(1562), 1, - anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1546), 4, + ACTIONS(239), 20, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_DASH, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_AMP, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 9, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -44152,43 +46226,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - [39738] = 10, + [40477] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1568), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, + anon_sym_TILDE, + ACTIONS(1600), 1, + anon_sym_not, + ACTIONS(1610), 1, + anon_sym_PIPE, + ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1546), 4, + ACTIONS(243), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1606), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1616), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1592), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(237), 11, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(241), 20, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -44206,50 +46296,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, anon_sym_DOT_DOT_EQ, - [39811] = 8, + [40569] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1568), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, + anon_sym_TILDE, + ACTIONS(1610), 1, + anon_sym_PIPE, + ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_DASH, - anon_sym_TILDE, + ACTIONS(1606), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_AMP, + ACTIONS(1596), 4, + anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, + ACTIONS(255), 6, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(253), 24, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -44270,26 +46365,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, anon_sym_or, anon_sym_and, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - [39880] = 8, + [40655] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1568), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(237), 20, + ACTIONS(1658), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(239), 15, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -44302,17 +46403,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DOT_DOT, - ACTIONS(235), 26, + ACTIONS(237), 26, sym_named_op_assign, - anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -44337,57 +46432,63 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_in, anon_sym_DOT_DOT_EQ, - [39949] = 18, + anon_sym_RBRACK, + [40729] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(287), 1, + anon_sym_EQ, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1550), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1560), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1612), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1618), 1, anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(241), 2, - anon_sym_EQ, + ACTIONS(1620), 1, anon_sym_DOT_DOT, - ACTIONS(1556), 2, + ACTIONS(1622), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1566), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1542), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(239), 20, + ACTIONS(285), 19, sym_named_op_assign, anon_sym_LBRACE, anon_sym_PLUS_EQ, @@ -44407,84 +46508,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT_EQ, anon_sym_or, anon_sym_and, - anon_sym_DOT_DOT_EQ, - [40038] = 15, + [40825] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, - anon_sym_LPAREN, - ACTIONS(988), 1, - anon_sym_LBRACK, - ACTIONS(990), 1, - anon_sym_DOT, - ACTIONS(1548), 1, - anon_sym_TILDE, - ACTIONS(1560), 1, - anon_sym_PIPE, - ACTIONS(1562), 1, - anon_sym_AMP, - ACTIONS(1568), 1, - anon_sym_CARET, - STATE(331), 1, - sym_arguments, - ACTIONS(1556), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1546), 4, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_PLUS_PLUS, - anon_sym_LT_GT, - ACTIONS(1564), 5, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - anon_sym_PERCENT, - anon_sym_PERCENT_PERCENT, - ACTIONS(253), 6, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - ACTIONS(251), 24, - sym_named_op_assign, - anon_sym_LBRACE, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_BSLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_PERCENT_PERCENT_EQ, - anon_sym_CARET_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_TILDE_EQ, - anon_sym_PLUS_PLUS_EQ, - anon_sym_LT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_GT_GT_EQ, - anon_sym_not, - anon_sym_or, - anon_sym_and, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - anon_sym_DOT_DOT_EQ, - [40121] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1620), 1, + ACTIONS(1674), 1, anon_sym_EQ, - ACTIONS(1618), 2, + ACTIONS(1672), 2, anon_sym_COLON, anon_sym_COMMA, - ACTIONS(1625), 21, + ACTIONS(1679), 21, anon_sym_LT, anon_sym_GT, anon_sym_DASH, @@ -44506,7 +46538,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(1623), 27, + ACTIONS(1677), 28, sym_named_op_assign, anon_sym_LPAREN, anon_sym_PLUS_EQ, @@ -44524,6 +46556,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -44534,66 +46567,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_in, anon_sym_DOT_DOT_EQ, anon_sym_LBRACK, - [40184] = 23, + [40889] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(287), 1, + anon_sym_EQ, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1376), 1, - anon_sym_EQ, - ACTIONS(1386), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1388), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1390), 1, - anon_sym_or, - ACTIONS(1392), 1, - anon_sym_and, - ACTIONS(1398), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1400), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1406), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1408), 1, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - ACTIONS(1410), 1, + ACTIONS(1666), 1, anon_sym_DOT_DOT_EQ, - ACTIONS(1627), 1, - anon_sym_COMMA, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1394), 2, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1396), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1404), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1380), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1384), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1402), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1382), 16, + ACTIONS(285), 19, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -44610,66 +46639,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [40283] = 23, + anon_sym_or, + anon_sym_and, + anon_sym_RBRACK, + [40985] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, - anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1642), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1644), 1, anon_sym_not, - ACTIONS(1596), 1, - anon_sym_or, - ACTIONS(1598), 1, - anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1654), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1662), 1, anon_sym_CARET, - ACTIONS(1614), 1, - anon_sym_DOT_DOT, - ACTIONS(1616), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(1629), 1, - anon_sym_RBRACK, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(295), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1650), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1652), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1660), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1636), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(293), 20, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -44686,59 +46711,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [40382] = 18, + anon_sym_or, + anon_sym_and, + anon_sym_DOT_DOT_EQ, + anon_sym_RBRACK, + [41077] = 12, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1548), 1, - anon_sym_TILDE, - ACTIONS(1550), 1, - anon_sym_not, - ACTIONS(1560), 1, - anon_sym_PIPE, - ACTIONS(1562), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1656), 1, anon_sym_AMP, - ACTIONS(1568), 1, + ACTIONS(1662), 1, anon_sym_CARET, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(293), 2, - anon_sym_EQ, - anon_sym_DOT_DOT, - ACTIONS(1556), 2, - anon_sym_LT_EQ_GT, - anon_sym_GT_EQ_LT, - ACTIONS(1558), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(1566), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_in, - ACTIONS(1542), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(1546), 4, + ACTIONS(1640), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1564), 5, + ACTIONS(1658), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(291), 20, + ACTIONS(239), 10, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + anon_sym_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DOT_DOT, + ACTIONS(237), 26, sym_named_op_assign, - anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -44754,70 +46771,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_not, anon_sym_or, anon_sym_and, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, anon_sym_DOT_DOT_EQ, - [40471] = 23, + anon_sym_RBRACK, + [41155] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, - anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1598), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1600), 1, anon_sym_not, - ACTIONS(1596), 1, - anon_sym_or, - ACTIONS(1598), 1, - anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1610), 1, anon_sym_PIPE, - ACTIONS(1606), 1, - anon_sym_AMP, ACTIONS(1612), 1, + anon_sym_AMP, + ACTIONS(1618), 1, anon_sym_CARET, - ACTIONS(1614), 1, - anon_sym_DOT_DOT, - ACTIONS(1616), 1, - anon_sym_DOT_DOT_EQ, - ACTIONS(1631), 1, - anon_sym_RBRACK, - STATE(331), 1, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(295), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1606), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1608), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1616), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1592), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1596), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1614), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(293), 20, sym_named_op_assign, + anon_sym_LBRACE, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -44833,64 +46851,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [40570] = 22, + anon_sym_or, + anon_sym_and, + anon_sym_DOT_DOT_EQ, + [41247] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 1, + ACTIONS(887), 1, anon_sym_LPAREN, - ACTIONS(988), 1, + ACTIONS(1361), 1, anon_sym_LBRACK, - ACTIONS(990), 1, + ACTIONS(1363), 1, anon_sym_DOT, - ACTIONS(1584), 1, + ACTIONS(1424), 1, anon_sym_EQ, - ACTIONS(1592), 1, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1436), 1, anon_sym_TILDE, - ACTIONS(1594), 1, + ACTIONS(1438), 1, anon_sym_not, - ACTIONS(1596), 1, + ACTIONS(1440), 1, anon_sym_or, - ACTIONS(1598), 1, + ACTIONS(1442), 1, anon_sym_and, - ACTIONS(1604), 1, + ACTIONS(1448), 1, anon_sym_PIPE, - ACTIONS(1606), 1, + ACTIONS(1450), 1, anon_sym_AMP, - ACTIONS(1612), 1, + ACTIONS(1456), 1, anon_sym_CARET, - ACTIONS(1614), 1, + ACTIONS(1458), 1, anon_sym_DOT_DOT, - ACTIONS(1616), 1, + ACTIONS(1460), 1, anon_sym_DOT_DOT_EQ, - STATE(331), 1, + ACTIONS(1681), 1, + anon_sym_COMMA, + STATE(396), 1, sym_arguments, - ACTIONS(1600), 2, + ACTIONS(1444), 2, anon_sym_LT_EQ_GT, anon_sym_GT_EQ_LT, - ACTIONS(1602), 2, + ACTIONS(1446), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(1610), 3, + ACTIONS(1454), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_in, - ACTIONS(1586), 4, + ACTIONS(1428), 4, anon_sym_LT, anon_sym_GT, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(1590), 4, + ACTIONS(1434), 4, anon_sym_DASH, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_LT_GT, - ACTIONS(1608), 5, + ACTIONS(1452), 5, anon_sym_STAR, anon_sym_SLASH, anon_sym_BSLASH, anon_sym_PERCENT, anon_sym_PERCENT_PERCENT, - ACTIONS(1588), 16, + ACTIONS(1430), 16, sym_named_op_assign, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -44907,14 +46932,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, - [40666] = 5, + [41349] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1618), 1, + ACTIONS(1672), 1, anon_sym_COMMA, - ACTIONS(1633), 1, + ACTIONS(1683), 1, anon_sym_in, - ACTIONS(1625), 22, + ACTIONS(1679), 22, anon_sym_EQ, anon_sym_LT, anon_sym_GT, @@ -44937,7 +46962,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_DOT_DOT, anon_sym_DOT, - ACTIONS(1623), 26, + ACTIONS(1677), 27, sym_named_op_assign, anon_sym_LPAREN, anon_sym_PLUS_EQ, @@ -44955,6 +46980,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT_EQ, anon_sym_LT_LT_EQ, anon_sym_GT_GT_EQ, + anon_sym_as, anon_sym_not, anon_sym_or, anon_sym_and, @@ -44964,56 +46990,90 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_DOT_DOT_EQ, anon_sym_LBRACK, - [40728] = 5, + [41412] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(191), 1, - anon_sym_COMMA, - STATE(536), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(287), 14, - sym_raw_string, - ts_builtin_sym_end, - anon_sym_SEMI, + ACTIONS(887), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_TILDE, - anon_sym_DOT_DOT_EQ, + ACTIONS(1361), 1, anon_sym_LBRACK, - anon_sym_PERCENT_LBRACE, - sym_complex, - anon_sym_DQUOTE, - ACTIONS(289), 19, - anon_sym_let, - anon_sym_pure, - anon_sym_fn, - anon_sym_struct, + ACTIONS(1363), 1, + anon_sym_DOT, + ACTIONS(1432), 1, + anon_sym_as, + ACTIONS(1634), 1, + anon_sym_EQ, + ACTIONS(1642), 1, + anon_sym_TILDE, + ACTIONS(1644), 1, anon_sym_not, + ACTIONS(1646), 1, + anon_sym_or, + ACTIONS(1648), 1, + anon_sym_and, + ACTIONS(1654), 1, + anon_sym_PIPE, + ACTIONS(1656), 1, + anon_sym_AMP, + ACTIONS(1662), 1, + anon_sym_CARET, + ACTIONS(1664), 1, anon_sym_DOT_DOT, - anon_sym_for, - anon_sym_if, - anon_sym_while, - anon_sym_return, - sym_break_expression, - sym_continue_expression, - sym_integer, - sym_float, - anon_sym_true, - anon_sym_false, - anon_sym_Inf, - anon_sym_NaN, - sym_identifier, - [40775] = 5, + ACTIONS(1666), 1, + anon_sym_DOT_DOT_EQ, + STATE(396), 1, + sym_arguments, + ACTIONS(1650), 2, + anon_sym_LT_EQ_GT, + anon_sym_GT_EQ_LT, + ACTIONS(1652), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1660), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_in, + ACTIONS(1636), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1640), 4, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PLUS_PLUS, + anon_sym_LT_GT, + ACTIONS(1658), 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_BSLASH, + anon_sym_PERCENT, + anon_sym_PERCENT_PERCENT, + ACTIONS(1638), 16, + sym_named_op_assign, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_BSLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PERCENT_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_TILDE_EQ, + anon_sym_PLUS_PLUS_EQ, + anon_sym_LT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [41511] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(299), 1, + ACTIONS(191), 1, anon_sym_COMMA, - STATE(536), 1, + STATE(556), 1, aux_sym_tuple_expression_repeat1, - ACTIONS(295), 14, + ACTIONS(289), 14, sym_raw_string, ts_builtin_sym_end, anon_sym_SEMI, @@ -45028,7 +47088,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, sym_complex, anon_sym_DQUOTE, - ACTIONS(297), 19, + ACTIONS(291), 19, anon_sym_let, anon_sym_pure, anon_sym_fn, @@ -45048,14 +47108,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Inf, anon_sym_NaN, sym_identifier, - [40822] = 4, + [41558] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1640), 1, - anon_sym_SEMI, - ACTIONS(1636), 13, + ACTIONS(301), 1, + anon_sym_COMMA, + STATE(556), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(297), 14, sym_raw_string, ts_builtin_sym_end, + anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, @@ -45067,7 +47130,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, sym_complex, anon_sym_DQUOTE, - ACTIONS(1638), 19, + ACTIONS(299), 19, anon_sym_let, anon_sym_pure, anon_sym_fn, @@ -45087,10 +47150,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Inf, anon_sym_NaN, sym_identifier, - [40865] = 3, + [41605] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1642), 14, + ACTIONS(1686), 14, sym_raw_string, ts_builtin_sym_end, anon_sym_SEMI, @@ -45105,7 +47168,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, sym_complex, anon_sym_DQUOTE, - ACTIONS(1644), 19, + ACTIONS(1688), 19, anon_sym_let, anon_sym_pure, anon_sym_fn, @@ -45125,14 +47188,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Inf, anon_sym_NaN, sym_identifier, - [40906] = 4, + [41646] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1650), 1, + ACTIONS(1690), 14, + sym_raw_string, + ts_builtin_sym_end, anon_sym_SEMI, - ACTIONS(1646), 13, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_TILDE, + anon_sym_DOT_DOT_EQ, + anon_sym_LBRACK, + anon_sym_PERCENT_LBRACE, + sym_complex, + anon_sym_DQUOTE, + ACTIONS(1692), 19, + anon_sym_let, + anon_sym_pure, + anon_sym_fn, + anon_sym_struct, + anon_sym_not, + anon_sym_DOT_DOT, + anon_sym_for, + anon_sym_if, + anon_sym_while, + anon_sym_return, + sym_break_expression, + sym_continue_expression, + sym_integer, + sym_float, + anon_sym_true, + anon_sym_false, + anon_sym_Inf, + anon_sym_NaN, + sym_identifier, + [41687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1694), 14, sym_raw_string, ts_builtin_sym_end, + anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, @@ -45144,7 +47244,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, sym_complex, anon_sym_DQUOTE, - ACTIONS(1648), 19, + ACTIONS(1696), 19, anon_sym_let, anon_sym_pure, anon_sym_fn, @@ -45164,12 +47264,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Inf, anon_sym_NaN, sym_identifier, - [40949] = 4, + [41728] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1656), 1, + ACTIONS(1702), 1, anon_sym_SEMI, - ACTIONS(1652), 13, + ACTIONS(1698), 13, sym_raw_string, ts_builtin_sym_end, anon_sym_LPAREN, @@ -45183,7 +47283,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, sym_complex, anon_sym_DQUOTE, - ACTIONS(1654), 19, + ACTIONS(1700), 19, anon_sym_let, anon_sym_pure, anon_sym_fn, @@ -45203,13 +47303,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Inf, anon_sym_NaN, sym_identifier, - [40992] = 3, + [41771] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1658), 14, + ACTIONS(1708), 1, + anon_sym_SEMI, + ACTIONS(1704), 13, sym_raw_string, ts_builtin_sym_end, - anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, @@ -45221,7 +47322,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, sym_complex, anon_sym_DQUOTE, - ACTIONS(1660), 19, + ACTIONS(1706), 19, anon_sym_let, anon_sym_pure, anon_sym_fn, @@ -45241,13 +47342,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Inf, anon_sym_NaN, sym_identifier, - [41033] = 3, + [41814] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1662), 14, + ACTIONS(1714), 1, + anon_sym_SEMI, + ACTIONS(1710), 13, sym_raw_string, ts_builtin_sym_end, - anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, @@ -45259,7 +47361,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT_LBRACE, sym_complex, anon_sym_DQUOTE, - ACTIONS(1664), 19, + ACTIONS(1712), 19, anon_sym_let, anon_sym_pure, anon_sym_fn, @@ -45279,2897 +47381,3206 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Inf, anon_sym_NaN, sym_identifier, - [41074] = 4, + [41857] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1666), 1, + ACTIONS(328), 1, anon_sym_EQ, - ACTIONS(1670), 1, + ACTIONS(1716), 1, anon_sym_LT, - ACTIONS(1668), 6, + ACTIONS(326), 6, anon_sym_COMMA, anon_sym_EQ_GT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_GT, - [41092] = 8, + [41875] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1672), 1, + ACTIONS(1718), 1, sym_identifier, - ACTIONS(1674), 1, + ACTIONS(1720), 1, anon_sym_COMMA, - ACTIONS(1676), 1, + ACTIONS(1722), 1, anon_sym_LPAREN, - ACTIONS(1678), 1, + ACTIONS(1724), 1, anon_sym_RPAREN, - ACTIONS(1680), 1, + ACTIONS(1726), 1, anon_sym_LBRACK, - STATE(689), 1, + STATE(729), 1, sym_parameter, - STATE(688), 2, + STATE(772), 2, sym_tuple, sym_list, - [41118] = 3, + [41901] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1682), 2, - anon_sym_LT, + ACTIONS(511), 1, + anon_sym_EQ, + ACTIONS(509), 6, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_GT, - ACTIONS(1684), 5, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_in, - [41133] = 3, + [41916] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1728), 1, + anon_sym_COMMA, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + ACTIONS(1734), 1, + anon_sym_GT, + STATE(703), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [41937] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1686), 1, + ACTIONS(483), 1, anon_sym_EQ, - ACTIONS(1688), 6, + ACTIONS(481), 6, anon_sym_COMMA, anon_sym_EQ_GT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_GT, - [41148] = 3, + [41952] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1690), 1, + ACTIONS(487), 1, anon_sym_EQ, - ACTIONS(1692), 6, + ACTIONS(485), 6, anon_sym_COMMA, anon_sym_EQ_GT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_GT, - [41163] = 3, + [41967] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1694), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1696), 5, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_in, - [41178] = 6, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + ACTIONS(1736), 1, + anon_sym_COMMA, + ACTIONS(1738), 1, + anon_sym_RPAREN, + STATE(725), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [41988] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(1698), 1, - anon_sym_COMMA, - ACTIONS(1700), 1, + ACTIONS(1718), 1, + sym_identifier, + ACTIONS(1722), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1726), 1, + anon_sym_LBRACK, + ACTIONS(1740), 1, + anon_sym_RPAREN, + STATE(783), 1, + sym_parameter, + STATE(772), 2, + sym_tuple, + sym_list, + [42011] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, sym_type_identifier, - ACTIONS(1704), 1, + ACTIONS(1742), 1, + anon_sym_COMMA, + ACTIONS(1744), 1, anon_sym_GT, - STATE(682), 3, + STATE(709), 3, sym__type, sym_generic_type, sym_tuple_type, - [41199] = 3, + [42032] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1706), 1, + ACTIONS(515), 1, anon_sym_EQ, - ACTIONS(1708), 6, + ACTIONS(513), 6, anon_sym_COMMA, anon_sym_EQ_GT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_GT, - [41214] = 7, + [42047] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1672), 1, - sym_identifier, - ACTIONS(1676), 1, - anon_sym_LPAREN, - ACTIONS(1680), 1, - anon_sym_LBRACK, - ACTIONS(1710), 1, + ACTIONS(399), 1, + anon_sym_EQ, + ACTIONS(397), 6, + anon_sym_COMMA, + anon_sym_EQ_GT, anon_sym_RPAREN, - STATE(731), 1, - sym_parameter, - STATE(688), 2, - sym_tuple, - sym_list, - [41237] = 6, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_GT, + [42062] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(519), 1, + anon_sym_EQ, + ACTIONS(517), 6, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_GT, + [42077] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1746), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1748), 5, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_in, + [42092] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - ACTIONS(1712), 1, + ACTIONS(1750), 1, anon_sym_COMMA, - ACTIONS(1714), 1, + ACTIONS(1752), 1, anon_sym_RPAREN, - STATE(679), 3, + STATE(747), 3, sym__type, sym_generic_type, sym_tuple_type, - [41258] = 3, + [42113] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1716), 2, + ACTIONS(1754), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(1718), 5, + ACTIONS(1756), 5, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_in, - [41273] = 7, + [42128] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(1672), 1, + ACTIONS(1718), 1, sym_identifier, - ACTIONS(1676), 1, + ACTIONS(1722), 1, anon_sym_LPAREN, - ACTIONS(1680), 1, + ACTIONS(1726), 1, anon_sym_LBRACK, - ACTIONS(1720), 1, + ACTIONS(1758), 1, anon_sym_RPAREN, - STATE(731), 1, + STATE(783), 1, sym_parameter, - STATE(688), 2, + STATE(772), 2, sym_tuple, sym_list, - [41296] = 3, + [42151] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1722), 2, + ACTIONS(1760), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(1724), 5, + ACTIONS(1762), 5, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_in, - [41311] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1726), 1, - anon_sym_EQ, - ACTIONS(1728), 6, - anon_sym_COMMA, - anon_sym_EQ_GT, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_GT, - [41326] = 3, + [42166] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1730), 1, - anon_sym_EQ, - ACTIONS(1732), 6, - anon_sym_COMMA, - anon_sym_EQ_GT, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, + ACTIONS(1764), 2, + anon_sym_LT, anon_sym_GT, - [41341] = 3, + ACTIONS(1766), 5, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_in, + [42181] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1734), 2, + ACTIONS(1768), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(1736), 5, + ACTIONS(1770), 5, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_in, - [41356] = 3, + [42196] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1738), 1, - anon_sym_EQ, - ACTIONS(1740), 6, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + ACTIONS(1772), 1, anon_sym_COMMA, - anon_sym_EQ_GT, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, + ACTIONS(1774), 1, anon_sym_GT, - [41371] = 3, + STATE(691), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42217] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1742), 1, + ACTIONS(443), 1, anon_sym_EQ, - ACTIONS(1744), 6, + ACTIONS(441), 6, anon_sym_COMMA, anon_sym_EQ_GT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_GT, - [41386] = 3, + [42232] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1746), 1, + ACTIONS(447), 1, anon_sym_EQ, - ACTIONS(1748), 6, + ACTIONS(445), 6, anon_sym_COMMA, anon_sym_EQ_GT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_GT, - [41401] = 3, + [42247] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + ACTIONS(1776), 1, + anon_sym_COMMA, + ACTIONS(1778), 1, + anon_sym_RPAREN, + STATE(738), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42268] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1750), 2, + ACTIONS(1780), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(1752), 5, + ACTIONS(1782), 5, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_in, - [41416] = 5, + [42283] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1718), 1, + sym_identifier, + ACTIONS(1722), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1726), 1, + anon_sym_LBRACK, + STATE(783), 1, + sym_parameter, + STATE(772), 2, + sym_tuple, + sym_list, + [42303] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, sym_type_identifier, - ACTIONS(1754), 1, + ACTIONS(1784), 1, anon_sym_RPAREN, - STATE(670), 3, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41434] = 5, + [42321] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, + sym_type_identifier, + ACTIONS(1786), 1, + anon_sym_RPAREN, + STATE(685), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42339] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, sym_type_identifier, - ACTIONS(1756), 1, + ACTIONS(1788), 1, + anon_sym_RPAREN, + STATE(685), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42357] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + ACTIONS(1790), 1, + anon_sym_RPAREN, + STATE(685), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42375] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + ACTIONS(1792), 1, anon_sym_GT, - STATE(670), 3, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41452] = 5, + [42393] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - ACTIONS(1758), 1, + ACTIONS(1794), 1, anon_sym_GT, - STATE(670), 3, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41470] = 5, + [42411] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - ACTIONS(1760), 1, - anon_sym_RPAREN, - STATE(670), 3, + ACTIONS(1796), 1, + anon_sym_GT, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41488] = 6, + [42429] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1672), 1, - sym_identifier, - ACTIONS(1676), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1680), 1, - anon_sym_LBRACK, - STATE(731), 1, - sym_parameter, - STATE(688), 2, - sym_tuple, - sym_list, - [41508] = 4, + ACTIONS(1732), 1, + sym_type_identifier, + ACTIONS(1798), 1, + anon_sym_RPAREN, + STATE(685), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42447] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(705), 3, + ACTIONS(1800), 1, + anon_sym_GT, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41523] = 4, + [42465] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(724), 3, + ACTIONS(1802), 1, + anon_sym_RPAREN, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41538] = 4, + [42483] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(708), 3, + ACTIONS(1804), 1, + anon_sym_GT, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41553] = 4, + [42501] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(726), 3, + ACTIONS(1806), 1, + anon_sym_GT, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41568] = 4, + [42519] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(678), 3, + STATE(695), 3, sym__type, sym_generic_type, sym_tuple_type, - [41583] = 4, + [42534] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(745), 3, + STATE(713), 3, sym__type, sym_generic_type, sym_tuple_type, - [41598] = 4, + [42549] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(770), 3, + STATE(819), 3, sym__type, sym_generic_type, sym_tuple_type, - [41613] = 6, + [42564] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(664), 1, - anon_sym_RBRACE, - ACTIONS(1762), 1, - anon_sym_COMMA, - ACTIONS(1764), 1, - anon_sym_for, - STATE(653), 1, - aux_sym_map_repeat1, - STATE(767), 1, - sym_comprehension_clauses, - [41632] = 4, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + STATE(682), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42579] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(735), 3, + STATE(715), 3, sym__type, sym_generic_type, sym_tuple_type, - [41647] = 4, + [42594] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(702), 3, + STATE(755), 3, sym__type, sym_generic_type, sym_tuple_type, - [41662] = 4, + [42609] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(703), 3, + STATE(734), 3, sym__type, sym_generic_type, sym_tuple_type, - [41677] = 6, + [42624] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(668), 1, - anon_sym_RBRACE, - ACTIONS(1764), 1, - anon_sym_for, - ACTIONS(1766), 1, - anon_sym_COMMA, - STATE(655), 1, - aux_sym_map_repeat1, - STATE(754), 1, - sym_comprehension_clauses, - [41696] = 4, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + STATE(683), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42639] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(706), 3, + STATE(733), 3, sym__type, sym_generic_type, sym_tuple_type, - [41711] = 4, + [42654] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(654), 3, + STATE(735), 3, sym__type, sym_generic_type, sym_tuple_type, - [41726] = 4, + [42669] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(664), 3, + STATE(736), 3, sym__type, sym_generic_type, sym_tuple_type, - [41741] = 4, + [42684] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(667), 3, + STATE(737), 3, sym__type, sym_generic_type, sym_tuple_type, - [41756] = 4, + [42699] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(671), 3, + STATE(690), 3, sym__type, sym_generic_type, sym_tuple_type, - [41771] = 4, + [42714] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(652), 3, + STATE(705), 3, sym__type, sym_generic_type, sym_tuple_type, - [41786] = 6, + [42729] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1764), 1, - anon_sym_for, - ACTIONS(1768), 1, + ACTIONS(1808), 1, anon_sym_COMMA, - ACTIONS(1770), 1, + ACTIONS(1810), 1, anon_sym_RBRACE, - STATE(684), 1, + ACTIONS(1812), 1, + anon_sym_for, + STATE(764), 1, aux_sym_map_repeat1, - STATE(774), 1, + STATE(810), 1, sym_comprehension_clauses, - [41805] = 4, + [42748] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(686), 3, + STATE(763), 3, sym__type, sym_generic_type, sym_tuple_type, - [41820] = 4, + [42763] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(691), 3, + STATE(685), 3, sym__type, sym_generic_type, sym_tuple_type, - [41835] = 4, + [42778] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(730), 3, + STATE(767), 3, sym__type, sym_generic_type, sym_tuple_type, - [41850] = 4, + [42793] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1814), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1816), 1, sym_type_identifier, - STATE(700), 3, + STATE(361), 3, sym__type, sym_generic_type, sym_tuple_type, - [41865] = 4, + [42808] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(701), 3, + STATE(791), 3, sym__type, sym_generic_type, sym_tuple_type, - [41880] = 4, + [42823] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(685), 3, + STATE(717), 3, sym__type, sym_generic_type, sym_tuple_type, - [41895] = 6, + [42838] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1764), 1, + ACTIONS(1812), 1, anon_sym_for, - ACTIONS(1772), 1, + ACTIONS(1818), 1, anon_sym_COMMA, - ACTIONS(1774), 1, + ACTIONS(1820), 1, anon_sym_RBRACE, - STATE(721), 1, - aux_sym_map_repeat1, STATE(762), 1, + aux_sym_map_repeat1, + STATE(798), 1, sym_comprehension_clauses, - [41914] = 4, + [42857] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(727), 3, + STATE(692), 3, sym__type, sym_generic_type, sym_tuple_type, - [41929] = 4, + [42872] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(729), 3, + STATE(693), 3, sym__type, sym_generic_type, sym_tuple_type, - [41944] = 4, + [42887] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(692), 3, + STATE(694), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [42902] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(717), 1, + anon_sym_RBRACE, + ACTIONS(1812), 1, + anon_sym_for, + ACTIONS(1822), 1, + anon_sym_COMMA, + STATE(752), 1, + aux_sym_map_repeat1, + STATE(796), 1, + sym_comprehension_clauses, + [42921] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + STATE(770), 3, sym__type, sym_generic_type, sym_tuple_type, - [41959] = 4, + [42936] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(719), 1, + anon_sym_RBRACE, + ACTIONS(1812), 1, + anon_sym_for, + ACTIONS(1824), 1, + anon_sym_COMMA, + STATE(754), 1, + aux_sym_map_repeat1, + STATE(801), 1, + sym_comprehension_clauses, + [42955] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1826), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1828), 1, sym_type_identifier, - STATE(649), 3, + STATE(105), 3, sym__type, sym_generic_type, sym_tuple_type, - [41974] = 4, + [42970] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, sym_type_identifier, - STATE(670), 3, + STATE(793), 3, sym__type, sym_generic_type, sym_tuple_type, - [41989] = 4, + [42985] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1700), 1, + ACTIONS(1730), 1, anon_sym_LPAREN, - ACTIONS(1702), 1, + ACTIONS(1732), 1, + sym_type_identifier, + STATE(758), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [43000] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + STATE(688), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [43015] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, + sym_type_identifier, + STATE(759), 3, + sym__type, + sym_generic_type, + sym_tuple_type, + [43030] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, + anon_sym_LPAREN, + ACTIONS(1732), 1, sym_type_identifier, - STATE(704), 3, + STATE(765), 3, sym__type, sym_generic_type, sym_tuple_type, - [42004] = 5, + [43045] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1776), 1, + ACTIONS(1830), 1, anon_sym_DASH_GT, - ACTIONS(1778), 1, + ACTIONS(1832), 1, + anon_sym_EQ_GT, + STATE(367), 1, + sym_block, + [43061] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(1834), 1, + anon_sym_DASH_GT, + ACTIONS(1836), 1, + anon_sym_EQ_GT, + STATE(56), 1, + sym_block, + [43077] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(1838), 1, + anon_sym_DASH_GT, + ACTIONS(1840), 1, + anon_sym_EQ_GT, + STATE(362), 1, + sym_block, + [43093] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(1842), 1, + anon_sym_DASH_GT, + ACTIONS(1844), 1, anon_sym_EQ_GT, - STATE(347), 1, + STATE(365), 1, sym_block, - [42020] = 5, + [43109] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1780), 1, + ACTIONS(1846), 1, anon_sym_DASH_GT, - ACTIONS(1782), 1, + ACTIONS(1848), 1, anon_sym_EQ_GT, - STATE(359), 1, + STATE(367), 1, sym_block, - [42036] = 5, + [43125] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(1784), 1, + ACTIONS(1850), 1, anon_sym_COMMA, - STATE(90), 1, + STATE(99), 1, sym_block, - STATE(615), 1, + STATE(664), 1, aux_sym_comprehension_clauses_repeat1, - [42052] = 4, + [43141] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1786), 1, - anon_sym_COMMA, - STATE(603), 1, - aux_sym_comprehension_clauses_repeat1, - ACTIONS(1789), 2, - anon_sym_RBRACE, - anon_sym_RBRACK, - [42066] = 4, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(1852), 1, + anon_sym_DASH_GT, + ACTIONS(1854), 1, + anon_sym_EQ_GT, + STATE(381), 1, + sym_block, + [43157] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1791), 1, + ACTIONS(1856), 4, anon_sym_COMMA, - STATE(611), 1, - aux_sym_comprehension_clauses_repeat1, - ACTIONS(1793), 2, + anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_RBRACK, - [42080] = 4, + [43167] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1448), 1, + ACTIONS(1858), 4, + anon_sym_COLON, + anon_sym_EQ, anon_sym_COMMA, - STATE(605), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(295), 2, - anon_sym_RPAREN, - anon_sym_RBRACK, - [42094] = 4, + anon_sym_in, + [43177] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1797), 1, - anon_sym_COMMA, - STATE(613), 1, - aux_sym_pattern_sequence_repeat1, - ACTIONS(1795), 2, - anon_sym_COLON, - anon_sym_EQ, - [42108] = 5, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(1860), 1, + anon_sym_DASH_GT, + ACTIONS(1862), 1, + anon_sym_EQ_GT, + STATE(362), 1, + sym_block, + [43193] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1799), 1, + ACTIONS(1864), 1, anon_sym_DASH_GT, - ACTIONS(1801), 1, + ACTIONS(1866), 1, anon_sym_EQ_GT, - STATE(359), 1, + STATE(365), 1, sym_block, - [42124] = 2, + [43209] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1803), 4, - anon_sym_COLON, - anon_sym_EQ, - anon_sym_COMMA, - anon_sym_in, - [42134] = 4, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(1868), 1, + anon_sym_DASH_GT, + ACTIONS(1870), 1, + anon_sym_EQ_GT, + STATE(367), 1, + sym_block, + [43225] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1805), 1, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(1872), 1, + anon_sym_DASH_GT, + ACTIONS(1874), 1, + anon_sym_EQ_GT, + STATE(381), 1, + sym_block, + [43241] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1876), 1, anon_sym_COMMA, - STATE(609), 1, + STATE(647), 1, aux_sym_pattern_sequence_repeat1, - ACTIONS(1803), 2, + ACTIONS(1858), 2, anon_sym_COLON, anon_sym_EQ, - [42148] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1487), 1, - anon_sym_COMMA, - STATE(610), 1, - aux_sym_tuple_expression_repeat1, - ACTIONS(295), 2, - anon_sym_RBRACK, - anon_sym_for, - [42162] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1808), 1, - anon_sym_COMMA, - STATE(603), 1, - aux_sym_comprehension_clauses_repeat1, - ACTIONS(610), 2, - anon_sym_RBRACE, - anon_sym_RBRACK, - [42176] = 5, + [43255] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(1810), 1, - anon_sym_DASH_GT, - ACTIONS(1812), 1, - anon_sym_EQ_GT, - STATE(74), 1, - sym_block, - [42192] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1797), 1, - anon_sym_COMMA, - STATE(609), 1, - aux_sym_pattern_sequence_repeat1, - ACTIONS(1814), 2, - anon_sym_COLON, - anon_sym_EQ, - [42206] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(21), 1, - anon_sym_LBRACE, - ACTIONS(1816), 1, + ACTIONS(1879), 1, anon_sym_DASH_GT, - ACTIONS(1818), 1, + ACTIONS(1881), 1, anon_sym_EQ_GT, - STATE(55), 1, + STATE(69), 1, sym_block, - [42222] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(21), 1, - anon_sym_LBRACE, - ACTIONS(1784), 1, - anon_sym_COMMA, - STATE(63), 1, - sym_block, - STATE(690), 1, - aux_sym_comprehension_clauses_repeat1, - [42238] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1789), 4, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_RBRACK, - [42248] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1820), 1, - anon_sym_COMMA, - STATE(617), 1, - aux_sym_generic_type_repeat1, - ACTIONS(1823), 2, - anon_sym_RPAREN, - anon_sym_GT, - [42262] = 4, - ACTIONS(1825), 1, + [43271] = 4, + ACTIONS(1883), 1, anon_sym_DQUOTE, - ACTIONS(1829), 1, - sym_comment, - STATE(647), 1, - aux_sym_string_repeat1, - ACTIONS(1827), 2, - aux_sym_string_token1, - sym_escape_sequence, - [42276] = 4, - ACTIONS(1829), 1, + ACTIONS(1887), 1, sym_comment, - ACTIONS(1831), 1, - anon_sym_DQUOTE, - STATE(634), 1, + STATE(679), 1, aux_sym_string_repeat1, - ACTIONS(1833), 2, + ACTIONS(1885), 2, aux_sym_string_token1, sym_escape_sequence, - [42290] = 5, + [43285] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1835), 1, + ACTIONS(1889), 1, anon_sym_DASH_GT, - ACTIONS(1837), 1, + ACTIONS(1891), 1, anon_sym_EQ_GT, - STATE(347), 1, + STATE(362), 1, sym_block, - [42306] = 5, + [43301] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1839), 1, + ACTIONS(1893), 1, anon_sym_DASH_GT, - ACTIONS(1841), 1, + ACTIONS(1895), 1, anon_sym_EQ_GT, - STATE(332), 1, + STATE(365), 1, sym_block, - [42322] = 5, + [43317] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1843), 1, + ACTIONS(1897), 1, anon_sym_DASH_GT, - ACTIONS(1845), 1, + ACTIONS(1899), 1, anon_sym_EQ_GT, - STATE(344), 1, + STATE(381), 1, sym_block, - [42338] = 5, + [43333] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1901), 1, + anon_sym_COMMA, + STATE(653), 1, + aux_sym_comprehension_clauses_repeat1, + ACTIONS(1856), 2, + anon_sym_RBRACE, + anon_sym_RBRACK, + [43347] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1847), 1, + ACTIONS(1904), 1, anon_sym_DASH_GT, - ACTIONS(1849), 1, + ACTIONS(1906), 1, anon_sym_EQ_GT, - STATE(344), 1, + STATE(381), 1, sym_block, - [42354] = 5, + [43363] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(1851), 1, - anon_sym_DASH_GT, - ACTIONS(1853), 1, - anon_sym_EQ_GT, - STATE(359), 1, + ACTIONS(1908), 1, + anon_sym_if, + STATE(75), 2, + sym_if_expression, sym_block, - [42370] = 5, + [43377] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1855), 1, - anon_sym_DASH_GT, - ACTIONS(1857), 1, - anon_sym_EQ_GT, - STATE(332), 1, + ACTIONS(1910), 1, + anon_sym_if, + STATE(387), 2, + sym_if_expression, sym_block, - [42386] = 5, + [43391] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1914), 1, + anon_sym_COMMA, + STATE(667), 1, + aux_sym_pattern_sequence_repeat1, + ACTIONS(1912), 2, + anon_sym_COLON, + anon_sym_EQ, + [43405] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1537), 1, + anon_sym_COMMA, + STATE(658), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(297), 2, + anon_sym_RBRACK, + anon_sym_for, + [43419] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1859), 1, + ACTIONS(1916), 1, anon_sym_DASH_GT, - ACTIONS(1861), 1, + ACTIONS(1918), 1, anon_sym_EQ_GT, - STATE(332), 1, + STATE(362), 1, sym_block, - [42402] = 5, + [43435] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1863), 1, + ACTIONS(1920), 1, anon_sym_DASH_GT, - ACTIONS(1865), 1, + ACTIONS(1922), 1, anon_sym_EQ_GT, - STATE(344), 1, + STATE(365), 1, sym_block, - [42418] = 5, + [43451] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1867), 1, + ACTIONS(1924), 1, anon_sym_DASH_GT, - ACTIONS(1869), 1, + ACTIONS(1926), 1, anon_sym_EQ_GT, - STATE(347), 1, + STATE(367), 1, sym_block, - [42434] = 5, + [43467] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1871), 1, + ACTIONS(1928), 1, anon_sym_DASH_GT, - ACTIONS(1873), 1, + ACTIONS(1930), 1, anon_sym_EQ_GT, - STATE(332), 1, + STATE(381), 1, sym_block, - [42450] = 5, + [43483] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(289), 1, + anon_sym_for, + ACTIONS(781), 1, + anon_sym_RBRACK, + ACTIONS(1932), 1, + anon_sym_COMMA, + STATE(658), 1, + aux_sym_tuple_expression_repeat1, + [43499] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(1875), 1, - anon_sym_DASH_GT, - ACTIONS(1877), 1, - anon_sym_EQ_GT, - STATE(47), 1, + ACTIONS(1850), 1, + anon_sym_COMMA, + STATE(64), 1, sym_block, - [42466] = 5, + STATE(714), 1, + aux_sym_comprehension_clauses_repeat1, + [43515] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, + ACTIONS(1934), 1, + anon_sym_COMMA, + STATE(653), 1, + aux_sym_comprehension_clauses_repeat1, + ACTIONS(643), 2, + anon_sym_RBRACE, + anon_sym_RBRACK, + [43529] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(1879), 1, + ACTIONS(1936), 1, anon_sym_DASH_GT, - ACTIONS(1881), 1, + ACTIONS(1938), 1, anon_sym_EQ_GT, - STATE(359), 1, + STATE(81), 1, sym_block, - [42482] = 5, + [43545] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1914), 1, + anon_sym_COMMA, + STATE(647), 1, + aux_sym_pattern_sequence_repeat1, + ACTIONS(1940), 2, + anon_sym_COLON, + anon_sym_EQ, + [43559] = 4, + ACTIONS(1887), 1, + sym_comment, + ACTIONS(1942), 1, + anon_sym_DQUOTE, + STATE(672), 1, + aux_sym_string_repeat1, + ACTIONS(1944), 2, + aux_sym_string_token1, + sym_escape_sequence, + [43573] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1883), 1, + ACTIONS(1946), 1, anon_sym_DASH_GT, - ACTIONS(1885), 1, + ACTIONS(1948), 1, anon_sym_EQ_GT, - STATE(344), 1, + STATE(362), 1, sym_block, - [42498] = 5, + [43589] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1950), 1, + anon_sym_COMMA, + STATE(665), 1, + aux_sym_comprehension_clauses_repeat1, + ACTIONS(1952), 2, + anon_sym_RBRACE, + anon_sym_RBRACK, + [43603] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1784), 1, + ACTIONS(1850), 1, anon_sym_COMMA, - STATE(336), 1, + STATE(391), 1, sym_block, - STATE(643), 1, + STATE(678), 1, aux_sym_comprehension_clauses_repeat1, - [42514] = 4, - ACTIONS(1829), 1, - sym_comment, + [43619] = 4, ACTIONS(1887), 1, + sym_comment, + ACTIONS(1954), 1, anon_sym_DQUOTE, - STATE(647), 1, + STATE(680), 1, aux_sym_string_repeat1, - ACTIONS(1827), 2, + ACTIONS(1956), 2, aux_sym_string_token1, sym_escape_sequence, - [42528] = 5, + [43633] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(1889), 1, - anon_sym_DASH_GT, - ACTIONS(1891), 1, - anon_sym_EQ_GT, - STATE(344), 1, - sym_block, - [42544] = 5, + ACTIONS(1498), 1, + anon_sym_COMMA, + STATE(673), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(297), 2, + anon_sym_RPAREN, + anon_sym_RBRACK, + [43647] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1893), 1, + ACTIONS(1958), 1, anon_sym_DASH_GT, - ACTIONS(1895), 1, + ACTIONS(1960), 1, anon_sym_EQ_GT, - STATE(347), 1, + STATE(365), 1, sym_block, - [42560] = 5, + [43663] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1897), 1, + ACTIONS(1962), 1, anon_sym_DASH_GT, - ACTIONS(1899), 1, + ACTIONS(1964), 1, anon_sym_EQ_GT, - STATE(56), 1, + STATE(367), 1, sym_block, - [42576] = 5, + [43679] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, + ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(1901), 1, + ACTIONS(1966), 1, anon_sym_DASH_GT, - ACTIONS(1903), 1, + ACTIONS(1968), 1, anon_sym_EQ_GT, - STATE(347), 1, + STATE(55), 1, sym_block, - [42592] = 5, + [43695] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(287), 1, + ACTIONS(289), 1, anon_sym_for, - ACTIONS(710), 1, + ACTIONS(789), 1, anon_sym_RBRACK, - ACTIONS(1905), 1, + ACTIONS(1970), 1, anon_sym_COMMA, - STATE(610), 1, + STATE(658), 1, aux_sym_tuple_expression_repeat1, - [42608] = 4, + [43711] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(21), 1, + ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1907), 1, - anon_sym_if, - STATE(72), 2, - sym_if_expression, - sym_block, - [42622] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(287), 1, - anon_sym_for, - ACTIONS(738), 1, - anon_sym_RBRACK, - ACTIONS(1909), 1, + ACTIONS(1850), 1, anon_sym_COMMA, - STATE(610), 1, - aux_sym_tuple_expression_repeat1, - [42638] = 4, - ACTIONS(1829), 1, + STATE(376), 1, + sym_block, + STATE(714), 1, + aux_sym_comprehension_clauses_repeat1, + [43727] = 4, + ACTIONS(1887), 1, sym_comment, - ACTIONS(1911), 1, + ACTIONS(1972), 1, anon_sym_DQUOTE, - STATE(618), 1, + STATE(680), 1, aux_sym_string_repeat1, - ACTIONS(1913), 2, + ACTIONS(1956), 2, aux_sym_string_token1, sym_escape_sequence, - [42652] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(1784), 1, - anon_sym_COMMA, - STATE(354), 1, - sym_block, - STATE(690), 1, - aux_sym_comprehension_clauses_repeat1, - [42668] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(1915), 1, - anon_sym_DASH_GT, - ACTIONS(1917), 1, - anon_sym_EQ_GT, - STATE(359), 1, - sym_block, - [42684] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(1919), 1, - anon_sym_DASH_GT, - ACTIONS(1921), 1, - anon_sym_EQ_GT, - STATE(332), 1, - sym_block, - [42700] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(1923), 1, - anon_sym_if, - STATE(366), 2, - sym_if_expression, - sym_block, - [42714] = 4, - ACTIONS(1829), 1, + [43741] = 4, + ACTIONS(1887), 1, sym_comment, - ACTIONS(1925), 1, + ACTIONS(1974), 1, anon_sym_DQUOTE, - STATE(647), 1, + STATE(680), 1, aux_sym_string_repeat1, - ACTIONS(1927), 2, + ACTIONS(1976), 2, aux_sym_string_token1, sym_escape_sequence, - [42728] = 4, + [43755] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1930), 1, - sym_identifier, - ACTIONS(1932), 1, - anon_sym_RBRACE, - STATE(732), 1, - sym_struct_field, - [42741] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(1934), 1, - anon_sym_EQ_GT, - STATE(327), 1, - sym_block, - [42754] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1936), 1, - sym_identifier, - ACTIONS(1938), 1, - anon_sym_LPAREN, - STATE(625), 1, - sym_parameters, - [42767] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1938), 1, - anon_sym_LPAREN, - ACTIONS(1940), 1, - sym_identifier, - STATE(627), 1, - sym_parameters, - [42780] = 4, + ACTIONS(1979), 1, + anon_sym_COMMA, + STATE(681), 1, + aux_sym_generic_type_repeat1, + ACTIONS(1982), 2, + anon_sym_RPAREN, + anon_sym_GT, + [43769] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(1942), 1, + ACTIONS(1984), 1, anon_sym_EQ_GT, - STATE(76), 1, + STATE(79), 1, sym_block, - [42793] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(650), 1, - anon_sym_RBRACE, - ACTIONS(1944), 1, - anon_sym_COMMA, - STATE(675), 1, - aux_sym_map_repeat1, - [42806] = 4, + [43782] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1946), 1, + ACTIONS(1986), 1, anon_sym_EQ_GT, - STATE(360), 1, + STATE(394), 1, sym_block, - [42819] = 4, + [43795] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(670), 1, + ACTIONS(1988), 1, + sym_identifier, + ACTIONS(1990), 1, anon_sym_RBRACE, - ACTIONS(1948), 1, - anon_sym_COMMA, - STATE(675), 1, - aux_sym_map_repeat1, - [42832] = 2, + STATE(792), 1, + sym_struct_field, + [43808] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(356), 3, - anon_sym_COLON, + ACTIONS(1982), 3, anon_sym_COMMA, anon_sym_RPAREN, - [42841] = 2, + anon_sym_GT, + [43817] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(368), 3, + ACTIONS(365), 3, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, - [42850] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1930), 1, - sym_identifier, - ACTIONS(1950), 1, - anon_sym_RBRACE, - STATE(732), 1, - sym_struct_field, - [42863] = 2, + [43826] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(400), 3, + ACTIONS(377), 3, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, - [42872] = 2, + [43835] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(408), 3, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - [42881] = 4, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(1992), 1, + anon_sym_EQ_GT, + STATE(80), 1, + sym_block, + [43848] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1952), 1, + ACTIONS(1786), 1, + anon_sym_RPAREN, + ACTIONS(1994), 1, anon_sym_COMMA, - ACTIONS(1955), 1, - anon_sym_RBRACE, - STATE(661), 1, - aux_sym_struct_definition_repeat1, - [42894] = 4, + STATE(681), 1, + aux_sym_generic_type_repeat1, + [43861] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(748), 1, - anon_sym_RPAREN, - ACTIONS(1957), 1, - anon_sym_COMMA, - STATE(605), 1, - aux_sym_tuple_expression_repeat1, - [42907] = 2, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(1996), 1, + anon_sym_EQ_GT, + STATE(389), 1, + sym_block, + [43874] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(436), 3, - anon_sym_COLON, + ACTIONS(1998), 1, anon_sym_COMMA, - anon_sym_RPAREN, - [42916] = 4, + ACTIONS(2000), 1, + anon_sym_GT, + STATE(704), 1, + aux_sym_generic_type_repeat1, + [43887] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1959), 1, + ACTIONS(2002), 1, anon_sym_EQ_GT, - STATE(369), 1, + STATE(382), 1, sym_block, - [42929] = 2, + [43900] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(468), 3, - anon_sym_COLON, - anon_sym_COMMA, - anon_sym_RPAREN, - [42938] = 2, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(2004), 1, + anon_sym_EQ_GT, + STATE(394), 1, + sym_block, + [43913] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1961), 3, - anon_sym_DASH_GT, - anon_sym_EQ_GT, + ACTIONS(71), 1, anon_sym_LBRACE, - [42947] = 4, + ACTIONS(2006), 1, + anon_sym_EQ_GT, + STATE(389), 1, + sym_block, + [43926] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1963), 1, + ACTIONS(2008), 1, anon_sym_EQ_GT, - STATE(371), 1, + STATE(336), 1, sym_block, - [42960] = 4, + [43939] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2010), 1, + sym_identifier, + ACTIONS(2012), 1, anon_sym_LPAREN, - ACTIONS(1965), 1, + STATE(643), 1, + sym_parameters, + [43952] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2012), 1, + anon_sym_LPAREN, + ACTIONS(2014), 1, sym_identifier, - STATE(614), 1, + STATE(644), 1, sym_parameters, - [42973] = 4, + [43965] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(722), 1, + ACTIONS(769), 1, anon_sym_RPAREN, - ACTIONS(1967), 1, + ACTIONS(2016), 1, anon_sym_COMMA, - STATE(605), 1, + STATE(673), 1, aux_sym_tuple_expression_repeat1, - [42986] = 2, + [43978] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1823), 3, - anon_sym_COMMA, + ACTIONS(1790), 1, anon_sym_RPAREN, - anon_sym_GT, - [42995] = 4, + ACTIONS(2018), 1, + anon_sym_COMMA, + STATE(681), 1, + aux_sym_generic_type_repeat1, + [43991] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(1969), 1, + ACTIONS(2020), 3, + anon_sym_DASH_GT, anon_sym_EQ_GT, - STATE(327), 1, - sym_block, - [43008] = 4, + anon_sym_LBRACE, + [44000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1814), 1, - anon_sym_in, - ACTIONS(1971), 1, + ACTIONS(417), 3, + anon_sym_COLON, anon_sym_COMMA, - STATE(716), 1, - aux_sym_pattern_sequence_repeat1, - [43021] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1938), 1, - anon_sym_LPAREN, - ACTIONS(1973), 1, - sym_identifier, - STATE(626), 1, - sym_parameters, - [43034] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1938), 1, - anon_sym_LPAREN, - ACTIONS(1975), 1, - sym_identifier, - STATE(632), 1, - sym_parameters, - [43047] = 4, + anon_sym_RPAREN, + [44009] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1977), 1, + ACTIONS(425), 3, + anon_sym_COLON, anon_sym_COMMA, - ACTIONS(1980), 1, - anon_sym_RBRACE, - STATE(675), 1, - aux_sym_map_repeat1, - [43060] = 4, + anon_sym_RPAREN, + [44018] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1754), 1, - anon_sym_RPAREN, - ACTIONS(1982), 1, + ACTIONS(2022), 1, anon_sym_COMMA, - STATE(617), 1, + ACTIONS(2024), 1, + anon_sym_GT, + STATE(712), 1, aux_sym_generic_type_repeat1, - [43073] = 4, + [44031] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1720), 1, - anon_sym_RPAREN, - ACTIONS(1984), 1, + ACTIONS(1806), 1, + anon_sym_GT, + ACTIONS(2026), 1, anon_sym_COMMA, - STATE(722), 1, - aux_sym_parameters_repeat1, - [43086] = 4, + STATE(681), 1, + aux_sym_generic_type_repeat1, + [44044] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(1986), 1, + ACTIONS(2028), 1, anon_sym_EQ_GT, - STATE(327), 1, + STATE(336), 1, sym_block, - [43099] = 4, + [44057] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1988), 1, - anon_sym_COMMA, - ACTIONS(1990), 1, + ACTIONS(1784), 1, anon_sym_RPAREN, - STATE(676), 1, + ACTIONS(2030), 1, + anon_sym_COMMA, + STATE(681), 1, aux_sym_generic_type_repeat1, - [43112] = 4, + [44070] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1930), 1, + ACTIONS(461), 3, + anon_sym_COLON, + anon_sym_COMMA, + anon_sym_RPAREN, + [44079] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1988), 1, sym_identifier, - ACTIONS(1992), 1, + ACTIONS(2032), 1, anon_sym_RBRACE, - STATE(695), 1, + STATE(749), 1, sym_struct_field, - [43125] = 4, + [44092] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2034), 1, + anon_sym_COMMA, + ACTIONS(2036), 1, + anon_sym_GT, + STATE(719), 1, + aux_sym_generic_type_repeat1, + [44105] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(758), 1, + ACTIONS(1758), 1, anon_sym_RPAREN, - ACTIONS(1994), 1, + ACTIONS(2038), 1, anon_sym_COMMA, - STATE(605), 1, - aux_sym_tuple_expression_repeat1, - [43138] = 4, + STATE(769), 1, + aux_sym_parameters_repeat1, + [44118] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1996), 1, + ACTIONS(497), 3, + anon_sym_COLON, anon_sym_COMMA, - ACTIONS(1998), 1, + anon_sym_RPAREN, + [44127] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1800), 1, anon_sym_GT, - STATE(698), 1, + ACTIONS(2040), 1, + anon_sym_COMMA, + STATE(681), 1, aux_sym_generic_type_repeat1, - [43151] = 4, + [44140] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1930), 1, - sym_identifier, - ACTIONS(2000), 1, - anon_sym_RBRACE, - STATE(732), 1, - sym_struct_field, - [43164] = 4, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(2042), 1, + anon_sym_EQ_GT, + STATE(336), 1, + sym_block, + [44153] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(666), 1, - anon_sym_RBRACE, - ACTIONS(2002), 1, + ACTIONS(1856), 1, + anon_sym_LBRACE, + ACTIONS(2044), 1, anon_sym_COMMA, - STATE(675), 1, - aux_sym_map_repeat1, - [43177] = 4, + STATE(714), 1, + aux_sym_comprehension_clauses_repeat1, + [44166] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(2004), 1, + ACTIONS(2047), 1, anon_sym_EQ_GT, - STATE(75), 1, + STATE(70), 1, sym_block, - [43190] = 4, + [44179] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1988), 1, + sym_identifier, + ACTIONS(2049), 1, + anon_sym_RBRACE, + STATE(792), 1, + sym_struct_field, + [44192] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(21), 1, anon_sym_LBRACE, - ACTIONS(2006), 1, + ACTIONS(2051), 1, anon_sym_EQ_GT, - STATE(82), 1, + STATE(89), 1, sym_block, - [43203] = 4, + [44205] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(718), 1, - anon_sym_RBRACK, - ACTIONS(2008), 1, + ACTIONS(2053), 1, anon_sym_COMMA, - STATE(605), 1, - aux_sym_tuple_expression_repeat1, - [43216] = 3, + ACTIONS(2056), 1, + anon_sym_RBRACE, + STATE(718), 1, + aux_sym_map_repeat1, + [44218] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2010), 1, - anon_sym_COLON, - ACTIONS(2012), 2, + ACTIONS(1796), 1, + anon_sym_GT, + ACTIONS(2058), 1, anon_sym_COMMA, - anon_sym_RPAREN, - [43227] = 4, + STATE(681), 1, + aux_sym_generic_type_repeat1, + [44231] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2014), 1, - anon_sym_COMMA, - ACTIONS(2016), 1, - anon_sym_RPAREN, - STATE(677), 1, - aux_sym_parameters_repeat1, - [43240] = 4, + ACTIONS(2012), 1, + anon_sym_LPAREN, + ACTIONS(2060), 1, + sym_identifier, + STATE(636), 1, + sym_parameters, + [44244] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1789), 1, - anon_sym_LBRACE, - ACTIONS(2018), 1, - anon_sym_COMMA, - STATE(690), 1, - aux_sym_comprehension_clauses_repeat1, - [43253] = 4, + ACTIONS(2012), 1, + anon_sym_LPAREN, + ACTIONS(2062), 1, + sym_identifier, + STATE(637), 1, + sym_parameters, + [44257] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(2021), 1, - anon_sym_EQ_GT, - STATE(360), 1, - sym_block, - [43266] = 4, + ACTIONS(801), 1, + anon_sym_RPAREN, + ACTIONS(2064), 1, + anon_sym_COMMA, + STATE(673), 1, + aux_sym_tuple_expression_repeat1, + [44270] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(2023), 1, - anon_sym_EQ_GT, - STATE(371), 1, - sym_block, - [43279] = 4, + ACTIONS(737), 1, + anon_sym_RPAREN, + ACTIONS(2066), 1, + anon_sym_COMMA, + STATE(673), 1, + aux_sym_tuple_expression_repeat1, + [44283] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - ACTIONS(2025), 1, + ACTIONS(2068), 1, sym_identifier, - STATE(621), 1, + STATE(676), 1, sym_parameters, - [43292] = 4, + [44296] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, - anon_sym_LPAREN, - ACTIONS(2027), 1, - sym_identifier, - STATE(622), 1, - sym_parameters, - [43305] = 4, + ACTIONS(2070), 1, + anon_sym_COMMA, + ACTIONS(2072), 1, + anon_sym_RPAREN, + STATE(689), 1, + aux_sym_generic_type_repeat1, + [44309] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2029), 1, + ACTIONS(757), 1, + anon_sym_RPAREN, + ACTIONS(2074), 1, anon_sym_COMMA, - ACTIONS(2031), 1, - anon_sym_RBRACE, - STATE(718), 1, - aux_sym_struct_definition_repeat1, - [43318] = 4, + STATE(673), 1, + aux_sym_tuple_expression_repeat1, + [44322] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1932), 1, + ACTIONS(1990), 1, anon_sym_RBRACE, - ACTIONS(2033), 1, + ACTIONS(2076), 1, anon_sym_COMMA, - STATE(661), 1, + STATE(732), 1, aux_sym_struct_definition_repeat1, - [43331] = 4, + [44335] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(728), 1, - anon_sym_RPAREN, - ACTIONS(2035), 1, + ACTIONS(1858), 1, + anon_sym_in, + ACTIONS(2078), 1, anon_sym_COMMA, - STATE(605), 1, - aux_sym_tuple_expression_repeat1, - [43344] = 4, + STATE(728), 1, + aux_sym_pattern_sequence_repeat1, + [44348] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1758), 1, - anon_sym_GT, - ACTIONS(2037), 1, + ACTIONS(2081), 1, anon_sym_COMMA, - STATE(617), 1, - aux_sym_generic_type_repeat1, - [43357] = 4, + ACTIONS(2083), 1, + anon_sym_RPAREN, + STATE(710), 1, + aux_sym_parameters_repeat1, + [44361] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1795), 1, - anon_sym_in, - ACTIONS(1971), 1, - anon_sym_COMMA, - STATE(672), 1, - aux_sym_pattern_sequence_repeat1, - [43370] = 4, + ACTIONS(2012), 1, + anon_sym_LPAREN, + ACTIONS(2085), 1, + sym_identifier, + STATE(666), 1, + sym_parameters, + [44374] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(2039), 1, - anon_sym_EQ_GT, - STATE(371), 1, - sym_block, - [43383] = 4, + ACTIONS(1988), 1, + sym_identifier, + ACTIONS(2087), 1, + anon_sym_RBRACE, + STATE(792), 1, + sym_struct_field, + [44387] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(71), 1, - anon_sym_LBRACE, - ACTIONS(2041), 1, - anon_sym_EQ_GT, - STATE(327), 1, - sym_block, - [43396] = 4, + ACTIONS(2089), 1, + anon_sym_COMMA, + ACTIONS(2092), 1, + anon_sym_RBRACE, + STATE(732), 1, + aux_sym_struct_definition_repeat1, + [44400] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2043), 1, + ACTIONS(2094), 1, anon_sym_EQ_GT, - STATE(360), 1, + STATE(382), 1, sym_block, - [43409] = 4, + [44413] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2045), 1, + ACTIONS(2096), 1, anon_sym_EQ_GT, - STATE(369), 1, + STATE(382), 1, sym_block, - [43422] = 4, + [44426] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2047), 1, + ACTIONS(2098), 1, anon_sym_EQ_GT, - STATE(371), 1, + STATE(394), 1, sym_block, - [43435] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(21), 1, - anon_sym_LBRACE, - ACTIONS(2049), 1, - anon_sym_EQ_GT, - STATE(67), 1, - sym_block, - [43448] = 4, + [44439] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2051), 1, + ACTIONS(2100), 1, anon_sym_EQ_GT, - STATE(327), 1, + STATE(389), 1, sym_block, - [43461] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(756), 1, - anon_sym_RPAREN, - ACTIONS(2053), 1, - anon_sym_COMMA, - STATE(605), 1, - aux_sym_tuple_expression_repeat1, - [43474] = 4, + [44452] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2055), 1, + ACTIONS(2102), 1, anon_sym_EQ_GT, - STATE(369), 1, + STATE(336), 1, sym_block, - [43487] = 2, + [44465] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2057), 3, - anon_sym_DASH_GT, - anon_sym_EQ_GT, - anon_sym_LBRACE, - [43496] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2059), 3, - anon_sym_DASH_GT, - anon_sym_EQ_GT, - anon_sym_LBRACE, - [43505] = 4, + ACTIONS(2104), 1, + anon_sym_COMMA, + ACTIONS(2106), 1, + anon_sym_RPAREN, + STATE(706), 1, + aux_sym_generic_type_repeat1, + [44478] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1930), 1, + ACTIONS(1988), 1, sym_identifier, - ACTIONS(2061), 1, + ACTIONS(2108), 1, anon_sym_RBRACE, - STATE(732), 1, + STATE(792), 1, sym_struct_field, - [43518] = 2, + [44491] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2063), 3, - anon_sym_DASH_GT, - anon_sym_EQ_GT, - anon_sym_LBRACE, - [43527] = 4, + ACTIONS(765), 1, + anon_sym_RBRACK, + ACTIONS(2110), 1, + anon_sym_COMMA, + STATE(673), 1, + aux_sym_tuple_expression_repeat1, + [44504] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1930), 1, - sym_identifier, - ACTIONS(2065), 1, + ACTIONS(2108), 1, anon_sym_RBRACE, - STATE(725), 1, - sym_struct_field, - [43540] = 4, + ACTIONS(2112), 1, + anon_sym_COMMA, + STATE(732), 1, + aux_sym_struct_definition_repeat1, + [44517] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - ACTIONS(2067), 1, + ACTIONS(2114), 1, sym_identifier, - STATE(645), 1, + STATE(659), 1, sym_parameters, - [43553] = 4, + [44530] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - ACTIONS(2069), 1, + ACTIONS(2116), 1, sym_identifier, - STATE(623), 1, + STATE(660), 1, sym_parameters, - [43566] = 4, + [44543] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1803), 1, - anon_sym_in, - ACTIONS(2071), 1, - anon_sym_COMMA, - STATE(716), 1, - aux_sym_pattern_sequence_repeat1, - [43579] = 2, + ACTIONS(2012), 1, + anon_sym_LPAREN, + ACTIONS(2118), 1, + sym_identifier, + STATE(669), 1, + sym_parameters, + [44556] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(508), 3, + ACTIONS(337), 3, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, - [43588] = 4, + [44565] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2061), 1, - anon_sym_RBRACE, - ACTIONS(2074), 1, + ACTIONS(1912), 1, + anon_sym_in, + ACTIONS(2120), 1, anon_sym_COMMA, - STATE(661), 1, - aux_sym_struct_definition_repeat1, - [43601] = 4, + STATE(760), 1, + aux_sym_pattern_sequence_repeat1, + [44578] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2122), 1, + anon_sym_COMMA, + ACTIONS(2124), 1, + anon_sym_RPAREN, + STATE(699), 1, + aux_sym_generic_type_repeat1, + [44591] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2012), 1, anon_sym_LPAREN, - ACTIONS(2076), 1, + ACTIONS(2126), 1, sym_identifier, - STATE(612), 1, + STATE(674), 1, sym_parameters, - [43614] = 2, + [44604] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2128), 1, + anon_sym_COMMA, + ACTIONS(2130), 1, + anon_sym_RBRACE, + STATE(741), 1, + aux_sym_struct_definition_repeat1, + [44617] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(480), 3, + ACTIONS(521), 3, anon_sym_COLON, anon_sym_COMMA, anon_sym_RPAREN, - [43623] = 4, + [44626] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(662), 1, + ACTIONS(2132), 3, + anon_sym_DASH_GT, + anon_sym_EQ_GT, + anon_sym_LBRACE, + [44635] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(691), 1, anon_sym_RBRACE, - ACTIONS(2078), 1, + ACTIONS(2134), 1, anon_sym_COMMA, - STATE(675), 1, + STATE(718), 1, aux_sym_map_repeat1, - [43636] = 4, + [44648] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2136), 3, + anon_sym_DASH_GT, + anon_sym_EQ_GT, + anon_sym_LBRACE, + [44657] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2080), 1, + ACTIONS(725), 1, + anon_sym_RBRACE, + ACTIONS(2138), 1, anon_sym_COMMA, - ACTIONS(2083), 1, - anon_sym_RPAREN, - STATE(722), 1, - aux_sym_parameters_repeat1, - [43649] = 4, + STATE(718), 1, + aux_sym_map_repeat1, + [44670] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(2140), 1, + anon_sym_EQ_GT, + STATE(382), 1, + sym_block, + [44683] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2012), 1, anon_sym_LPAREN, - ACTIONS(2085), 1, + ACTIONS(2142), 1, + sym_identifier, + STATE(650), 1, + sym_parameters, + [44696] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2012), 1, + anon_sym_LPAREN, + ACTIONS(2144), 1, sym_identifier, - STATE(629), 1, + STATE(651), 1, sym_parameters, - [43662] = 4, + [44709] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2087), 1, + ACTIONS(2146), 1, anon_sym_EQ_GT, - STATE(360), 1, + STATE(394), 1, sym_block, - [43675] = 4, + [44722] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2089), 1, + ACTIONS(71), 1, + anon_sym_LBRACE, + ACTIONS(2148), 1, + anon_sym_EQ_GT, + STATE(389), 1, + sym_block, + [44735] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1940), 1, + anon_sym_in, + ACTIONS(2120), 1, anon_sym_COMMA, - ACTIONS(2091), 1, + STATE(728), 1, + aux_sym_pattern_sequence_repeat1, + [44748] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1988), 1, + sym_identifier, + ACTIONS(2150), 1, anon_sym_RBRACE, - STATE(696), 1, - aux_sym_struct_definition_repeat1, - [43688] = 4, + STATE(771), 1, + sym_struct_field, + [44761] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(727), 1, + anon_sym_RBRACE, + ACTIONS(2152), 1, + anon_sym_COMMA, + STATE(718), 1, + aux_sym_map_repeat1, + [44774] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2093), 1, + ACTIONS(2154), 1, anon_sym_EQ_GT, - STATE(371), 1, + STATE(394), 1, sym_block, - [43701] = 4, + [44787] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(715), 1, + anon_sym_RBRACE, + ACTIONS(2156), 1, + anon_sym_COMMA, + STATE(718), 1, + aux_sym_map_repeat1, + [44800] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2095), 1, + ACTIONS(2158), 1, anon_sym_EQ_GT, - STATE(360), 1, + STATE(389), 1, sym_block, - [43714] = 4, + [44813] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, - anon_sym_LPAREN, - ACTIONS(2097), 1, - sym_identifier, - STATE(635), 1, - sym_parameters, - [43727] = 4, + ACTIONS(2160), 3, + anon_sym_DASH_GT, + anon_sym_EQ_GT, + anon_sym_LBRACE, + [44822] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2099), 1, + ACTIONS(2162), 1, anon_sym_EQ_GT, - STATE(369), 1, + STATE(336), 1, sym_block, - [43740] = 4, + [44835] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(803), 1, + anon_sym_RPAREN, + ACTIONS(2164), 1, + anon_sym_COMMA, + STATE(673), 1, + aux_sym_tuple_expression_repeat1, + [44848] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2166), 1, + anon_sym_COMMA, + ACTIONS(2169), 1, + anon_sym_RPAREN, + STATE(769), 1, + aux_sym_parameters_repeat1, + [44861] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(71), 1, anon_sym_LBRACE, - ACTIONS(2101), 1, + ACTIONS(2171), 1, anon_sym_EQ_GT, - STATE(369), 1, + STATE(382), 1, sym_block, - [43753] = 2, + [44874] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2083), 2, + ACTIONS(2173), 1, anon_sym_COMMA, - anon_sym_RPAREN, - [43761] = 2, + ACTIONS(2175), 1, + anon_sym_RBRACE, + STATE(727), 1, + aux_sym_struct_definition_repeat1, + [44887] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1955), 2, + ACTIONS(2177), 1, + anon_sym_COLON, + ACTIONS(2179), 2, anon_sym_COMMA, - anon_sym_RBRACE, - [43769] = 3, + anon_sym_RPAREN, + [44898] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(638), 1, + STATE(652), 1, sym_parameters, - [43779] = 3, + [44908] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(607), 1, + STATE(645), 1, sym_parameters, - [43789] = 2, + [44918] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(2103), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [43797] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2105), 1, - anon_sym_COLON, - ACTIONS(2107), 1, - anon_sym_EQ, - [43807] = 3, + ACTIONS(1988), 1, + sym_identifier, + STATE(792), 1, + sym_struct_field, + [44928] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(644), 1, + STATE(675), 1, sym_parameters, - [43817] = 3, + [44938] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(1810), 1, + anon_sym_RBRACE, + ACTIONS(2181), 1, + anon_sym_COMMA, + [44948] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(620), 1, + STATE(638), 1, sym_parameters, - [43827] = 3, + [44958] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(1812), 1, + anon_sym_for, + STATE(806), 1, + sym_comprehension_clauses, + [44968] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(601), 1, + STATE(648), 1, sym_parameters, - [43837] = 3, + [44978] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(600), 1, + STATE(640), 1, sym_parameters, - [43847] = 3, + [44988] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(624), 1, + STATE(654), 1, sym_parameters, - [43857] = 3, + [44998] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2169), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [45006] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(637), 1, + STATE(634), 1, sym_parameters, - [43867] = 3, + [45016] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(628), 1, + STATE(646), 1, sym_parameters, - [43877] = 3, + [45026] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1930), 1, - sym_identifier, - STATE(732), 1, - sym_struct_field, - [43887] = 2, + ACTIONS(2183), 1, + anon_sym_COLON, + ACTIONS(2185), 1, + anon_sym_EQ, + [45036] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(2109), 2, - anon_sym_COMMA, + ACTIONS(1820), 1, anon_sym_RBRACE, - [43895] = 3, + ACTIONS(2187), 1, + anon_sym_COMMA, + [45046] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1764), 1, - anon_sym_for, - STATE(763), 1, - sym_comprehension_clauses, - [43905] = 3, + ACTIONS(2012), 1, + anon_sym_LPAREN, + STATE(635), 1, + sym_parameters, + [45056] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, + ACTIONS(2012), 1, anon_sym_LPAREN, - STATE(630), 1, + STATE(661), 1, sym_parameters, - [43915] = 3, + [45066] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1764), 1, - anon_sym_for, - STATE(764), 1, - sym_comprehension_clauses, - [43925] = 2, + ACTIONS(2012), 1, + anon_sym_LPAREN, + STATE(662), 1, + sym_parameters, + [45076] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1980), 2, + ACTIONS(2189), 2, anon_sym_COMMA, anon_sym_RBRACE, - [43933] = 3, + [45084] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1770), 1, - anon_sym_RBRACE, - ACTIONS(2111), 1, + ACTIONS(2092), 2, anon_sym_COMMA, - [43943] = 3, + anon_sym_RBRACE, + [45092] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, - anon_sym_LPAREN, - STATE(631), 1, - sym_parameters, - [43953] = 3, + ACTIONS(2191), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [45100] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1938), 1, - anon_sym_LPAREN, - STATE(636), 1, - sym_parameters, - [43963] = 3, + ACTIONS(1812), 1, + anon_sym_for, + STATE(797), 1, + sym_comprehension_clauses, + [45110] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1774), 1, - anon_sym_RBRACE, - ACTIONS(2113), 1, + ACTIONS(2056), 2, anon_sym_COMMA, - [43973] = 2, + anon_sym_RBRACE, + [45118] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2115), 1, + ACTIONS(2193), 1, anon_sym_RBRACE, - [43980] = 2, + [45125] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2117), 1, - anon_sym_COLON, - [43987] = 2, + ACTIONS(2195), 1, + anon_sym_RBRACK, + [45132] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2119), 1, - anon_sym_fn, - [43994] = 2, + ACTIONS(2197), 1, + anon_sym_RBRACE, + [45139] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2121), 1, - sym_type_identifier, - [44001] = 2, + ACTIONS(2199), 1, + anon_sym_LBRACE, + [45146] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2123), 1, - anon_sym_in, - [44008] = 2, + ACTIONS(2000), 1, + anon_sym_GT, + [45153] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2125), 1, - sym_type_identifier, - [44015] = 2, + ACTIONS(2201), 1, + anon_sym_RBRACE, + [45160] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1524), 1, - anon_sym_RPAREN, - [44022] = 2, + ACTIONS(2203), 1, + anon_sym_fn, + [45167] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2127), 1, - sym_identifier, - [44029] = 2, + ACTIONS(2205), 1, + sym_type_identifier, + [45174] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2129), 1, - anon_sym_RBRACE, - [44036] = 2, + ACTIONS(2207), 1, + anon_sym_in, + [45181] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2131), 1, - anon_sym_RBRACK, - [44043] = 2, + ACTIONS(2209), 1, + sym_identifier, + [45188] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2133), 1, + ACTIONS(2211), 1, anon_sym_RBRACK, - [44050] = 2, + [45195] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1998), 1, + ACTIONS(2036), 1, anon_sym_GT, - [44057] = 2, + [45202] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2213), 1, + anon_sym_LBRACE, + [45209] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1534), 1, + ACTIONS(2083), 1, anon_sym_RPAREN, - [44064] = 2, + [45216] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2135), 1, + ACTIONS(2215), 1, anon_sym_RBRACE, - [44071] = 2, + [45223] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2137), 1, + ACTIONS(2217), 1, anon_sym_fn, - [44078] = 2, + [45230] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2016), 1, + ACTIONS(2219), 1, + sym_type_identifier, + [45237] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + ts_builtin_sym_end, + [45244] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1579), 1, anon_sym_RPAREN, - [44085] = 2, + [45251] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2139), 1, - anon_sym_EQ, - [44092] = 2, + ACTIONS(1561), 1, + anon_sym_RPAREN, + [45258] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2141), 1, - anon_sym_LBRACE, - [44099] = 2, + ACTIONS(2106), 1, + anon_sym_RPAREN, + [45265] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2124), 1, + anon_sym_RPAREN, + [45272] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2143), 1, + ACTIONS(2223), 1, anon_sym_fn, - [44106] = 2, + [45279] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2145), 1, - anon_sym_LBRACE, - [44113] = 2, + ACTIONS(2225), 1, + anon_sym_EQ, + [45286] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2147), 1, - anon_sym_RBRACE, - [44120] = 2, + ACTIONS(2227), 1, + sym_identifier, + [45293] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2149), 1, + ACTIONS(2229), 1, anon_sym_fn, - [44127] = 2, + [45300] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1990), 1, + ACTIONS(2072), 1, anon_sym_RPAREN, - [44134] = 2, + [45307] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2151), 1, - ts_builtin_sym_end, - [44141] = 2, + ACTIONS(2231), 1, + anon_sym_in, + [45314] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2153), 1, + ACTIONS(2233), 1, anon_sym_fn, - [44148] = 2, + [45321] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2155), 1, - anon_sym_in, - [44155] = 2, + ACTIONS(2235), 1, + anon_sym_COLON, + [45328] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2157), 1, - sym_identifier, - [44162] = 2, + ACTIONS(2024), 1, + anon_sym_GT, + [45335] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2159), 1, + ACTIONS(2237), 1, anon_sym_fn, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(104)] = 0, - [SMALL_STATE(105)] = 119, - [SMALL_STATE(106)] = 238, - [SMALL_STATE(107)] = 357, - [SMALL_STATE(108)] = 476, - [SMALL_STATE(109)] = 595, - [SMALL_STATE(110)] = 710, - [SMALL_STATE(111)] = 825, - [SMALL_STATE(112)] = 935, - [SMALL_STATE(113)] = 1049, - [SMALL_STATE(114)] = 1159, - [SMALL_STATE(115)] = 1266, - [SMALL_STATE(116)] = 1373, - [SMALL_STATE(117)] = 1482, - [SMALL_STATE(118)] = 1591, - [SMALL_STATE(119)] = 1700, - [SMALL_STATE(120)] = 1809, - [SMALL_STATE(121)] = 1918, - [SMALL_STATE(122)] = 2027, - [SMALL_STATE(123)] = 2136, - [SMALL_STATE(124)] = 2245, - [SMALL_STATE(125)] = 2352, - [SMALL_STATE(126)] = 2459, - [SMALL_STATE(127)] = 2566, - [SMALL_STATE(128)] = 2673, - [SMALL_STATE(129)] = 2780, - [SMALL_STATE(130)] = 2887, - [SMALL_STATE(131)] = 2994, - [SMALL_STATE(132)] = 3103, - [SMALL_STATE(133)] = 3210, - [SMALL_STATE(134)] = 3317, - [SMALL_STATE(135)] = 3424, - [SMALL_STATE(136)] = 3533, - [SMALL_STATE(137)] = 3640, - [SMALL_STATE(138)] = 3747, - [SMALL_STATE(139)] = 3853, - [SMALL_STATE(140)] = 3959, - [SMALL_STATE(141)] = 4065, - [SMALL_STATE(142)] = 4171, - [SMALL_STATE(143)] = 4277, - [SMALL_STATE(144)] = 4383, - [SMALL_STATE(145)] = 4489, - [SMALL_STATE(146)] = 4595, - [SMALL_STATE(147)] = 4701, - [SMALL_STATE(148)] = 4807, - [SMALL_STATE(149)] = 4913, - [SMALL_STATE(150)] = 5019, - [SMALL_STATE(151)] = 5125, - [SMALL_STATE(152)] = 5231, - [SMALL_STATE(153)] = 5337, - [SMALL_STATE(154)] = 5443, - [SMALL_STATE(155)] = 5549, - [SMALL_STATE(156)] = 5655, - [SMALL_STATE(157)] = 5765, - [SMALL_STATE(158)] = 5871, - [SMALL_STATE(159)] = 5977, - [SMALL_STATE(160)] = 6087, - [SMALL_STATE(161)] = 6193, - [SMALL_STATE(162)] = 6299, - [SMALL_STATE(163)] = 6405, - [SMALL_STATE(164)] = 6511, - [SMALL_STATE(165)] = 6617, - [SMALL_STATE(166)] = 6720, - [SMALL_STATE(167)] = 6823, - [SMALL_STATE(168)] = 6926, - [SMALL_STATE(169)] = 7029, - [SMALL_STATE(170)] = 7132, - [SMALL_STATE(171)] = 7197, - [SMALL_STATE(172)] = 7264, - [SMALL_STATE(173)] = 7367, - [SMALL_STATE(174)] = 7436, - [SMALL_STATE(175)] = 7539, - [SMALL_STATE(176)] = 7642, - [SMALL_STATE(177)] = 7745, - [SMALL_STATE(178)] = 7848, - [SMALL_STATE(179)] = 7951, - [SMALL_STATE(180)] = 8054, - [SMALL_STATE(181)] = 8157, - [SMALL_STATE(182)] = 8260, - [SMALL_STATE(183)] = 8363, - [SMALL_STATE(184)] = 8466, - [SMALL_STATE(185)] = 8569, - [SMALL_STATE(186)] = 8672, - [SMALL_STATE(187)] = 8775, - [SMALL_STATE(188)] = 8878, - [SMALL_STATE(189)] = 8981, - [SMALL_STATE(190)] = 9084, - [SMALL_STATE(191)] = 9187, - [SMALL_STATE(192)] = 9290, - [SMALL_STATE(193)] = 9393, - [SMALL_STATE(194)] = 9496, - [SMALL_STATE(195)] = 9599, - [SMALL_STATE(196)] = 9702, - [SMALL_STATE(197)] = 9805, - [SMALL_STATE(198)] = 9908, - [SMALL_STATE(199)] = 10011, - [SMALL_STATE(200)] = 10114, - [SMALL_STATE(201)] = 10217, - [SMALL_STATE(202)] = 10320, - [SMALL_STATE(203)] = 10423, - [SMALL_STATE(204)] = 10526, - [SMALL_STATE(205)] = 10629, - [SMALL_STATE(206)] = 10732, - [SMALL_STATE(207)] = 10835, - [SMALL_STATE(208)] = 10938, - [SMALL_STATE(209)] = 11041, - [SMALL_STATE(210)] = 11144, - [SMALL_STATE(211)] = 11247, - [SMALL_STATE(212)] = 11350, - [SMALL_STATE(213)] = 11453, - [SMALL_STATE(214)] = 11556, - [SMALL_STATE(215)] = 11659, - [SMALL_STATE(216)] = 11762, - [SMALL_STATE(217)] = 11865, - [SMALL_STATE(218)] = 11968, - [SMALL_STATE(219)] = 12071, - [SMALL_STATE(220)] = 12174, - [SMALL_STATE(221)] = 12277, - [SMALL_STATE(222)] = 12380, - [SMALL_STATE(223)] = 12483, - [SMALL_STATE(224)] = 12548, - [SMALL_STATE(225)] = 12621, - [SMALL_STATE(226)] = 12724, - [SMALL_STATE(227)] = 12827, - [SMALL_STATE(228)] = 12930, - [SMALL_STATE(229)] = 13033, - [SMALL_STATE(230)] = 13136, - [SMALL_STATE(231)] = 13239, - [SMALL_STATE(232)] = 13342, - [SMALL_STATE(233)] = 13445, - [SMALL_STATE(234)] = 13548, - [SMALL_STATE(235)] = 13651, - [SMALL_STATE(236)] = 13754, - [SMALL_STATE(237)] = 13857, - [SMALL_STATE(238)] = 13960, - [SMALL_STATE(239)] = 14063, - [SMALL_STATE(240)] = 14166, - [SMALL_STATE(241)] = 14269, - [SMALL_STATE(242)] = 14372, - [SMALL_STATE(243)] = 14475, - [SMALL_STATE(244)] = 14578, - [SMALL_STATE(245)] = 14681, - [SMALL_STATE(246)] = 14784, - [SMALL_STATE(247)] = 14887, - [SMALL_STATE(248)] = 14990, - [SMALL_STATE(249)] = 15093, - [SMALL_STATE(250)] = 15196, - [SMALL_STATE(251)] = 15299, - [SMALL_STATE(252)] = 15402, - [SMALL_STATE(253)] = 15505, - [SMALL_STATE(254)] = 15608, - [SMALL_STATE(255)] = 15711, - [SMALL_STATE(256)] = 15814, - [SMALL_STATE(257)] = 15917, - [SMALL_STATE(258)] = 16020, - [SMALL_STATE(259)] = 16123, - [SMALL_STATE(260)] = 16226, - [SMALL_STATE(261)] = 16329, - [SMALL_STATE(262)] = 16432, - [SMALL_STATE(263)] = 16535, - [SMALL_STATE(264)] = 16638, - [SMALL_STATE(265)] = 16741, - [SMALL_STATE(266)] = 16844, - [SMALL_STATE(267)] = 16947, - [SMALL_STATE(268)] = 17050, - [SMALL_STATE(269)] = 17153, - [SMALL_STATE(270)] = 17256, - [SMALL_STATE(271)] = 17359, - [SMALL_STATE(272)] = 17462, - [SMALL_STATE(273)] = 17565, - [SMALL_STATE(274)] = 17668, - [SMALL_STATE(275)] = 17771, - [SMALL_STATE(276)] = 17874, - [SMALL_STATE(277)] = 17977, - [SMALL_STATE(278)] = 18080, - [SMALL_STATE(279)] = 18183, - [SMALL_STATE(280)] = 18286, - [SMALL_STATE(281)] = 18389, - [SMALL_STATE(282)] = 18492, - [SMALL_STATE(283)] = 18595, - [SMALL_STATE(284)] = 18698, - [SMALL_STATE(285)] = 18801, - [SMALL_STATE(286)] = 18904, - [SMALL_STATE(287)] = 19007, - [SMALL_STATE(288)] = 19110, - [SMALL_STATE(289)] = 19213, - [SMALL_STATE(290)] = 19316, - [SMALL_STATE(291)] = 19419, - [SMALL_STATE(292)] = 19522, - [SMALL_STATE(293)] = 19625, - [SMALL_STATE(294)] = 19728, - [SMALL_STATE(295)] = 19831, - [SMALL_STATE(296)] = 19934, - [SMALL_STATE(297)] = 20037, - [SMALL_STATE(298)] = 20140, - [SMALL_STATE(299)] = 20243, - [SMALL_STATE(300)] = 20346, - [SMALL_STATE(301)] = 20449, - [SMALL_STATE(302)] = 20552, - [SMALL_STATE(303)] = 20655, - [SMALL_STATE(304)] = 20758, - [SMALL_STATE(305)] = 20861, - [SMALL_STATE(306)] = 20964, - [SMALL_STATE(307)] = 21067, - [SMALL_STATE(308)] = 21170, - [SMALL_STATE(309)] = 21273, - [SMALL_STATE(310)] = 21376, - [SMALL_STATE(311)] = 21479, - [SMALL_STATE(312)] = 21582, - [SMALL_STATE(313)] = 21685, - [SMALL_STATE(314)] = 21788, - [SMALL_STATE(315)] = 21891, - [SMALL_STATE(316)] = 21994, - [SMALL_STATE(317)] = 22097, - [SMALL_STATE(318)] = 22200, - [SMALL_STATE(319)] = 22303, - [SMALL_STATE(320)] = 22406, - [SMALL_STATE(321)] = 22509, - [SMALL_STATE(322)] = 22612, - [SMALL_STATE(323)] = 22715, - [SMALL_STATE(324)] = 22818, - [SMALL_STATE(325)] = 22921, - [SMALL_STATE(326)] = 23024, - [SMALL_STATE(327)] = 23088, - [SMALL_STATE(328)] = 23152, - [SMALL_STATE(329)] = 23216, - [SMALL_STATE(330)] = 23280, - [SMALL_STATE(331)] = 23344, - [SMALL_STATE(332)] = 23408, - [SMALL_STATE(333)] = 23472, - [SMALL_STATE(334)] = 23536, - [SMALL_STATE(335)] = 23600, - [SMALL_STATE(336)] = 23664, - [SMALL_STATE(337)] = 23728, - [SMALL_STATE(338)] = 23792, - [SMALL_STATE(339)] = 23856, - [SMALL_STATE(340)] = 23920, - [SMALL_STATE(341)] = 23984, - [SMALL_STATE(342)] = 24048, - [SMALL_STATE(343)] = 24112, - [SMALL_STATE(344)] = 24176, - [SMALL_STATE(345)] = 24240, - [SMALL_STATE(346)] = 24304, - [SMALL_STATE(347)] = 24412, - [SMALL_STATE(348)] = 24476, - [SMALL_STATE(349)] = 24540, - [SMALL_STATE(350)] = 24604, - [SMALL_STATE(351)] = 24668, - [SMALL_STATE(352)] = 24732, - [SMALL_STATE(353)] = 24796, - [SMALL_STATE(354)] = 24860, - [SMALL_STATE(355)] = 24924, - [SMALL_STATE(356)] = 24988, - [SMALL_STATE(357)] = 25052, - [SMALL_STATE(358)] = 25116, - [SMALL_STATE(359)] = 25180, - [SMALL_STATE(360)] = 25244, - [SMALL_STATE(361)] = 25308, - [SMALL_STATE(362)] = 25372, - [SMALL_STATE(363)] = 25436, - [SMALL_STATE(364)] = 25500, - [SMALL_STATE(365)] = 25608, - [SMALL_STATE(366)] = 25672, - [SMALL_STATE(367)] = 25736, - [SMALL_STATE(368)] = 25800, - [SMALL_STATE(369)] = 25864, - [SMALL_STATE(370)] = 25928, - [SMALL_STATE(371)] = 25992, - [SMALL_STATE(372)] = 26056, - [SMALL_STATE(373)] = 26120, - [SMALL_STATE(374)] = 26184, - [SMALL_STATE(375)] = 26248, - [SMALL_STATE(376)] = 26312, - [SMALL_STATE(377)] = 26376, - [SMALL_STATE(378)] = 26459, - [SMALL_STATE(379)] = 26524, - [SMALL_STATE(380)] = 26627, - [SMALL_STATE(381)] = 26730, - [SMALL_STATE(382)] = 26833, - [SMALL_STATE(383)] = 26936, - [SMALL_STATE(384)] = 27039, - [SMALL_STATE(385)] = 27142, - [SMALL_STATE(386)] = 27245, - [SMALL_STATE(387)] = 27342, - [SMALL_STATE(388)] = 27407, - [SMALL_STATE(389)] = 27474, - [SMALL_STATE(390)] = 27581, - [SMALL_STATE(391)] = 27684, - [SMALL_STATE(392)] = 27771, - [SMALL_STATE(393)] = 27846, - [SMALL_STATE(394)] = 27925, - [SMALL_STATE(395)] = 28024, - [SMALL_STATE(396)] = 28109, - [SMALL_STATE(397)] = 28190, - [SMALL_STATE(398)] = 28267, - [SMALL_STATE(399)] = 28340, - [SMALL_STATE(400)] = 28413, - [SMALL_STATE(401)] = 28506, - [SMALL_STATE(402)] = 28593, - [SMALL_STATE(403)] = 28696, - [SMALL_STATE(404)] = 28783, - [SMALL_STATE(405)] = 28886, - [SMALL_STATE(406)] = 28989, - [SMALL_STATE(407)] = 29064, - [SMALL_STATE(408)] = 29143, - [SMALL_STATE(409)] = 29246, - [SMALL_STATE(410)] = 29349, - [SMALL_STATE(411)] = 29452, - [SMALL_STATE(412)] = 29555, - [SMALL_STATE(413)] = 29622, - [SMALL_STATE(414)] = 29721, - [SMALL_STATE(415)] = 29818, - [SMALL_STATE(416)] = 29903, - [SMALL_STATE(417)] = 29986, - [SMALL_STATE(418)] = 30067, - [SMALL_STATE(419)] = 30144, - [SMALL_STATE(420)] = 30217, - [SMALL_STATE(421)] = 30290, - [SMALL_STATE(422)] = 30383, - [SMALL_STATE(423)] = 30480, - [SMALL_STATE(424)] = 30573, - [SMALL_STATE(425)] = 30680, - [SMALL_STATE(426)] = 30777, - [SMALL_STATE(427)] = 30864, - [SMALL_STATE(428)] = 30967, - [SMALL_STATE(429)] = 31060, - [SMALL_STATE(430)] = 31163, - [SMALL_STATE(431)] = 31266, - [SMALL_STATE(432)] = 31368, - [SMALL_STATE(433)] = 31470, - [SMALL_STATE(434)] = 31578, - [SMALL_STATE(435)] = 31682, - [SMALL_STATE(436)] = 31784, - [SMALL_STATE(437)] = 31886, - [SMALL_STATE(438)] = 31988, - [SMALL_STATE(439)] = 32074, - [SMALL_STATE(440)] = 32148, - [SMALL_STATE(441)] = 32226, - [SMALL_STATE(442)] = 32310, - [SMALL_STATE(443)] = 32392, - [SMALL_STATE(444)] = 32472, - [SMALL_STATE(445)] = 32548, - [SMALL_STATE(446)] = 32620, - [SMALL_STATE(447)] = 32692, - [SMALL_STATE(448)] = 32784, - [SMALL_STATE(449)] = 32870, - [SMALL_STATE(450)] = 32934, - [SMALL_STATE(451)] = 33036, - [SMALL_STATE(452)] = 33138, - [SMALL_STATE(453)] = 33236, - [SMALL_STATE(454)] = 33332, - [SMALL_STATE(455)] = 33428, - [SMALL_STATE(456)] = 33494, - [SMALL_STATE(457)] = 33596, - [SMALL_STATE(458)] = 33704, - [SMALL_STATE(459)] = 33806, - [SMALL_STATE(460)] = 33898, - [SMALL_STATE(461)] = 34003, - [SMALL_STATE(462)] = 34108, - [SMALL_STATE(463)] = 34213, - [SMALL_STATE(464)] = 34318, - [SMALL_STATE(465)] = 34423, - [SMALL_STATE(466)] = 34528, - [SMALL_STATE(467)] = 34629, - [SMALL_STATE(468)] = 34734, - [SMALL_STATE(469)] = 34835, - [SMALL_STATE(470)] = 34938, - [SMALL_STATE(471)] = 35043, - [SMALL_STATE(472)] = 35148, - [SMALL_STATE(473)] = 35250, - [SMALL_STATE(474)] = 35350, - [SMALL_STATE(475)] = 35450, - [SMALL_STATE(476)] = 35550, - [SMALL_STATE(477)] = 35614, - [SMALL_STATE(478)] = 35716, - [SMALL_STATE(479)] = 35780, - [SMALL_STATE(480)] = 35882, - [SMALL_STATE(481)] = 35984, - [SMALL_STATE(482)] = 36086, - [SMALL_STATE(483)] = 36188, - [SMALL_STATE(484)] = 36287, - [SMALL_STATE(485)] = 36380, - [SMALL_STATE(486)] = 36463, - [SMALL_STATE(487)] = 36534, - [SMALL_STATE(488)] = 36609, - [SMALL_STATE(489)] = 36704, - [SMALL_STATE(490)] = 36797, - [SMALL_STATE(491)] = 36878, - [SMALL_STATE(492)] = 36957, - [SMALL_STATE(493)] = 37034, - [SMALL_STATE(494)] = 37107, - [SMALL_STATE(495)] = 37176, - [SMALL_STATE(496)] = 37245, - [SMALL_STATE(497)] = 37334, - [SMALL_STATE(498)] = 37433, - [SMALL_STATE(499)] = 37526, - [SMALL_STATE(500)] = 37609, - [SMALL_STATE(501)] = 37708, - [SMALL_STATE(502)] = 37807, - [SMALL_STATE(503)] = 37906, - [SMALL_STATE(504)] = 38005, - [SMALL_STATE(505)] = 38104, - [SMALL_STATE(506)] = 38203, - [SMALL_STATE(507)] = 38292, - [SMALL_STATE(508)] = 38387, - [SMALL_STATE(509)] = 38480, - [SMALL_STATE(510)] = 38579, - [SMALL_STATE(511)] = 38678, - [SMALL_STATE(512)] = 38777, - [SMALL_STATE(513)] = 38876, - [SMALL_STATE(514)] = 38975, - [SMALL_STATE(515)] = 39074, - [SMALL_STATE(516)] = 39173, - [SMALL_STATE(517)] = 39272, - [SMALL_STATE(518)] = 39355, - [SMALL_STATE(519)] = 39426, - [SMALL_STATE(520)] = 39501, - [SMALL_STATE(521)] = 39582, - [SMALL_STATE(522)] = 39661, - [SMALL_STATE(523)] = 39738, - [SMALL_STATE(524)] = 39811, - [SMALL_STATE(525)] = 39880, - [SMALL_STATE(526)] = 39949, - [SMALL_STATE(527)] = 40038, - [SMALL_STATE(528)] = 40121, - [SMALL_STATE(529)] = 40184, - [SMALL_STATE(530)] = 40283, - [SMALL_STATE(531)] = 40382, - [SMALL_STATE(532)] = 40471, - [SMALL_STATE(533)] = 40570, - [SMALL_STATE(534)] = 40666, - [SMALL_STATE(535)] = 40728, - [SMALL_STATE(536)] = 40775, - [SMALL_STATE(537)] = 40822, - [SMALL_STATE(538)] = 40865, - [SMALL_STATE(539)] = 40906, - [SMALL_STATE(540)] = 40949, - [SMALL_STATE(541)] = 40992, - [SMALL_STATE(542)] = 41033, - [SMALL_STATE(543)] = 41074, - [SMALL_STATE(544)] = 41092, - [SMALL_STATE(545)] = 41118, - [SMALL_STATE(546)] = 41133, - [SMALL_STATE(547)] = 41148, - [SMALL_STATE(548)] = 41163, - [SMALL_STATE(549)] = 41178, - [SMALL_STATE(550)] = 41199, - [SMALL_STATE(551)] = 41214, - [SMALL_STATE(552)] = 41237, - [SMALL_STATE(553)] = 41258, - [SMALL_STATE(554)] = 41273, - [SMALL_STATE(555)] = 41296, - [SMALL_STATE(556)] = 41311, - [SMALL_STATE(557)] = 41326, - [SMALL_STATE(558)] = 41341, - [SMALL_STATE(559)] = 41356, - [SMALL_STATE(560)] = 41371, - [SMALL_STATE(561)] = 41386, - [SMALL_STATE(562)] = 41401, - [SMALL_STATE(563)] = 41416, - [SMALL_STATE(564)] = 41434, - [SMALL_STATE(565)] = 41452, - [SMALL_STATE(566)] = 41470, - [SMALL_STATE(567)] = 41488, - [SMALL_STATE(568)] = 41508, - [SMALL_STATE(569)] = 41523, - [SMALL_STATE(570)] = 41538, - [SMALL_STATE(571)] = 41553, - [SMALL_STATE(572)] = 41568, - [SMALL_STATE(573)] = 41583, - [SMALL_STATE(574)] = 41598, - [SMALL_STATE(575)] = 41613, - [SMALL_STATE(576)] = 41632, - [SMALL_STATE(577)] = 41647, - [SMALL_STATE(578)] = 41662, - [SMALL_STATE(579)] = 41677, - [SMALL_STATE(580)] = 41696, - [SMALL_STATE(581)] = 41711, - [SMALL_STATE(582)] = 41726, - [SMALL_STATE(583)] = 41741, - [SMALL_STATE(584)] = 41756, - [SMALL_STATE(585)] = 41771, - [SMALL_STATE(586)] = 41786, - [SMALL_STATE(587)] = 41805, - [SMALL_STATE(588)] = 41820, - [SMALL_STATE(589)] = 41835, - [SMALL_STATE(590)] = 41850, - [SMALL_STATE(591)] = 41865, - [SMALL_STATE(592)] = 41880, - [SMALL_STATE(593)] = 41895, - [SMALL_STATE(594)] = 41914, - [SMALL_STATE(595)] = 41929, - [SMALL_STATE(596)] = 41944, - [SMALL_STATE(597)] = 41959, - [SMALL_STATE(598)] = 41974, - [SMALL_STATE(599)] = 41989, - [SMALL_STATE(600)] = 42004, - [SMALL_STATE(601)] = 42020, - [SMALL_STATE(602)] = 42036, - [SMALL_STATE(603)] = 42052, - [SMALL_STATE(604)] = 42066, - [SMALL_STATE(605)] = 42080, - [SMALL_STATE(606)] = 42094, - [SMALL_STATE(607)] = 42108, - [SMALL_STATE(608)] = 42124, - [SMALL_STATE(609)] = 42134, - [SMALL_STATE(610)] = 42148, - [SMALL_STATE(611)] = 42162, - [SMALL_STATE(612)] = 42176, - [SMALL_STATE(613)] = 42192, - [SMALL_STATE(614)] = 42206, - [SMALL_STATE(615)] = 42222, - [SMALL_STATE(616)] = 42238, - [SMALL_STATE(617)] = 42248, - [SMALL_STATE(618)] = 42262, - [SMALL_STATE(619)] = 42276, - [SMALL_STATE(620)] = 42290, - [SMALL_STATE(621)] = 42306, - [SMALL_STATE(622)] = 42322, - [SMALL_STATE(623)] = 42338, - [SMALL_STATE(624)] = 42354, - [SMALL_STATE(625)] = 42370, - [SMALL_STATE(626)] = 42386, - [SMALL_STATE(627)] = 42402, - [SMALL_STATE(628)] = 42418, - [SMALL_STATE(629)] = 42434, - [SMALL_STATE(630)] = 42450, - [SMALL_STATE(631)] = 42466, - [SMALL_STATE(632)] = 42482, - [SMALL_STATE(633)] = 42498, - [SMALL_STATE(634)] = 42514, - [SMALL_STATE(635)] = 42528, - [SMALL_STATE(636)] = 42544, - [SMALL_STATE(637)] = 42560, - [SMALL_STATE(638)] = 42576, - [SMALL_STATE(639)] = 42592, - [SMALL_STATE(640)] = 42608, - [SMALL_STATE(641)] = 42622, - [SMALL_STATE(642)] = 42638, - [SMALL_STATE(643)] = 42652, - [SMALL_STATE(644)] = 42668, - [SMALL_STATE(645)] = 42684, - [SMALL_STATE(646)] = 42700, - [SMALL_STATE(647)] = 42714, - [SMALL_STATE(648)] = 42728, - [SMALL_STATE(649)] = 42741, - [SMALL_STATE(650)] = 42754, - [SMALL_STATE(651)] = 42767, - [SMALL_STATE(652)] = 42780, - [SMALL_STATE(653)] = 42793, - [SMALL_STATE(654)] = 42806, - [SMALL_STATE(655)] = 42819, - [SMALL_STATE(656)] = 42832, - [SMALL_STATE(657)] = 42841, - [SMALL_STATE(658)] = 42850, - [SMALL_STATE(659)] = 42863, - [SMALL_STATE(660)] = 42872, - [SMALL_STATE(661)] = 42881, - [SMALL_STATE(662)] = 42894, - [SMALL_STATE(663)] = 42907, - [SMALL_STATE(664)] = 42916, - [SMALL_STATE(665)] = 42929, - [SMALL_STATE(666)] = 42938, - [SMALL_STATE(667)] = 42947, - [SMALL_STATE(668)] = 42960, - [SMALL_STATE(669)] = 42973, - [SMALL_STATE(670)] = 42986, - [SMALL_STATE(671)] = 42995, - [SMALL_STATE(672)] = 43008, - [SMALL_STATE(673)] = 43021, - [SMALL_STATE(674)] = 43034, - [SMALL_STATE(675)] = 43047, - [SMALL_STATE(676)] = 43060, - [SMALL_STATE(677)] = 43073, - [SMALL_STATE(678)] = 43086, - [SMALL_STATE(679)] = 43099, - [SMALL_STATE(680)] = 43112, - [SMALL_STATE(681)] = 43125, - [SMALL_STATE(682)] = 43138, - [SMALL_STATE(683)] = 43151, - [SMALL_STATE(684)] = 43164, - [SMALL_STATE(685)] = 43177, - [SMALL_STATE(686)] = 43190, - [SMALL_STATE(687)] = 43203, - [SMALL_STATE(688)] = 43216, - [SMALL_STATE(689)] = 43227, - [SMALL_STATE(690)] = 43240, - [SMALL_STATE(691)] = 43253, - [SMALL_STATE(692)] = 43266, - [SMALL_STATE(693)] = 43279, - [SMALL_STATE(694)] = 43292, - [SMALL_STATE(695)] = 43305, - [SMALL_STATE(696)] = 43318, - [SMALL_STATE(697)] = 43331, - [SMALL_STATE(698)] = 43344, - [SMALL_STATE(699)] = 43357, - [SMALL_STATE(700)] = 43370, - [SMALL_STATE(701)] = 43383, - [SMALL_STATE(702)] = 43396, - [SMALL_STATE(703)] = 43409, - [SMALL_STATE(704)] = 43422, - [SMALL_STATE(705)] = 43435, - [SMALL_STATE(706)] = 43448, - [SMALL_STATE(707)] = 43461, - [SMALL_STATE(708)] = 43474, - [SMALL_STATE(709)] = 43487, - [SMALL_STATE(710)] = 43496, - [SMALL_STATE(711)] = 43505, - [SMALL_STATE(712)] = 43518, - [SMALL_STATE(713)] = 43527, - [SMALL_STATE(714)] = 43540, - [SMALL_STATE(715)] = 43553, - [SMALL_STATE(716)] = 43566, - [SMALL_STATE(717)] = 43579, - [SMALL_STATE(718)] = 43588, - [SMALL_STATE(719)] = 43601, - [SMALL_STATE(720)] = 43614, - [SMALL_STATE(721)] = 43623, - [SMALL_STATE(722)] = 43636, - [SMALL_STATE(723)] = 43649, - [SMALL_STATE(724)] = 43662, - [SMALL_STATE(725)] = 43675, - [SMALL_STATE(726)] = 43688, - [SMALL_STATE(727)] = 43701, - [SMALL_STATE(728)] = 43714, - [SMALL_STATE(729)] = 43727, - [SMALL_STATE(730)] = 43740, - [SMALL_STATE(731)] = 43753, - [SMALL_STATE(732)] = 43761, - [SMALL_STATE(733)] = 43769, - [SMALL_STATE(734)] = 43779, - [SMALL_STATE(735)] = 43789, - [SMALL_STATE(736)] = 43797, - [SMALL_STATE(737)] = 43807, - [SMALL_STATE(738)] = 43817, - [SMALL_STATE(739)] = 43827, - [SMALL_STATE(740)] = 43837, - [SMALL_STATE(741)] = 43847, - [SMALL_STATE(742)] = 43857, - [SMALL_STATE(743)] = 43867, - [SMALL_STATE(744)] = 43877, - [SMALL_STATE(745)] = 43887, - [SMALL_STATE(746)] = 43895, - [SMALL_STATE(747)] = 43905, - [SMALL_STATE(748)] = 43915, - [SMALL_STATE(749)] = 43925, - [SMALL_STATE(750)] = 43933, - [SMALL_STATE(751)] = 43943, - [SMALL_STATE(752)] = 43953, - [SMALL_STATE(753)] = 43963, - [SMALL_STATE(754)] = 43973, - [SMALL_STATE(755)] = 43980, - [SMALL_STATE(756)] = 43987, - [SMALL_STATE(757)] = 43994, - [SMALL_STATE(758)] = 44001, - [SMALL_STATE(759)] = 44008, - [SMALL_STATE(760)] = 44015, - [SMALL_STATE(761)] = 44022, - [SMALL_STATE(762)] = 44029, - [SMALL_STATE(763)] = 44036, - [SMALL_STATE(764)] = 44043, - [SMALL_STATE(765)] = 44050, - [SMALL_STATE(766)] = 44057, - [SMALL_STATE(767)] = 44064, - [SMALL_STATE(768)] = 44071, - [SMALL_STATE(769)] = 44078, - [SMALL_STATE(770)] = 44085, - [SMALL_STATE(771)] = 44092, - [SMALL_STATE(772)] = 44099, - [SMALL_STATE(773)] = 44106, - [SMALL_STATE(774)] = 44113, - [SMALL_STATE(775)] = 44120, - [SMALL_STATE(776)] = 44127, - [SMALL_STATE(777)] = 44134, - [SMALL_STATE(778)] = 44141, - [SMALL_STATE(779)] = 44148, - [SMALL_STATE(780)] = 44155, - [SMALL_STATE(781)] = 44162, + [SMALL_STATE(119)] = 0, + [SMALL_STATE(120)] = 116, + [SMALL_STATE(121)] = 232, + [SMALL_STATE(122)] = 343, + [SMALL_STATE(123)] = 458, + [SMALL_STATE(124)] = 569, + [SMALL_STATE(125)] = 679, + [SMALL_STATE(126)] = 789, + [SMALL_STATE(127)] = 899, + [SMALL_STATE(128)] = 1009, + [SMALL_STATE(129)] = 1119, + [SMALL_STATE(130)] = 1227, + [SMALL_STATE(131)] = 1337, + [SMALL_STATE(132)] = 1447, + [SMALL_STATE(133)] = 1557, + [SMALL_STATE(134)] = 1665, + [SMALL_STATE(135)] = 1773, + [SMALL_STATE(136)] = 1881, + [SMALL_STATE(137)] = 1989, + [SMALL_STATE(138)] = 2097, + [SMALL_STATE(139)] = 2205, + [SMALL_STATE(140)] = 2313, + [SMALL_STATE(141)] = 2421, + [SMALL_STATE(142)] = 2529, + [SMALL_STATE(143)] = 2637, + [SMALL_STATE(144)] = 2745, + [SMALL_STATE(145)] = 2853, + [SMALL_STATE(146)] = 2963, + [SMALL_STATE(147)] = 3071, + [SMALL_STATE(148)] = 3181, + [SMALL_STATE(149)] = 3288, + [SMALL_STATE(150)] = 3395, + [SMALL_STATE(151)] = 3502, + [SMALL_STATE(152)] = 3609, + [SMALL_STATE(153)] = 3716, + [SMALL_STATE(154)] = 3823, + [SMALL_STATE(155)] = 3930, + [SMALL_STATE(156)] = 4037, + [SMALL_STATE(157)] = 4144, + [SMALL_STATE(158)] = 4251, + [SMALL_STATE(159)] = 4358, + [SMALL_STATE(160)] = 4465, + [SMALL_STATE(161)] = 4572, + [SMALL_STATE(162)] = 4683, + [SMALL_STATE(163)] = 4790, + [SMALL_STATE(164)] = 4897, + [SMALL_STATE(165)] = 5004, + [SMALL_STATE(166)] = 5111, + [SMALL_STATE(167)] = 5218, + [SMALL_STATE(168)] = 5325, + [SMALL_STATE(169)] = 5432, + [SMALL_STATE(170)] = 5539, + [SMALL_STATE(171)] = 5650, + [SMALL_STATE(172)] = 5757, + [SMALL_STATE(173)] = 5864, + [SMALL_STATE(174)] = 5971, + [SMALL_STATE(175)] = 6078, + [SMALL_STATE(176)] = 6182, + [SMALL_STATE(177)] = 6286, + [SMALL_STATE(178)] = 6390, + [SMALL_STATE(179)] = 6494, + [SMALL_STATE(180)] = 6598, + [SMALL_STATE(181)] = 6702, + [SMALL_STATE(182)] = 6806, + [SMALL_STATE(183)] = 6910, + [SMALL_STATE(184)] = 7014, + [SMALL_STATE(185)] = 7118, + [SMALL_STATE(186)] = 7222, + [SMALL_STATE(187)] = 7326, + [SMALL_STATE(188)] = 7430, + [SMALL_STATE(189)] = 7534, + [SMALL_STATE(190)] = 7638, + [SMALL_STATE(191)] = 7742, + [SMALL_STATE(192)] = 7846, + [SMALL_STATE(193)] = 7950, + [SMALL_STATE(194)] = 8054, + [SMALL_STATE(195)] = 8158, + [SMALL_STATE(196)] = 8224, + [SMALL_STATE(197)] = 8292, + [SMALL_STATE(198)] = 8396, + [SMALL_STATE(199)] = 8466, + [SMALL_STATE(200)] = 8570, + [SMALL_STATE(201)] = 8674, + [SMALL_STATE(202)] = 8778, + [SMALL_STATE(203)] = 8882, + [SMALL_STATE(204)] = 8986, + [SMALL_STATE(205)] = 9090, + [SMALL_STATE(206)] = 9194, + [SMALL_STATE(207)] = 9298, + [SMALL_STATE(208)] = 9402, + [SMALL_STATE(209)] = 9506, + [SMALL_STATE(210)] = 9610, + [SMALL_STATE(211)] = 9714, + [SMALL_STATE(212)] = 9818, + [SMALL_STATE(213)] = 9922, + [SMALL_STATE(214)] = 10026, + [SMALL_STATE(215)] = 10130, + [SMALL_STATE(216)] = 10234, + [SMALL_STATE(217)] = 10338, + [SMALL_STATE(218)] = 10442, + [SMALL_STATE(219)] = 10546, + [SMALL_STATE(220)] = 10650, + [SMALL_STATE(221)] = 10754, + [SMALL_STATE(222)] = 10858, + [SMALL_STATE(223)] = 10962, + [SMALL_STATE(224)] = 11066, + [SMALL_STATE(225)] = 11170, + [SMALL_STATE(226)] = 11274, + [SMALL_STATE(227)] = 11378, + [SMALL_STATE(228)] = 11482, + [SMALL_STATE(229)] = 11586, + [SMALL_STATE(230)] = 11690, + [SMALL_STATE(231)] = 11794, + [SMALL_STATE(232)] = 11898, + [SMALL_STATE(233)] = 12002, + [SMALL_STATE(234)] = 12106, + [SMALL_STATE(235)] = 12210, + [SMALL_STATE(236)] = 12314, + [SMALL_STATE(237)] = 12418, + [SMALL_STATE(238)] = 12522, + [SMALL_STATE(239)] = 12626, + [SMALL_STATE(240)] = 12730, + [SMALL_STATE(241)] = 12834, + [SMALL_STATE(242)] = 12938, + [SMALL_STATE(243)] = 13042, + [SMALL_STATE(244)] = 13146, + [SMALL_STATE(245)] = 13250, + [SMALL_STATE(246)] = 13354, + [SMALL_STATE(247)] = 13458, + [SMALL_STATE(248)] = 13562, + [SMALL_STATE(249)] = 13666, + [SMALL_STATE(250)] = 13770, + [SMALL_STATE(251)] = 13874, + [SMALL_STATE(252)] = 13978, + [SMALL_STATE(253)] = 14082, + [SMALL_STATE(254)] = 14186, + [SMALL_STATE(255)] = 14290, + [SMALL_STATE(256)] = 14394, + [SMALL_STATE(257)] = 14498, + [SMALL_STATE(258)] = 14602, + [SMALL_STATE(259)] = 14706, + [SMALL_STATE(260)] = 14810, + [SMALL_STATE(261)] = 14914, + [SMALL_STATE(262)] = 15018, + [SMALL_STATE(263)] = 15122, + [SMALL_STATE(264)] = 15226, + [SMALL_STATE(265)] = 15330, + [SMALL_STATE(266)] = 15434, + [SMALL_STATE(267)] = 15538, + [SMALL_STATE(268)] = 15642, + [SMALL_STATE(269)] = 15746, + [SMALL_STATE(270)] = 15850, + [SMALL_STATE(271)] = 15954, + [SMALL_STATE(272)] = 16058, + [SMALL_STATE(273)] = 16162, + [SMALL_STATE(274)] = 16266, + [SMALL_STATE(275)] = 16370, + [SMALL_STATE(276)] = 16474, + [SMALL_STATE(277)] = 16578, + [SMALL_STATE(278)] = 16682, + [SMALL_STATE(279)] = 16786, + [SMALL_STATE(280)] = 16890, + [SMALL_STATE(281)] = 16994, + [SMALL_STATE(282)] = 17098, + [SMALL_STATE(283)] = 17202, + [SMALL_STATE(284)] = 17306, + [SMALL_STATE(285)] = 17410, + [SMALL_STATE(286)] = 17514, + [SMALL_STATE(287)] = 17618, + [SMALL_STATE(288)] = 17722, + [SMALL_STATE(289)] = 17826, + [SMALL_STATE(290)] = 17930, + [SMALL_STATE(291)] = 18034, + [SMALL_STATE(292)] = 18138, + [SMALL_STATE(293)] = 18242, + [SMALL_STATE(294)] = 18346, + [SMALL_STATE(295)] = 18450, + [SMALL_STATE(296)] = 18554, + [SMALL_STATE(297)] = 18658, + [SMALL_STATE(298)] = 18762, + [SMALL_STATE(299)] = 18866, + [SMALL_STATE(300)] = 18970, + [SMALL_STATE(301)] = 19074, + [SMALL_STATE(302)] = 19178, + [SMALL_STATE(303)] = 19282, + [SMALL_STATE(304)] = 19386, + [SMALL_STATE(305)] = 19490, + [SMALL_STATE(306)] = 19594, + [SMALL_STATE(307)] = 19698, + [SMALL_STATE(308)] = 19802, + [SMALL_STATE(309)] = 19906, + [SMALL_STATE(310)] = 20010, + [SMALL_STATE(311)] = 20114, + [SMALL_STATE(312)] = 20218, + [SMALL_STATE(313)] = 20322, + [SMALL_STATE(314)] = 20426, + [SMALL_STATE(315)] = 20530, + [SMALL_STATE(316)] = 20596, + [SMALL_STATE(317)] = 20700, + [SMALL_STATE(318)] = 20804, + [SMALL_STATE(319)] = 20878, + [SMALL_STATE(320)] = 20982, + [SMALL_STATE(321)] = 21086, + [SMALL_STATE(322)] = 21190, + [SMALL_STATE(323)] = 21294, + [SMALL_STATE(324)] = 21398, + [SMALL_STATE(325)] = 21502, + [SMALL_STATE(326)] = 21606, + [SMALL_STATE(327)] = 21710, + [SMALL_STATE(328)] = 21814, + [SMALL_STATE(329)] = 21918, + [SMALL_STATE(330)] = 22022, + [SMALL_STATE(331)] = 22126, + [SMALL_STATE(332)] = 22230, + [SMALL_STATE(333)] = 22334, + [SMALL_STATE(334)] = 22438, + [SMALL_STATE(335)] = 22542, + [SMALL_STATE(336)] = 22646, + [SMALL_STATE(337)] = 22711, + [SMALL_STATE(338)] = 22776, + [SMALL_STATE(339)] = 22841, + [SMALL_STATE(340)] = 22906, + [SMALL_STATE(341)] = 22971, + [SMALL_STATE(342)] = 23036, + [SMALL_STATE(343)] = 23101, + [SMALL_STATE(344)] = 23166, + [SMALL_STATE(345)] = 23231, + [SMALL_STATE(346)] = 23296, + [SMALL_STATE(347)] = 23361, + [SMALL_STATE(348)] = 23428, + [SMALL_STATE(349)] = 23493, + [SMALL_STATE(350)] = 23558, + [SMALL_STATE(351)] = 23623, + [SMALL_STATE(352)] = 23688, + [SMALL_STATE(353)] = 23753, + [SMALL_STATE(354)] = 23818, + [SMALL_STATE(355)] = 23883, + [SMALL_STATE(356)] = 23948, + [SMALL_STATE(357)] = 24013, + [SMALL_STATE(358)] = 24078, + [SMALL_STATE(359)] = 24143, + [SMALL_STATE(360)] = 24208, + [SMALL_STATE(361)] = 24273, + [SMALL_STATE(362)] = 24338, + [SMALL_STATE(363)] = 24403, + [SMALL_STATE(364)] = 24468, + [SMALL_STATE(365)] = 24533, + [SMALL_STATE(366)] = 24598, + [SMALL_STATE(367)] = 24663, + [SMALL_STATE(368)] = 24728, + [SMALL_STATE(369)] = 24793, + [SMALL_STATE(370)] = 24858, + [SMALL_STATE(371)] = 24923, + [SMALL_STATE(372)] = 24988, + [SMALL_STATE(373)] = 25053, + [SMALL_STATE(374)] = 25164, + [SMALL_STATE(375)] = 25229, + [SMALL_STATE(376)] = 25294, + [SMALL_STATE(377)] = 25359, + [SMALL_STATE(378)] = 25424, + [SMALL_STATE(379)] = 25489, + [SMALL_STATE(380)] = 25554, + [SMALL_STATE(381)] = 25619, + [SMALL_STATE(382)] = 25684, + [SMALL_STATE(383)] = 25749, + [SMALL_STATE(384)] = 25814, + [SMALL_STATE(385)] = 25879, + [SMALL_STATE(386)] = 25944, + [SMALL_STATE(387)] = 26009, + [SMALL_STATE(388)] = 26074, + [SMALL_STATE(389)] = 26139, + [SMALL_STATE(390)] = 26204, + [SMALL_STATE(391)] = 26269, + [SMALL_STATE(392)] = 26334, + [SMALL_STATE(393)] = 26399, + [SMALL_STATE(394)] = 26510, + [SMALL_STATE(395)] = 26575, + [SMALL_STATE(396)] = 26640, + [SMALL_STATE(397)] = 26705, + [SMALL_STATE(398)] = 26801, + [SMALL_STATE(399)] = 26867, + [SMALL_STATE(400)] = 26973, + [SMALL_STATE(401)] = 27075, + [SMALL_STATE(402)] = 27175, + [SMALL_STATE(403)] = 27281, + [SMALL_STATE(404)] = 27387, + [SMALL_STATE(405)] = 27493, + [SMALL_STATE(406)] = 27599, + [SMALL_STATE(407)] = 27705, + [SMALL_STATE(408)] = 27771, + [SMALL_STATE(409)] = 27871, + [SMALL_STATE(410)] = 27961, + [SMALL_STATE(411)] = 28039, + [SMALL_STATE(412)] = 28121, + [SMALL_STATE(413)] = 28227, + [SMALL_STATE(414)] = 28315, + [SMALL_STATE(415)] = 28401, + [SMALL_STATE(416)] = 28485, + [SMALL_STATE(417)] = 28565, + [SMALL_STATE(418)] = 28641, + [SMALL_STATE(419)] = 28717, + [SMALL_STATE(420)] = 28813, + [SMALL_STATE(421)] = 28903, + [SMALL_STATE(422)] = 28971, + [SMALL_STATE(423)] = 29061, + [SMALL_STATE(424)] = 29139, + [SMALL_STATE(425)] = 29221, + [SMALL_STATE(426)] = 29321, + [SMALL_STATE(427)] = 29431, + [SMALL_STATE(428)] = 29537, + [SMALL_STATE(429)] = 29625, + [SMALL_STATE(430)] = 29731, + [SMALL_STATE(431)] = 29837, + [SMALL_STATE(432)] = 29923, + [SMALL_STATE(433)] = 30029, + [SMALL_STATE(434)] = 30113, + [SMALL_STATE(435)] = 30193, + [SMALL_STATE(436)] = 30299, + [SMALL_STATE(437)] = 30375, + [SMALL_STATE(438)] = 30481, + [SMALL_STATE(439)] = 30587, + [SMALL_STATE(440)] = 30693, + [SMALL_STATE(441)] = 30761, + [SMALL_STATE(442)] = 30837, + [SMALL_STATE(443)] = 30933, + [SMALL_STATE(444)] = 31033, + [SMALL_STATE(445)] = 31139, + [SMALL_STATE(446)] = 31245, + [SMALL_STATE(447)] = 31335, + [SMALL_STATE(448)] = 31445, + [SMALL_STATE(449)] = 31541, + [SMALL_STATE(450)] = 31647, + [SMALL_STATE(451)] = 31749, + [SMALL_STATE(452)] = 31824, + [SMALL_STATE(453)] = 31919, + [SMALL_STATE(454)] = 32024, + [SMALL_STATE(455)] = 32131, + [SMALL_STATE(456)] = 32236, + [SMALL_STATE(457)] = 32325, + [SMALL_STATE(458)] = 32402, + [SMALL_STATE(459)] = 32483, + [SMALL_STATE(460)] = 32548, + [SMALL_STATE(461)] = 32635, + [SMALL_STATE(462)] = 32720, + [SMALL_STATE(463)] = 32803, + [SMALL_STATE(464)] = 32882, + [SMALL_STATE(465)] = 32957, + [SMALL_STATE(466)] = 33062, + [SMALL_STATE(467)] = 33157, + [SMALL_STATE(468)] = 33246, + [SMALL_STATE(469)] = 33351, + [SMALL_STATE(470)] = 33418, + [SMALL_STATE(471)] = 33523, + [SMALL_STATE(472)] = 33624, + [SMALL_STATE(473)] = 33723, + [SMALL_STATE(474)] = 33822, + [SMALL_STATE(475)] = 33927, + [SMALL_STATE(476)] = 34038, + [SMALL_STATE(477)] = 34143, + [SMALL_STATE(478)] = 34248, + [SMALL_STATE(479)] = 34359, + [SMALL_STATE(480)] = 34464, + [SMALL_STATE(481)] = 34568, + [SMALL_STATE(482)] = 34676, + [SMALL_STATE(483)] = 34784, + [SMALL_STATE(484)] = 34892, + [SMALL_STATE(485)] = 34996, + [SMALL_STATE(486)] = 35104, + [SMALL_STATE(487)] = 35212, + [SMALL_STATE(488)] = 35320, + [SMALL_STATE(489)] = 35428, + [SMALL_STATE(490)] = 35536, + [SMALL_STATE(491)] = 35642, + [SMALL_STATE(492)] = 35750, + [SMALL_STATE(493)] = 35855, + [SMALL_STATE(494)] = 35958, + [SMALL_STATE(495)] = 36023, + [SMALL_STATE(496)] = 36128, + [SMALL_STATE(497)] = 36233, + [SMALL_STATE(498)] = 36298, + [SMALL_STATE(499)] = 36401, + [SMALL_STATE(500)] = 36506, + [SMALL_STATE(501)] = 36609, + [SMALL_STATE(502)] = 36714, + [SMALL_STATE(503)] = 36819, + [SMALL_STATE(504)] = 36921, + [SMALL_STATE(505)] = 37019, + [SMALL_STATE(506)] = 37115, + [SMALL_STATE(507)] = 37199, + [SMALL_STATE(508)] = 37281, + [SMALL_STATE(509)] = 37361, + [SMALL_STATE(510)] = 37437, + [SMALL_STATE(511)] = 37509, + [SMALL_STATE(512)] = 37581, + [SMALL_STATE(513)] = 37673, + [SMALL_STATE(514)] = 37775, + [SMALL_STATE(515)] = 37861, + [SMALL_STATE(516)] = 37963, + [SMALL_STATE(517)] = 38065, + [SMALL_STATE(518)] = 38167, + [SMALL_STATE(519)] = 38269, + [SMALL_STATE(520)] = 38371, + [SMALL_STATE(521)] = 38473, + [SMALL_STATE(522)] = 38575, + [SMALL_STATE(523)] = 38677, + [SMALL_STATE(524)] = 38763, + [SMALL_STATE(525)] = 38861, + [SMALL_STATE(526)] = 38957, + [SMALL_STATE(527)] = 39059, + [SMALL_STATE(528)] = 39161, + [SMALL_STATE(529)] = 39263, + [SMALL_STATE(530)] = 39365, + [SMALL_STATE(531)] = 39467, + [SMALL_STATE(532)] = 39569, + [SMALL_STATE(533)] = 39671, + [SMALL_STATE(534)] = 39773, + [SMALL_STATE(535)] = 39859, + [SMALL_STATE(536)] = 39933, + [SMALL_STATE(537)] = 40011, + [SMALL_STATE(538)] = 40095, + [SMALL_STATE(539)] = 40177, + [SMALL_STATE(540)] = 40257, + [SMALL_STATE(541)] = 40333, + [SMALL_STATE(542)] = 40405, + [SMALL_STATE(543)] = 40477, + [SMALL_STATE(544)] = 40569, + [SMALL_STATE(545)] = 40655, + [SMALL_STATE(546)] = 40729, + [SMALL_STATE(547)] = 40825, + [SMALL_STATE(548)] = 40889, + [SMALL_STATE(549)] = 40985, + [SMALL_STATE(550)] = 41077, + [SMALL_STATE(551)] = 41155, + [SMALL_STATE(552)] = 41247, + [SMALL_STATE(553)] = 41349, + [SMALL_STATE(554)] = 41412, + [SMALL_STATE(555)] = 41511, + [SMALL_STATE(556)] = 41558, + [SMALL_STATE(557)] = 41605, + [SMALL_STATE(558)] = 41646, + [SMALL_STATE(559)] = 41687, + [SMALL_STATE(560)] = 41728, + [SMALL_STATE(561)] = 41771, + [SMALL_STATE(562)] = 41814, + [SMALL_STATE(563)] = 41857, + [SMALL_STATE(564)] = 41875, + [SMALL_STATE(565)] = 41901, + [SMALL_STATE(566)] = 41916, + [SMALL_STATE(567)] = 41937, + [SMALL_STATE(568)] = 41952, + [SMALL_STATE(569)] = 41967, + [SMALL_STATE(570)] = 41988, + [SMALL_STATE(571)] = 42011, + [SMALL_STATE(572)] = 42032, + [SMALL_STATE(573)] = 42047, + [SMALL_STATE(574)] = 42062, + [SMALL_STATE(575)] = 42077, + [SMALL_STATE(576)] = 42092, + [SMALL_STATE(577)] = 42113, + [SMALL_STATE(578)] = 42128, + [SMALL_STATE(579)] = 42151, + [SMALL_STATE(580)] = 42166, + [SMALL_STATE(581)] = 42181, + [SMALL_STATE(582)] = 42196, + [SMALL_STATE(583)] = 42217, + [SMALL_STATE(584)] = 42232, + [SMALL_STATE(585)] = 42247, + [SMALL_STATE(586)] = 42268, + [SMALL_STATE(587)] = 42283, + [SMALL_STATE(588)] = 42303, + [SMALL_STATE(589)] = 42321, + [SMALL_STATE(590)] = 42339, + [SMALL_STATE(591)] = 42357, + [SMALL_STATE(592)] = 42375, + [SMALL_STATE(593)] = 42393, + [SMALL_STATE(594)] = 42411, + [SMALL_STATE(595)] = 42429, + [SMALL_STATE(596)] = 42447, + [SMALL_STATE(597)] = 42465, + [SMALL_STATE(598)] = 42483, + [SMALL_STATE(599)] = 42501, + [SMALL_STATE(600)] = 42519, + [SMALL_STATE(601)] = 42534, + [SMALL_STATE(602)] = 42549, + [SMALL_STATE(603)] = 42564, + [SMALL_STATE(604)] = 42579, + [SMALL_STATE(605)] = 42594, + [SMALL_STATE(606)] = 42609, + [SMALL_STATE(607)] = 42624, + [SMALL_STATE(608)] = 42639, + [SMALL_STATE(609)] = 42654, + [SMALL_STATE(610)] = 42669, + [SMALL_STATE(611)] = 42684, + [SMALL_STATE(612)] = 42699, + [SMALL_STATE(613)] = 42714, + [SMALL_STATE(614)] = 42729, + [SMALL_STATE(615)] = 42748, + [SMALL_STATE(616)] = 42763, + [SMALL_STATE(617)] = 42778, + [SMALL_STATE(618)] = 42793, + [SMALL_STATE(619)] = 42808, + [SMALL_STATE(620)] = 42823, + [SMALL_STATE(621)] = 42838, + [SMALL_STATE(622)] = 42857, + [SMALL_STATE(623)] = 42872, + [SMALL_STATE(624)] = 42887, + [SMALL_STATE(625)] = 42902, + [SMALL_STATE(626)] = 42921, + [SMALL_STATE(627)] = 42936, + [SMALL_STATE(628)] = 42955, + [SMALL_STATE(629)] = 42970, + [SMALL_STATE(630)] = 42985, + [SMALL_STATE(631)] = 43000, + [SMALL_STATE(632)] = 43015, + [SMALL_STATE(633)] = 43030, + [SMALL_STATE(634)] = 43045, + [SMALL_STATE(635)] = 43061, + [SMALL_STATE(636)] = 43077, + [SMALL_STATE(637)] = 43093, + [SMALL_STATE(638)] = 43109, + [SMALL_STATE(639)] = 43125, + [SMALL_STATE(640)] = 43141, + [SMALL_STATE(641)] = 43157, + [SMALL_STATE(642)] = 43167, + [SMALL_STATE(643)] = 43177, + [SMALL_STATE(644)] = 43193, + [SMALL_STATE(645)] = 43209, + [SMALL_STATE(646)] = 43225, + [SMALL_STATE(647)] = 43241, + [SMALL_STATE(648)] = 43255, + [SMALL_STATE(649)] = 43271, + [SMALL_STATE(650)] = 43285, + [SMALL_STATE(651)] = 43301, + [SMALL_STATE(652)] = 43317, + [SMALL_STATE(653)] = 43333, + [SMALL_STATE(654)] = 43347, + [SMALL_STATE(655)] = 43363, + [SMALL_STATE(656)] = 43377, + [SMALL_STATE(657)] = 43391, + [SMALL_STATE(658)] = 43405, + [SMALL_STATE(659)] = 43419, + [SMALL_STATE(660)] = 43435, + [SMALL_STATE(661)] = 43451, + [SMALL_STATE(662)] = 43467, + [SMALL_STATE(663)] = 43483, + [SMALL_STATE(664)] = 43499, + [SMALL_STATE(665)] = 43515, + [SMALL_STATE(666)] = 43529, + [SMALL_STATE(667)] = 43545, + [SMALL_STATE(668)] = 43559, + [SMALL_STATE(669)] = 43573, + [SMALL_STATE(670)] = 43589, + [SMALL_STATE(671)] = 43603, + [SMALL_STATE(672)] = 43619, + [SMALL_STATE(673)] = 43633, + [SMALL_STATE(674)] = 43647, + [SMALL_STATE(675)] = 43663, + [SMALL_STATE(676)] = 43679, + [SMALL_STATE(677)] = 43695, + [SMALL_STATE(678)] = 43711, + [SMALL_STATE(679)] = 43727, + [SMALL_STATE(680)] = 43741, + [SMALL_STATE(681)] = 43755, + [SMALL_STATE(682)] = 43769, + [SMALL_STATE(683)] = 43782, + [SMALL_STATE(684)] = 43795, + [SMALL_STATE(685)] = 43808, + [SMALL_STATE(686)] = 43817, + [SMALL_STATE(687)] = 43826, + [SMALL_STATE(688)] = 43835, + [SMALL_STATE(689)] = 43848, + [SMALL_STATE(690)] = 43861, + [SMALL_STATE(691)] = 43874, + [SMALL_STATE(692)] = 43887, + [SMALL_STATE(693)] = 43900, + [SMALL_STATE(694)] = 43913, + [SMALL_STATE(695)] = 43926, + [SMALL_STATE(696)] = 43939, + [SMALL_STATE(697)] = 43952, + [SMALL_STATE(698)] = 43965, + [SMALL_STATE(699)] = 43978, + [SMALL_STATE(700)] = 43991, + [SMALL_STATE(701)] = 44000, + [SMALL_STATE(702)] = 44009, + [SMALL_STATE(703)] = 44018, + [SMALL_STATE(704)] = 44031, + [SMALL_STATE(705)] = 44044, + [SMALL_STATE(706)] = 44057, + [SMALL_STATE(707)] = 44070, + [SMALL_STATE(708)] = 44079, + [SMALL_STATE(709)] = 44092, + [SMALL_STATE(710)] = 44105, + [SMALL_STATE(711)] = 44118, + [SMALL_STATE(712)] = 44127, + [SMALL_STATE(713)] = 44140, + [SMALL_STATE(714)] = 44153, + [SMALL_STATE(715)] = 44166, + [SMALL_STATE(716)] = 44179, + [SMALL_STATE(717)] = 44192, + [SMALL_STATE(718)] = 44205, + [SMALL_STATE(719)] = 44218, + [SMALL_STATE(720)] = 44231, + [SMALL_STATE(721)] = 44244, + [SMALL_STATE(722)] = 44257, + [SMALL_STATE(723)] = 44270, + [SMALL_STATE(724)] = 44283, + [SMALL_STATE(725)] = 44296, + [SMALL_STATE(726)] = 44309, + [SMALL_STATE(727)] = 44322, + [SMALL_STATE(728)] = 44335, + [SMALL_STATE(729)] = 44348, + [SMALL_STATE(730)] = 44361, + [SMALL_STATE(731)] = 44374, + [SMALL_STATE(732)] = 44387, + [SMALL_STATE(733)] = 44400, + [SMALL_STATE(734)] = 44413, + [SMALL_STATE(735)] = 44426, + [SMALL_STATE(736)] = 44439, + [SMALL_STATE(737)] = 44452, + [SMALL_STATE(738)] = 44465, + [SMALL_STATE(739)] = 44478, + [SMALL_STATE(740)] = 44491, + [SMALL_STATE(741)] = 44504, + [SMALL_STATE(742)] = 44517, + [SMALL_STATE(743)] = 44530, + [SMALL_STATE(744)] = 44543, + [SMALL_STATE(745)] = 44556, + [SMALL_STATE(746)] = 44565, + [SMALL_STATE(747)] = 44578, + [SMALL_STATE(748)] = 44591, + [SMALL_STATE(749)] = 44604, + [SMALL_STATE(750)] = 44617, + [SMALL_STATE(751)] = 44626, + [SMALL_STATE(752)] = 44635, + [SMALL_STATE(753)] = 44648, + [SMALL_STATE(754)] = 44657, + [SMALL_STATE(755)] = 44670, + [SMALL_STATE(756)] = 44683, + [SMALL_STATE(757)] = 44696, + [SMALL_STATE(758)] = 44709, + [SMALL_STATE(759)] = 44722, + [SMALL_STATE(760)] = 44735, + [SMALL_STATE(761)] = 44748, + [SMALL_STATE(762)] = 44761, + [SMALL_STATE(763)] = 44774, + [SMALL_STATE(764)] = 44787, + [SMALL_STATE(765)] = 44800, + [SMALL_STATE(766)] = 44813, + [SMALL_STATE(767)] = 44822, + [SMALL_STATE(768)] = 44835, + [SMALL_STATE(769)] = 44848, + [SMALL_STATE(770)] = 44861, + [SMALL_STATE(771)] = 44874, + [SMALL_STATE(772)] = 44887, + [SMALL_STATE(773)] = 44898, + [SMALL_STATE(774)] = 44908, + [SMALL_STATE(775)] = 44918, + [SMALL_STATE(776)] = 44928, + [SMALL_STATE(777)] = 44938, + [SMALL_STATE(778)] = 44948, + [SMALL_STATE(779)] = 44958, + [SMALL_STATE(780)] = 44968, + [SMALL_STATE(781)] = 44978, + [SMALL_STATE(782)] = 44988, + [SMALL_STATE(783)] = 44998, + [SMALL_STATE(784)] = 45006, + [SMALL_STATE(785)] = 45016, + [SMALL_STATE(786)] = 45026, + [SMALL_STATE(787)] = 45036, + [SMALL_STATE(788)] = 45046, + [SMALL_STATE(789)] = 45056, + [SMALL_STATE(790)] = 45066, + [SMALL_STATE(791)] = 45076, + [SMALL_STATE(792)] = 45084, + [SMALL_STATE(793)] = 45092, + [SMALL_STATE(794)] = 45100, + [SMALL_STATE(795)] = 45110, + [SMALL_STATE(796)] = 45118, + [SMALL_STATE(797)] = 45125, + [SMALL_STATE(798)] = 45132, + [SMALL_STATE(799)] = 45139, + [SMALL_STATE(800)] = 45146, + [SMALL_STATE(801)] = 45153, + [SMALL_STATE(802)] = 45160, + [SMALL_STATE(803)] = 45167, + [SMALL_STATE(804)] = 45174, + [SMALL_STATE(805)] = 45181, + [SMALL_STATE(806)] = 45188, + [SMALL_STATE(807)] = 45195, + [SMALL_STATE(808)] = 45202, + [SMALL_STATE(809)] = 45209, + [SMALL_STATE(810)] = 45216, + [SMALL_STATE(811)] = 45223, + [SMALL_STATE(812)] = 45230, + [SMALL_STATE(813)] = 45237, + [SMALL_STATE(814)] = 45244, + [SMALL_STATE(815)] = 45251, + [SMALL_STATE(816)] = 45258, + [SMALL_STATE(817)] = 45265, + [SMALL_STATE(818)] = 45272, + [SMALL_STATE(819)] = 45279, + [SMALL_STATE(820)] = 45286, + [SMALL_STATE(821)] = 45293, + [SMALL_STATE(822)] = 45300, + [SMALL_STATE(823)] = 45307, + [SMALL_STATE(824)] = 45314, + [SMALL_STATE(825)] = 45321, + [SMALL_STATE(826)] = 45328, + [SMALL_STATE(827)] = 45335, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -48177,1064 +50588,1102 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(768), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(719), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(759), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(811), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(730), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(812), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(335), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221), [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression, 1, 0, 0), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), [55] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_expression, 1, 0, 0), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(346), - [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(772), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(650), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(757), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(314), - [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), - [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(316), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), - [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241), - [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(224), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(373), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(818), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(696), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(803), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(328), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(257), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(342), - [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(343), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619), - [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(364), - [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(775), - [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(673), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(322), - [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(247), - [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(358), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(821), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(720), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), + [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263), + [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(264), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), - [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), - [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 2, 0, 3), - [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 2, 0, 3), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), - [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(389), - [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(781), - [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(714), - [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), - [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), - [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 2, 0, 3), + [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 2, 0, 3), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(827), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(756), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), - [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), - [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), - [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(467), - [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), - [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447), - [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), - [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(463), - [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), - [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(496), - [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(756), - [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(723), - [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(481), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), + [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(466), + [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(487), + [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(512), + [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(802), + [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(744), + [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(254), [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), - [173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(526), - [175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(778), - [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(693), - [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), + [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), + [173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(543), + [175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(824), + [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(742), + [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(334), [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_or_sequence, 1, 0, 0), [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_or_sequence, 1, 0, 0), - [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), - [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), - [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(555), - [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), - [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206), - [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(236), - [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), - [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), - [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183), - [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(761), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 35), - [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 35), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 12), - [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 12), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 3, 0, 14), - [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 3, 0, 14), - [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_expression, 3, 0, 15), - [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_expression, 3, 0, 15), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 19), - [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 19), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 4, 0, 25), - [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 4, 0, 25), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 29), - [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 29), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 31), - [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 31), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 38), - [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 38), - [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 40), - [269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 40), - [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 41), - [273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 41), - [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 42), - [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 42), - [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 1), - [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 1), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_not_expression, 2, 0, 1), - [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_not_expression, 2, 0, 1), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 2, 0, 0), - [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 2, 0, 0), - [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 2, 0, 2), - [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 2, 0, 2), - [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), - [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), - [299] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(197), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), - [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), - [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 3, 0, 10), - [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 3, 0, 10), - [314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(640), - [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 28), - [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 28), - [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2, 0, 0), - [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2, 0, 0), - [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), - [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), - [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_special_constant, 1, 0, 0), - [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_special_constant, 1, 0, 0), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2, 0, 0), - [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2, 0, 0), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression, 2, 0, 0), - [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_expression, 2, 0, 0), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, 0, 0), - [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, 0, 0), - [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 2, 0, 4), - [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 2, 0, 4), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 17), - [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 17), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 18), - [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 18), - [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4, 0, 0), - [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4, 0, 0), - [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 20), - [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, 0, 20), - [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_comprehension, 4, 0, 21), - [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_comprehension, 4, 0, 21), - [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4, 0, 0), - [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 4, 0, 0), - [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 4, 0, 0), - [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 4, 0, 0), - [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_comprehension, 4, 0, 21), - [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_comprehension, 4, 0, 21), - [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 4, 0, 24), - [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expression, 4, 0, 24), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3, 0, 0), - [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3, 0, 0), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 4, 0, 26), - [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 4, 0, 26), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_expression, 4, 0, 27), - [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_expression, 4, 0, 27), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 32), - [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 32), - [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 5, 0, 0), - [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 5, 0, 0), - [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 20), - [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, 0, 20), - [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 5, 0, 0), - [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 5, 0, 0), - [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 5, 0, 0), - [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 5, 0, 0), - [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 5, 0, 33), - [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 5, 0, 33), - [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, 0, 0), - [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, 0, 0), - [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, 0, 6), - [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, 0, 6), - [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 36), - [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 36), - [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 37), - [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 37), - [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 6, 0, 0), - [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 6, 0, 0), - [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 6, 0, 20), - [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 6, 0, 20), - [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 6, 0, 0), - [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 6, 0, 0), - [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_comprehension, 6, 0, 24), - [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_comprehension, 6, 0, 24), - [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 5, 0, 0), - [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 5, 0, 0), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 39), - [458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 39), - [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit, 2, 0, 0), - [466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit, 2, 0, 0), - [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 7, 0, 0), - [470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 7, 0, 0), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 7, 0, 20), - [474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 7, 0, 20), - [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 7, 0, 0), - [478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 7, 0, 0), - [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3, 0, 0), - [482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3, 0, 0), - [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3, 0, 0), - [486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3, 0, 0), - [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 3, 0, 9), - [490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expression, 3, 0, 9), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 3, 0, 11), - [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_expression, 3, 0, 11), - [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, 0, 0), - [498] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 0), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_augmented_assignment, 3, 0, 12), - [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_augmented_assignment, 3, 0, 12), - [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, 0, 13), - [506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, 0, 13), - [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2, 0, 0), - [510] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2, 0, 0), - [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [514] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(15), - [517] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(96), - [520] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(112), - [523] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(768), - [526] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(719), - [529] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(158), - [532] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(759), - [535] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(99), - [538] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(190), - [541] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(192), - [544] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(198), - [547] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(198), - [550] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(113), - [553] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(109), - [556] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(107), - [559] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(187), - [562] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(189), - [565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(2), - [568] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(15), - [571] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(49), - [574] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(50), - [577] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(642), - [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(534), - [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comprehension_clauses, 4, 0, 0), - [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220), - [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221), - [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), - [598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(533), - [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533), - [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comprehension_clauses, 3, 0, 0), - [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184), - [618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(434), - [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), - [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), - [630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), - [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), - [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), - [636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(528), - [638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), - [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), - [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), - [648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(469), - [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), - [654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(470), - [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766), - [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), - [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), - [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), - [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(465), - [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760), - [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), - [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), - [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), - [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), - [690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(390), - [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), - [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479), - [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), - [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), - [704] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(717), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(461), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(656), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), - [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(657), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(660), - [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(663), - [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), - [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(462), - [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), - [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), - [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), - [740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(480), - [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), - [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(471), - [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), - [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), - [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), - [760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(523), - [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), - [766] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280), - [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), - [772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), - [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475), - [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), - [784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(497), - [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), - [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646), - [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(499), - [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), - [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(500), - [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), - [800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(501), - [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), - [804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(502), - [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), - [808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(503), - [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), - [812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(504), - [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), - [816] = {.entry = {.count = 1, .reusable = false}}, SHIFT(483), - [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), - [820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(505), - [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), - [828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(460), - [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), - [840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(532), - [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532), - [844] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), - [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), - [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472), - [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), - [860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [864] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424), - [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), - [868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [872] = {.entry = {.count = 1, .reusable = false}}, SHIFT(529), - [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), - [876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(474), - [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), - [880] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), - [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [892] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [896] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [908] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [916] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [928] = {.entry = {.count = 1, .reusable = false}}, SHIFT(394), - [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), - [932] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), - [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), - [936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), - [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), - [940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429), - [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), - [944] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379), - [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), - [948] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381), - [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), - [952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382), - [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), - [956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(383), - [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), - [960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384), - [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), - [964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385), - [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), - [968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(466), - [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), - [972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(224), - [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(498), - [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), - [980] = {.entry = {.count = 1, .reusable = false}}, SHIFT(506), - [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), - [984] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(780), - [992] = {.entry = {.count = 1, .reusable = false}}, SHIFT(451), - [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), - [996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(507), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), - [1000] = {.entry = {.count = 1, .reusable = false}}, SHIFT(508), - [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), - [1004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(509), - [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), - [1008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(510), - [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), - [1012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(511), - [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), - [1016] = {.entry = {.count = 1, .reusable = false}}, SHIFT(512), - [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), - [1020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(513), - [1022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), - [1024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(514), - [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), - [1028] = {.entry = {.count = 1, .reusable = false}}, SHIFT(515), - [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), - [1032] = {.entry = {.count = 1, .reusable = false}}, SHIFT(516), - [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), - [1036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [1040] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), - [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [1044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(485), - [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), - [1048] = {.entry = {.count = 1, .reusable = false}}, SHIFT(486), - [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), - [1052] = {.entry = {.count = 1, .reusable = false}}, SHIFT(481), - [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), - [1056] = {.entry = {.count = 1, .reusable = false}}, SHIFT(482), - [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), - [1060] = {.entry = {.count = 1, .reusable = false}}, SHIFT(530), - [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), - [1064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(473), - [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), - [1068] = {.entry = {.count = 1, .reusable = false}}, SHIFT(487), - [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), - [1072] = {.entry = {.count = 1, .reusable = false}}, SHIFT(468), - [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), - [1076] = {.entry = {.count = 1, .reusable = false}}, SHIFT(386), - [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), - [1080] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), - [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), - [1084] = {.entry = {.count = 1, .reusable = false}}, SHIFT(488), - [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), - [1088] = {.entry = {.count = 1, .reusable = false}}, SHIFT(403), - [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [1092] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), - [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), - [1096] = {.entry = {.count = 1, .reusable = false}}, SHIFT(407), - [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), - [1100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(495), - [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), - [1104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), - [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), - [1108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(415), - [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [1112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), - [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [1116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), - [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), - [1120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(418), - [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), - [1124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), - [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), - [1128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), - [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), - [1132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), - [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), - [1136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(402), - [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), - [1140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), - [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), - [1144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(404), - [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), - [1148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(405), - [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [1152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430), - [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), - [1156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408), - [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [1160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), - [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), - [1164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410), - [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [1168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411), - [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [1172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(437), - [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), - [1176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(450), - [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), - [1180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(456), - [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), - [1184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), - [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), - [1188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(431), - [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), - [1192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(432), - [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), - [1196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(435), - [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), - [1200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), - [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), - [1204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), - [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), - [1208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(531), - [1210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), - [1212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(490), - [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), - [1216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(391), - [1218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), - [1220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(392), - [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), - [1224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393), - [1226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), - [1228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(395), - [1230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [1232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(377), - [1234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), - [1236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(396), - [1238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), - [1240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397), - [1242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), - [1244] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), - [1246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [1248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), - [1250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [1252] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), - [1254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), - [1256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(491), - [1258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), - [1260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(517), - [1262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), - [1264] = {.entry = {.count = 1, .reusable = false}}, SHIFT(518), - [1266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), - [1268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(519), - [1270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), - [1272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(520), - [1274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), - [1276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(521), - [1278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), - [1280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(522), - [1282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), - [1284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), - [1286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), - [1288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(524), - [1290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), - [1292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(525), - [1294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), - [1296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(527), - [1298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), - [1300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(493), - [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), - [1304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(438), - [1306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), - [1308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), - [1310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), - [1312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(440), - [1314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), - [1316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(441), - [1318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), - [1320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), - [1322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), - [1324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443), - [1326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), - [1328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), - [1330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), - [1332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), - [1334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), - [1336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(446), - [1338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), - [1340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(448), - [1342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), - [1344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), - [1346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [1348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(423), - [1350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), - [1352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(494), - [1354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), - [1356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(452), - [1358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), - [1360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), - [1362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), - [1364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(454), - [1366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), - [1368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(459), - [1370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), - [1372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413), - [1374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), - [1376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), - [1378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [1380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), - [1382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [1384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(251), - [1386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), - [1388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), - [1390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [1392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [1394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [1396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256), - [1398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(257), - [1400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), - [1402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), - [1404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [1406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), - [1408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), - [1410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [1412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [1414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [1416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282), - [1418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [1420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), - [1422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284), - [1424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), - [1426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [1428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [1430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [1432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(286), - [1434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(287), - [1436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(288), - [1438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289), - [1440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), - [1442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290), - [1444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), - [1446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [1448] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(238), - [1451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [1453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [1455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(304), - [1457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [1459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(305), - [1461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), - [1463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), - [1465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [1467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [1469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), - [1471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(308), - [1473] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309), - [1475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310), - [1477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311), - [1479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), - [1481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312), - [1483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), - [1485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [1487] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(207), - [1490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_guard, 2, 0, 8), - [1492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [1494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), - [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [1498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_entry, 1, 0, 0), - [1500] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(225), - [1503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [1507] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_if_guard, 2, 0, 8), SHIFT(100), - [1510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [1512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659), - [1514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [1516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), - [1518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [1520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(720), - [1522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [1524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [1526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_entry, 3, 0, 22), - [1528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_binding, 3, 0, 23), - [1530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [1532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [1534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), - [1536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [1538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [1540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), - [1542] = {.entry = {.count = 1, .reusable = false}}, SHIFT(293), - [1544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [1546] = {.entry = {.count = 1, .reusable = false}}, SHIFT(294), - [1548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(295), - [1550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), - [1552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [1554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [1556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), - [1558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297), - [1560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), - [1562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), - [1564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), - [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), - [1568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), - [1570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [1572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [1574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_default, 2, 0, 7), - [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [1578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), - [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [1584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [1586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), - [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [1590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(240), - [1592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(245), - [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), - [1596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [1602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(292), - [1604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), - [1606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303), - [1608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317), - [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), - [1612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(253), - [1614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [1616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [1618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), - [1620] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__pattern, 1, 0, 0), REDUCE(sym__expression, 1, 0, 0), - [1623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [1625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [1627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [1629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), - [1631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [1633] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), REDUCE(sym__expression, 1, 0, 0), - [1636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), - [1638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), - [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), - [1642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 16), - [1644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 16), - [1646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, 0, 16), - [1648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 4, 0, 16), - [1650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538), - [1652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, 0, 34), - [1654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 6, 0, 34), - [1656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541), - [1658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 7, 0, 34), - [1660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 7, 0, 34), - [1662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), - [1664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), - [1666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), - [1668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), - [1670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), - [1672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688), - [1674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(769), - [1676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [1678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666), - [1680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [1682] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313), - [1684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [1686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3, 0, 0), - [1688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3, 0, 0), - [1690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2, 0, 0), - [1692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2, 0, 0), - [1694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(291), - [1696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [1698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(765), - [1700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), - [1702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), - [1704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), - [1706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 3, 0, 5), - [1708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 3, 0, 5), - [1710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), - [1712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(776), - [1714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), - [1716] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302), - [1718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [1720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710), - [1722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196), - [1724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [1726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4, 0, 0), - [1728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4, 0, 0), - [1730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 4, 0, 5), - [1732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 4, 0, 5), - [1734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), - [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [1738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 6, 0, 5), - [1740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 6, 0, 5), - [1742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5, 0, 0), - [1744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5, 0, 0), - [1746] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 5, 0, 5), - [1748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 5, 0, 5), - [1750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263), - [1752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), - [1754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), - [1756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), - [1758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), - [1760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), - [1762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [1764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [1766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [1768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [1770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [1772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [1774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [1776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), - [1778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), - [1780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), - [1782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [1786] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comprehension_clauses_repeat1, 2, 0, 0), SHIFT_REPEAT(106), - [1789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comprehension_clauses_repeat1, 2, 0, 0), - [1791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [1793] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comprehension_clauses, 2, 0, 0), - [1795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__let_target, 1, 0, 0), - [1797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [1799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), - [1801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [1803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_sequence_repeat1, 2, 0, 0), - [1805] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_sequence_repeat1, 2, 0, 0), SHIFT_REPEAT(159), - [1808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [1810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), - [1812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [1814] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_sequence, 2, 0, 0), - [1816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), - [1818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [1820] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), SHIFT_REPEAT(598), - [1823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), - [1825] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [1827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(647), - [1829] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [1831] = {.entry = {.count = 1, .reusable = false}}, SHIFT(355), - [1833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), - [1835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), - [1837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [1839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), - [1841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [1843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), - [1845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [1847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), - [1849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [1851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), - [1853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [1855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), - [1857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [1859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), - [1861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [1863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), - [1865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [1867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599), - [1869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [1871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), - [1873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [1875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), - [1877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), - [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), - [1883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), - [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [1887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(338), - [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), - [1891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), - [1895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [1897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), - [1899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [1901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), - [1903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [1905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [1907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [1909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [1911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [1913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), - [1915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572), - [1917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [1919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), - [1921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [1923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [1925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), - [1927] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), SHIFT_REPEAT(647), - [1930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755), - [1932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), - [1934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [1936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(743), - [1938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), - [1940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(751), - [1942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [1946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), - [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [1952] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(744), - [1955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), - [1957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [1959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [1961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2, 0, 0), - [1963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [1965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(747), - [1967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [1969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [1971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [1973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(733), - [1975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(734), - [1977] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2, 0, 0), SHIFT_REPEAT(139), - [1980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2, 0, 0), - [1982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), - [1984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), - [1986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [1988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), - [1990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), - [1992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [1994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [1996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), - [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), - [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), - [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [2004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [2006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [2008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), - [2012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 5), - [2014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), - [2016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712), - [2018] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comprehension_clauses_repeat1, 2, 0, 0), SHIFT_REPEAT(104), - [2021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [2023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [2025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(740), - [2027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(741), - [2029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(711), - [2031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [2033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(683), - [2035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [2037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564), - [2039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [2041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [2043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [2045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [2047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [2049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [2051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [2053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [2055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [2057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5, 0, 0), - [2059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, 0, 0), - [2061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [2063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, 0, 0), - [2065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), - [2067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(738), - [2069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(739), - [2071] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_sequence_repeat1, 2, 0, 0), SHIFT_REPEAT(156), - [2074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(658), - [2076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(742), - [2078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [2080] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(567), - [2083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, 0, 0), - [2085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(752), - [2087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [2089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(648), - [2091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), - [2093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [2095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [2097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(737), - [2099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), - [2101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), - [2103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 30), - [2105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), - [2107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [2109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, 0, 30), - [2111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [2113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [2115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), - [2117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), - [2119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(728), - [2121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), - [2123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), - [2125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(771), - [2127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [2129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), - [2131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), - [2133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [2135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [2137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), - [2139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [2141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680), - [2143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), - [2145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(713), - [2147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [2149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674), - [2151] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [2153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(694), - [2155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [2157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [2159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(253), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(628), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261), + [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(177), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(580), + [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209), + [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(211), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216), + [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(820), + [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 36), + [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 36), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 12), + [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 12), + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 3, 0, 15), + [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 3, 0, 15), + [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_expression, 3, 0, 16), + [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_expression, 3, 0, 16), + [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 20), + [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 20), + [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 4, 0, 26), + [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 4, 0, 26), + [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 30), + [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 30), + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 32), + [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 32), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 39), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 39), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 41), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 41), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 42), + [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 42), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 43), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 43), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 1), + [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 1), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_not_expression, 2, 0, 1), + [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_not_expression, 2, 0, 1), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 2, 0, 0), + [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 2, 0, 0), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 2, 0, 2), + [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 2, 0, 2), + [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), + [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), + [301] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(239), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 3, 0, 10), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 3, 0, 10), + [316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(655), + [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_special_constant, 1, 0, 0), + [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_special_constant, 1, 0, 0), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2, 0, 0), + [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2, 0, 0), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), + [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), + [330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), SHIFT(582), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), + [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), + [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2, 0, 0), + [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2, 0, 0), + [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2, 0, 0), + [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2, 0, 0), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression, 2, 0, 0), + [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_expression, 2, 0, 0), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, 0, 0), + [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, 0, 0), + [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 18), + [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 18), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 19), + [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 19), + [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 2, 0, 4), + [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 2, 0, 4), + [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4, 0, 0), + [367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4, 0, 0), + [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 21), + [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, 0, 21), + [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_comprehension, 4, 0, 22), + [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_comprehension, 4, 0, 22), + [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4, 0, 0), + [379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 4, 0, 0), + [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 4, 0, 0), + [383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 4, 0, 0), + [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_comprehension, 4, 0, 22), + [387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_comprehension, 4, 0, 22), + [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 4, 0, 25), + [391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expression, 4, 0, 25), + [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3, 0, 0), + [395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3, 0, 0), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2, 0, 0), + [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2, 0, 0), + [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 4, 0, 27), + [403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 4, 0, 27), + [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_expression, 4, 0, 28), + [407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_expression, 4, 0, 28), + [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 29), + [411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 29), + [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 33), + [415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 33), + [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 5, 0, 0), + [419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 5, 0, 0), + [421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 21), + [423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, 0, 21), + [425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 5, 0, 0), + [427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 5, 0, 0), + [429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 5, 0, 0), + [431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 5, 0, 0), + [433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 5, 0, 34), + [435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 5, 0, 34), + [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, 0, 0), + [439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, 0, 0), + [441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3, 0, 0), + [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3, 0, 0), + [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 3, 1, 5), + [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 3, 1, 5), + [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 37), + [451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 37), + [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 38), + [455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 38), + [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, 0, 6), + [459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, 0, 6), + [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 6, 0, 0), + [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 6, 0, 0), + [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 6, 0, 21), + [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 6, 0, 21), + [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 6, 0, 0), + [471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 6, 0, 0), + [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_comprehension, 6, 0, 25), + [475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_comprehension, 6, 0, 25), + [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 5, 0, 0), + [479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 5, 0, 0), + [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4, 0, 0), + [483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4, 0, 0), + [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 4, 1, 5), + [487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 4, 1, 5), + [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 40), + [491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 40), + [493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 7, 0, 0), + [499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 7, 0, 0), + [501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 7, 0, 21), + [503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 7, 0, 21), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 7, 0, 0), + [507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 7, 0, 0), + [509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5, 0, 0), + [511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5, 0, 0), + [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 5, 1, 5), + [515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 5, 1, 5), + [517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 6, 1, 5), + [519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 6, 1, 5), + [521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3, 0, 0), + [523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3, 0, 0), + [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3, 0, 0), + [527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3, 0, 0), + [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 3, 0, 9), + [531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expression, 3, 0, 9), + [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit, 2, 0, 0), + [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit, 2, 0, 0), + [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 3, 0, 11), + [539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_expression, 3, 0, 11), + [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, 0, 0), + [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 0), + [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_augmented_assignment, 3, 0, 12), + [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_augmented_assignment, 3, 0, 12), + [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, 0, 13), + [551] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, 0, 13), + [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 3, 0, 14), + [555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 3, 0, 14), + [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [559] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [562] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(106), + [565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(122), + [568] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(811), + [571] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(730), + [574] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(152), + [577] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(812), + [580] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(112), + [583] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(224), + [586] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(335), + [589] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(217), + [592] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(217), + [595] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(123), + [598] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(119), + [601] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(116), + [604] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(220), + [607] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(221), + [610] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(2), + [613] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [616] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(50), + [619] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(47), + [622] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(649), + [625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(553), + [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comprehension_clauses, 4, 0, 0), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), + [633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212), + [639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comprehension_clauses, 3, 0, 0), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [661] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), + [663] = {.entry = {.count = 1, .reusable = false}}, SHIFT(454), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(478), + [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(547), + [683] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475), + [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(490), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(482), + [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(815), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(488), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), + [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(496), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(499), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [759] = {.entry = {.count = 1, .reusable = false}}, SHIFT(483), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(686), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702), + [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(707), + [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(711), + [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [775] = {.entry = {.count = 1, .reusable = false}}, SHIFT(485), + [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(486), + [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(491), + [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(745), + [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), + [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), + [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(318), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(480), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [821] = {.entry = {.count = 1, .reusable = false}}, SHIFT(523), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), + [825] = {.entry = {.count = 1, .reusable = false}}, SHIFT(545), + [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [829] = {.entry = {.count = 1, .reusable = false}}, SHIFT(550), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [833] = {.entry = {.count = 1, .reusable = false}}, SHIFT(504), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [837] = {.entry = {.count = 1, .reusable = false}}, SHIFT(505), + [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), + [841] = {.entry = {.count = 1, .reusable = false}}, SHIFT(506), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), + [845] = {.entry = {.count = 1, .reusable = false}}, SHIFT(507), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), + [849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(508), + [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), + [853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(509), + [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(510), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), + [861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(511), + [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), + [865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [869] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(513), + [879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(656), + [883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(514), + [885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(515), + [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [893] = {.entry = {.count = 1, .reusable = false}}, SHIFT(516), + [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [897] = {.entry = {.count = 1, .reusable = false}}, SHIFT(517), + [899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), + [901] = {.entry = {.count = 1, .reusable = false}}, SHIFT(518), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [905] = {.entry = {.count = 1, .reusable = false}}, SHIFT(520), + [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(521), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(522), + [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), + [917] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [921] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(493), + [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [941] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [945] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [949] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [957] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [961] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(519), + [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [969] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [973] = {.entry = {.count = 1, .reusable = false}}, SHIFT(495), + [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [977] = {.entry = {.count = 1, .reusable = false}}, SHIFT(293), + [979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(294), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), + [985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), + [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), + [989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(552), + [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), + [993] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1001] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400), + [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [1005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), + [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [1009] = {.entry = {.count = 1, .reusable = false}}, SHIFT(404), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [1013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [1017] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412), + [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [1021] = {.entry = {.count = 1, .reusable = false}}, SHIFT(449), + [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [1025] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), + [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [1029] = {.entry = {.count = 1, .reusable = false}}, SHIFT(402), + [1031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1033] = {.entry = {.count = 1, .reusable = false}}, SHIFT(403), + [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [1037] = {.entry = {.count = 1, .reusable = false}}, SHIFT(405), + [1039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1041] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1045] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [1047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [1049] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [1053] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [1055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [1057] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [1059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [1061] = {.entry = {.count = 1, .reusable = false}}, SHIFT(474), + [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [1065] = {.entry = {.count = 1, .reusable = false}}, SHIFT(524), + [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), + [1069] = {.entry = {.count = 1, .reusable = false}}, SHIFT(525), + [1071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [1073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(526), + [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [1077] = {.entry = {.count = 1, .reusable = false}}, SHIFT(527), + [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [1081] = {.entry = {.count = 1, .reusable = false}}, SHIFT(528), + [1083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528), + [1085] = {.entry = {.count = 1, .reusable = false}}, SHIFT(529), + [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), + [1089] = {.entry = {.count = 1, .reusable = false}}, SHIFT(530), + [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [1093] = {.entry = {.count = 1, .reusable = false}}, SHIFT(531), + [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), + [1097] = {.entry = {.count = 1, .reusable = false}}, SHIFT(532), + [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532), + [1101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(533), + [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533), + [1105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(500), + [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [1109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [1111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [1113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548), + [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), + [1117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(549), + [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [1121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(501), + [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [1125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(502), + [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [1129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(503), + [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), + [1133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(498), + [1135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [1137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [1141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), + [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [1145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408), + [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [1149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(448), + [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [1153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), + [1155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [1157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(423), + [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [1161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424), + [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [1165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(450), + [1167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [1169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), + [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [1173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), + [1175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [1177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(431), + [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [1181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), + [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [1185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(434), + [1187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [1189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), + [1191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [1193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(441), + [1195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [1197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), + [1199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [1201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(446), + [1203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [1205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429), + [1207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430), + [1211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [1213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(432), + [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [1217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(435), + [1219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [1221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(437), + [1223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [1225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(438), + [1227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [1229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), + [1231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [1233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(476), + [1235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [1237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), + [1239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [1241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(465), + [1243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [1245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479), + [1247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [1249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), + [1251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [1253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(455), + [1255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [1257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(468), + [1259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [1261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(470), + [1263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [1265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(546), + [1267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), + [1269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(551), + [1271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), + [1273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), + [1275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [1277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410), + [1279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [1281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411), + [1283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [1285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413), + [1287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [1289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), + [1291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [1293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(415), + [1295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [1297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [1299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), + [1303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [1305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(418), + [1307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [1309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), + [1311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [1313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(534), + [1315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), + [1317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(535), + [1319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), + [1321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(536), + [1323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), + [1325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(537), + [1327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537), + [1329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(538), + [1331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538), + [1333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(539), + [1335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [1337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(540), + [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540), + [1341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(541), + [1343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541), + [1345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(542), + [1347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), + [1349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(544), + [1351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), + [1353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(456), + [1355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [1357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), + [1359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [1361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [1363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(805), + [1365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(460), + [1367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [1369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(461), + [1371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [1373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(462), + [1375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [1377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(463), + [1379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [1381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464), + [1383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [1385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(451), + [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [1389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(467), + [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [1393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443), + [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [1397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397), + [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [1401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(471), + [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [1405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472), + [1407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [1409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(473), + [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(452), + [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [1419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1421] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), SHIFT(566), + [1424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), + [1426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [1428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265), + [1430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [1432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), + [1434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), + [1436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), + [1438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), + [1440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [1442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [1444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [1446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), + [1448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(272), + [1450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273), + [1452] = {.entry = {.count = 1, .reusable = false}}, SHIFT(274), + [1454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [1456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), + [1458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [1460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1462] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [1464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [1466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(295), + [1468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [1470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [1472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297), + [1474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [1476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [1478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [1480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [1482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), + [1484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), + [1486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), + [1488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302), + [1490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [1492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303), + [1494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), + [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [1498] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(179), + [1501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [1503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_guard, 2, 0, 8), + [1505] = {.entry = {.count = 1, .reusable = false}}, SHIFT(316), + [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [1509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317), + [1511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175), + [1513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), + [1515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [1517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [1519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [1521] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), + [1523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321), + [1525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(322), + [1527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), + [1529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [1531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), + [1533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), + [1535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [1537] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(225), + [1540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [1542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [1544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_entry, 1, 0, 0), + [1546] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(241), + [1549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [1551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [1553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [1557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_entry, 3, 0, 23), + [1559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [1561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [1563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [1565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701), + [1567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_binding, 3, 0, 24), + [1569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [1571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [1577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [1579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [1581] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_if_guard, 2, 0, 8), SHIFT(110), + [1584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [1586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750), + [1590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [1592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(305), + [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [1596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), + [1598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307), + [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), + [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [1608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309), + [1610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310), + [1612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311), + [1614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312), + [1616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [1618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313), + [1620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [1622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [1624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [1626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [1628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [1632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_default, 2, 0, 7), + [1634] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [1636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), + [1638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [1640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181), + [1642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), + [1644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579), + [1646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [1648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [1650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [1652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), + [1654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), + [1656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188), + [1658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [1660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [1662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), + [1664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [1666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [1668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [1670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [1672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), + [1674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__pattern, 1, 0, 0), REDUCE(sym__expression, 1, 0, 0), + [1677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [1679] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [1681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [1683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), REDUCE(sym__expression, 1, 0, 0), + [1686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 17), + [1688] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 17), + [1690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), + [1692] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), + [1694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 7, 0, 35), + [1696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 7, 0, 35), + [1698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, 0, 35), + [1700] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 6, 0, 35), + [1702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), + [1704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), + [1706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), + [1708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), + [1710] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, 0, 17), + [1712] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 4, 0, 17), + [1714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [1716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), + [1718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(772), + [1720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(809), + [1722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [1724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766), + [1726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [1728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(826), + [1730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), + [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [1734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), + [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [1740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(753), + [1742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(807), + [1744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [1746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), + [1748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(817), + [1752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [1754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(314), + [1756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [1758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(751), + [1760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197), + [1762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [1764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(237), + [1766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [1768] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), + [1770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800), + [1774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(816), + [1778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [1780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(304), + [1782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567), + [1786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [1788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), + [1790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), + [1796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572), + [1798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [1800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [1802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [1804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [1808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [1810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [1812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [1814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), + [1816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [1818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [1820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [1826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), + [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), + [1836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [1842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), + [1844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [1846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), + [1848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [1850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [1852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(613), + [1854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [1856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comprehension_clauses_repeat1, 2, 0, 0), + [1858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_sequence_repeat1, 2, 0, 0), + [1860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), + [1862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [1864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615), + [1866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [1868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633), + [1870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [1872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), + [1874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [1876] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_sequence_repeat1, 2, 0, 0), SHIFT_REPEAT(161), + [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [1883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679), + [1887] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), + [1891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(623), + [1895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [1897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), + [1899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [1901] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comprehension_clauses_repeat1, 2, 0, 0), SHIFT_REPEAT(118), + [1904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [1906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [1908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [1910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [1912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__let_target, 1, 0, 0), + [1914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [1916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), + [1918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [1920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [1922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [1924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [1926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [1928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [1930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [1932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [1934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [1936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604), + [1938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [1940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_sequence, 2, 0, 0), + [1942] = {.entry = {.count = 1, .reusable = false}}, SHIFT(395), + [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672), + [1946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), + [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [1952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comprehension_clauses, 2, 0, 0), + [1954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(346), + [1956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680), + [1958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), + [1960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [1962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632), + [1964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [1966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [1968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [1972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [1974] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), + [1976] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), SHIFT_REPEAT(680), + [1979] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), SHIFT_REPEAT(616), + [1982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), + [1984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [1986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [1988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(825), + [1990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [1992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [1994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), + [1996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599), + [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [2004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [2006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [2008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774), + [2012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564), + [2014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(785), + [2016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [2018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [2020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, 0, 0), + [2022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [2024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [2026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [2028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [2030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [2032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [2034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), + [2036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [2038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), + [2040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), + [2042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [2044] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comprehension_clauses_repeat1, 2, 0, 0), SHIFT_REPEAT(117), + [2047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [2049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [2051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [2053] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2, 0, 0), SHIFT_REPEAT(163), + [2056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2, 0, 0), + [2058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [2060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778), + [2062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781), + [2064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [2066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [2068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(780), + [2070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), + [2072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [2074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [2076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), + [2078] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_sequence_repeat1, 2, 0, 0), SHIFT_REPEAT(170), + [2081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), + [2083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(700), + [2085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(788), + [2087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [2089] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(775), + [2092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), + [2094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [2096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [2098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [2100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [2102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [2104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), + [2106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), + [2108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [2110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [2112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(731), + [2114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789), + [2116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790), + [2118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(776), + [2120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [2122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), + [2124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [2126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(782), + [2128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(739), + [2130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [2132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, 0, 0), + [2134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [2136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5, 0, 0), + [2138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [2140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [2142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784), + [2144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), + [2146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [2148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [2150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [2152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [2154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [2156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [2158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2, 0, 0), + [2162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [2164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [2166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(587), + [2169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, 0, 0), + [2171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [2173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(684), + [2175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [2177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), + [2179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 5), + [2181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [2183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [2185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [2187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [2189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, 0, 31), + [2191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 31), + [2193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [2195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [2197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [2199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(761), + [2201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [2203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(748), + [2205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(799), + [2207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [2209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [2211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [2213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(708), + [2215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [2217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(724), + [2219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), + [2221] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [2223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697), + [2225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [2227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [2229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721), + [2231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [2233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(743), + [2235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619), + [2237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), }; enum ts_external_scanner_symbol_identifiers { diff --git a/ext/tree-sitter-andy-cpp/test/corpus/basics.txt b/ext/tree-sitter-andy-cpp/test/corpus/basics.txt index c8b6f8d6..22d7b437 100644 --- a/ext/tree-sitter-andy-cpp/test/corpus/basics.txt +++ b/ext/tree-sitter-andy-cpp/test/corpus/basics.txt @@ -106,3 +106,104 @@ let m = %{:0, "a": 1}; (map_entry key: (string) value: (integer))))) + +================== +cast expression +================== + +let k = xs as List; + +--- + +(source_file + (variable_declaration + name: (identifier) + value: (cast_expression + value: (identifier) + type: (generic_type + name: (type_identifier) + (type_identifier))))) + +================== +cast binds tighter than binary operators +================== + +a + b as Int; + +--- + +(source_file + (binary_expression + left: (identifier) + right: (cast_expression + value: (identifier) + type: (type_identifier)))) + +================== +less-than after a cast is a comparison +================== + +1 as Int < 2; + +--- + +(source_file + (binary_expression + left: (cast_expression + value: (integer) + type: (type_identifier)) + right: (integer))) + +================== +generic arguments still win over less-than +================== + +[[1]] as List>; + +--- + +(source_file + (cast_expression + value: (list + (list + (integer))) + type: (generic_type + name: (type_identifier) + (generic_type + name: (type_identifier) + (type_identifier))))) + +================== +grouped comparison after a cast +================== + +value as Int < (y > z); + +--- + +(source_file + (binary_expression + left: (cast_expression + value: (identifier) + type: (type_identifier)) + right: (parenthesized_expression + (binary_expression + left: (identifier) + right: (identifier))))) + +================== +shift right after a cast comparison +================== + +3 as Int < 4 >> 1; + +--- + +(source_file + (binary_expression + left: (cast_expression + value: (integer) + type: (type_identifier)) + right: (binary_expression + left: (integer) + right: (integer)))) diff --git a/manual/src/SUMMARY.md b/manual/src/SUMMARY.md index f62163b9..a14af3db 100644 --- a/manual/src/SUMMARY.md +++ b/manual/src/SUMMARY.md @@ -30,6 +30,7 @@ # Features - [Augmented assignment](./features/augmented-assignment.md) +- [Casts](./features/casts.md) - [Method call syntax](./features/method-call-syntax.md) - [Slices](./features/slices.md) - [Memoization](./features/memoization.md) diff --git a/manual/src/features/augmented-assignment.md b/manual/src/features/augmented-assignment.md index 1ef3a698..3a7b8c76 100644 --- a/manual/src/features/augmented-assignment.md +++ b/manual/src/features/augmented-assignment.md @@ -49,6 +49,40 @@ let values = [1]; values ++= ["two"]; // error: mismatched types: found List but expected List ``` +The right-hand side has to *provably* fit. A wider element type is not enough, +because the operator copies the values across without checking them: + +```ndc +let values: List = [1]; +let rhs: List = [0.5]; +values ++= rhs; // error: mismatched types: found List but expected List +``` + +The same goes for an operand whose type is unknown. `Any` says nothing about +what the value holds, and no later step re-checks it, so it is rejected too: + +```ndc +fn opaque(x) => x; +let values = [1]; +values ++= opaque([2, 3]); // error: mismatched types: found Any but expected List +``` + +[Cast](casts.md) the operand to say what it holds. The cast checks the value, so +the assignment gets its guarantee from the cast site: + +```ndc +fn opaque(x) => x; +let values = [1]; +values ++= opaque([2, 3]) as List; +assert_eq(values, [1, 2, 3]); +``` + +A cast that does not hold fails there rather than corrupting the target: + +```ndc +values ++= opaque([0.5]) as List; // error: cannot cast List to List +``` + Annotate the target with `Any` to opt into heterogeneous contents: ```ndc diff --git a/manual/src/features/casts.md b/manual/src/features/casts.md new file mode 100644 index 00000000..d15170ab --- /dev/null +++ b/manual/src/features/casts.md @@ -0,0 +1,89 @@ +# Casts + +The `as` operator asserts that a value has the given type: + +```ndc +let values = %{}; +values.insert(1); +values.insert(2); + +// keys returns List; the cast recovers the element type so the +// result works with functions that expect a List. +let keys = values.keys as List; +``` + +A cast checks the value without converting it. `5 as Float` is an error +because `5` is an `Int`; use conversion functions like `float(5)` to change +a value's type. + +## Checking + +When the compiler can already prove the cast from the value's static type, +the cast is free: no runtime check is emitted. Otherwise the value is +checked at runtime, and a failed check raises an error at the cast site: + +```ndc +let value: Any = ["a"]; +value as List +// error[vm]: cannot cast List to List +``` + +Checking a container inspects every element (and recurses into nested +containers), so a cast costs one pass over the value. Empty containers +conform to any element type: `[] as List` succeeds. + +A map's default value is checked against the value type too, since a +missing-key lookup inserts it. A default *function*'s results can't be +verified without calling it, so such a map only conforms when the value +type is `Any`. + +The analyser rejects casts between types that cannot share a value: + +```ndc +"foo" as Int +// error[resolver]: invalid cast: String can never be Int +``` + +## Precedence + +`as` binds tighter than binary operators and looser than unary operators +and calls, so `a + b as Int` means `a + (b as Int)`. Method calls bind +tighter than the cast: recovering an element type before a method call +needs parentheses, as in `(values.keys as List).max()`. + +A `<` after the cast type is read as a type argument list when the tokens +that follow form one, and as a less-than comparison otherwise, so +`n as Int < 10` compares while `xs as List` casts. + +## Casting to state what a value holds + +The analyser only accepts what it can prove. Where it cannot, a cast states the +value's type and checks it at the cast site. + +Reassigning a variable widens its type, which can lose the detail a function +needs: + +```ndc +let line = "a b c"; +line = line.split(" "); // line is now Sequence, not List +line.remove(0); // error: no `remove` matches Sequence, Int +assert_eq((line as List).remove(0), "a"); +``` + +A specialized `op=` mutates its target in place and keeps its type, so it only +accepts a right operand that provably fits. A value of unknown type does not, +and a cast gets the elements checked instead of letting them slip into the +target unverified: + +```ndc +fn opaque(x) => x; +let values = [1]; +values ++= opaque([2, 3]) as List; +assert_eq(values, [1, 2, 3]); +``` + +## Limitations + +Checking an iterator's elements would consume it, so a runtime check against +an element type other than `Any` fails. Cast a value into a typed collection +before turning it into an iterator. diff --git a/manual/src/reference/types.md b/manual/src/reference/types.md index 82848fa8..aa0559a5 100644 --- a/manual/src/reference/types.md +++ b/manual/src/reference/types.md @@ -55,3 +55,5 @@ block or function that declared it. See [Struct](./types/struct.md) for the scop rules. > **Note:** `Any` is the base type for every other type, so an `Any`-annotated binding will accept anything. When a parameter or value has no annotation and the analyser can't infer a type, it falls back to `Any`. There is also a `Never` type used internally for things like `break` that don't produce a value — you'll rarely need to write it by hand. + +To go the other way — recover a precise type from an `Any`-typed value — use a [cast](../features/casts.md): `value as List`. diff --git a/ndc_analyser/src/analyser.rs b/ndc_analyser/src/analyser.rs index 7c27622f..c2c0e1a8 100644 --- a/ndc_analyser/src/analyser.rs +++ b/ndc_analyser/src/analyser.rs @@ -293,6 +293,21 @@ impl Analyser { Ok(StaticType::Bool) } Expression::Grouping(expr) => self.analyse(expr), + Expression::Cast { + value, + annotation, + resolved_type, + requires_check, + } => { + let target = self.lower_type_expr(annotation); + let found = self.analyse_with_expected(value, &target); + if !found.overlaps(&target) { + self.emit(AnalysisError::impossible_cast(&found, &target, *span)); + } + *requires_check = !found.is_subtype(&target); + *resolved_type = Some(target.clone()); + Ok(target) + } Expression::VariableDeclaration { l_value, annotated_type, @@ -569,11 +584,12 @@ impl Analyser { ); if matches!(binding, Binding::None) { - self.emit(AnalysisError::function_not_found( - member, - &[receiver_type], - *member_span, - )); + let args = [receiver_type]; + self.emit(if self.scope_tree.a_cast_could_resolve(member, &args) { + AnalysisError::function_not_found_suggest_cast(member, &args, *member_span) + } else { + AnalysisError::function_not_found(member, &args, *member_span) + }); } *resolved_getter = binding; @@ -745,7 +761,11 @@ impl Analyser { } = self.scope_tree.resolve_call(name, &type_sig, kind); if matches!(binding, Binding::None) { - self.emit(AnalysisError::function_not_found(name, &type_sig, span)); + self.emit(if self.scope_tree.a_cast_could_resolve(name, &type_sig) { + AnalysisError::function_not_found_suggest_cast(name, &type_sig, span) + } else { + AnalysisError::function_not_found(name, &type_sig, span) + }); *resolved = binding; return Ok(StaticType::Any); } @@ -968,7 +988,12 @@ impl Analyser { index_type.is_subtype(&StaticType::Iterator(Box::new(StaticType::Int))) } - /// Specialized `op=` implementations preserve the concrete left type. + /// Specialized `op=` implementations mutate the left operand in place and + /// keep its concrete type, so the right operand must provably fit it: the + /// operator copies values across without inspecting them, and nothing + /// downstream re-checks. A merely overlapping right operand is not enough — + /// `List ++= List` would leave the target holding a `Float`. + /// /// A tuple left-hand side represents vector dispatch, so a scalar right /// operand must be compatible with every concrete tuple element. fn augmented_rhs_is_compatible(left_type: &StaticType, right_type: &StaticType) -> bool { @@ -1240,6 +1265,7 @@ impl Analyser { pub struct AnalysisError { text: String, span: Span, + help_text: Option, } impl AnalysisError { @@ -1247,10 +1273,17 @@ impl AnalysisError { self.span } + /// Advice on how to fix the error, rendered as a separate note under the + /// snippet rather than crammed into the message. + pub fn help_text(&self) -> Option<&str> { + self.help_text.as_deref() + } + fn invalid_type_annotation(err: &StaticTypeConstructionError, span: Span) -> Self { Self { - text: format!("{err}. {}", err.help_text()), + text: err.to_string(), span, + help_text: Some(err.help_text().to_string()), } } @@ -1258,6 +1291,7 @@ impl AnalysisError { Self { text: format!("type `{name}` does not take generic arguments"), span, + help_text: None, } } @@ -1265,6 +1299,7 @@ impl AnalysisError { Self { text: format!("Struct '{name}' is not allowed to shadow the built-in type '{name}'"), span, + help_text: None, } } @@ -1272,6 +1307,7 @@ impl AnalysisError { Self { text: format!("Illegal redefinition of struct '{name}'"), span, + help_text: None, } } @@ -1279,6 +1315,7 @@ impl AnalysisError { Self { text: format!("Illegal redefinition of field '{field}' in struct '{struct_name}'"), span, + help_text: None, } } @@ -1288,6 +1325,7 @@ impl AnalysisError { "mismatched tuple arity: found a len={ident_len} identifier and a len={annotation_len} annotation." ), span, + help_text: None, } } @@ -1295,6 +1333,15 @@ impl AnalysisError { Self { text: format!("mismatched types: found {found} but expected {expected}"), span, + help_text: None, + } + } + + fn impossible_cast(found: &StaticType, target: &StaticType, span: Span) -> Self { + Self { + text: format!("invalid cast: {found} can never be {target}"), + span, + help_text: None, } } @@ -1308,6 +1355,7 @@ impl AnalysisError { "Illegal redefinition of function '{name}' with {arity_desc} in the same scope" ), span, + help_text: None, } } @@ -1315,24 +1363,28 @@ impl AnalysisError { Self { text: format!("Illegal redefinition of parameter {param}"), span, + help_text: None, } } fn unable_to_index_into(typ: &StaticType, span: Span) -> Self { Self { text: format!("Unable to index into {typ}"), span, + help_text: None, } } fn unable_to_unpack_type(typ: &StaticType, span: Span) -> Self { Self { text: format!("Invalid unpacking of {typ}"), span, + help_text: None, } } fn lvalue_required_to_be_single_identifier(span: Span) -> Self { Self { text: "This lvalue is required to be a single identifier".to_string(), span, + help_text: None, } } @@ -1343,6 +1395,22 @@ impl AnalysisError { types.iter().join(", ") ), span, + help_text: None, + } + } + + /// Same as [`Self::function_not_found`], for a call an overload would + /// accept if the arguments were known more precisely. + fn function_not_found_suggest_cast(ident: &str, types: &[StaticType], span: Span) -> Self { + Self { + help_text: Some( + concat!( + "An overload would accept a narrower argument type. ", + "Cast to say what the value holds, as in `value as List`.", + ) + .to_string(), + ), + ..Self::function_not_found(ident, types, span) } } @@ -1350,6 +1418,7 @@ impl AnalysisError { Self { text: format!("Unable to invoke {typ} as a function."), span, + help_text: None, } } @@ -1357,6 +1426,7 @@ impl AnalysisError { Self { text: format!("Identifier {ident} has not previously been declared"), span, + help_text: None, } } } diff --git a/ndc_analyser/src/scope.rs b/ndc_analyser/src/scope.rs index 494e4975..950a8094 100644 --- a/ndc_analyser/src/scope.rs +++ b/ndc_analyser/src/scope.rs @@ -218,6 +218,22 @@ impl Scope { .collect() } + /// Parameter lists of every same-named function in this scope. Read-only, + /// for diagnostics — unlike the resolution walk it creates no upvalues. + fn callable_signatures(&self, find_ident: &str) -> Vec> { + self.identifiers + .iter() + .filter(|b| b.name == find_ident) + .filter_map(|b| match b.binding.typ() { + StaticType::Function { + parameters: Some(parameters), + .. + } => Some(parameters.clone()), + _ => None, + }) + .collect() + } + fn find_function_candidates(&self, find_ident: &str, find_types: &[StaticType]) -> Vec { self.identifiers.iter() .enumerate() @@ -528,6 +544,35 @@ impl ScopeTree { } } + /// Whether some same-named overload would accept these arguments if their + /// types were known more precisely: every parameter overlaps the argument + /// in that position, and at least one argument does not already fit. A + /// failed call that satisfies this can be fixed with a cast, so the + /// diagnostic says so; one that does not is a genuine mismatch and gets no + /// misleading advice. + pub(crate) fn a_cast_could_resolve(&self, ident: &str, sig: &[StaticType]) -> bool { + let mut scope_ptr = Some(self.current_scope_idx); + let mut signatures = Vec::new(); + + while let Some(idx) = scope_ptr { + signatures.extend(self.scopes[idx].callable_signatures(ident)); + scope_ptr = self.scopes[idx].parent_idx; + } + signatures.extend(self.global_scope.callable_signatures(ident)); + + signatures.iter().any(|parameters| { + parameters.len() == sig.len() + && parameters + .iter() + .zip(sig) + .all(|(param, arg)| param.overlaps(arg)) + && parameters + .iter() + .zip(sig) + .any(|(param, arg)| !arg.is_subtype(param)) + }) + } + /// Resolve a function call to a binding and an inferred return type. /// /// Single entry point for both regular calls (`f(x)`) and operator-form diff --git a/ndc_bin/src/diagnostic.rs b/ndc_bin/src/diagnostic.rs index 11777fa4..ae92b7ce 100644 --- a/ndc_bin/src/diagnostic.rs +++ b/ndc_bin/src/diagnostic.rs @@ -84,13 +84,17 @@ fn into_diagnostics(err: InterpreterError) -> Vec> { .iter() .map(|cause| { let span = cause.span(); - Diagnostic::error() + let mut d = Diagnostic::error() .with_code("resolver") .with_message(cause.to_string()) .with_labels(vec![ Label::primary(span.source_id(), span.range()) .with_message("related to this"), - ]) + ]); + if let Some(help) = cause.help_text() { + d = d.with_notes(vec![help.to_owned()]); + } + d }) .collect(), InterpreterError::Compiler { cause } => { diff --git a/ndc_bin/src/highlighter.rs b/ndc_bin/src/highlighter.rs index fa7385d8..9696660a 100644 --- a/ndc_bin/src/highlighter.rs +++ b/ndc_bin/src/highlighter.rs @@ -76,6 +76,7 @@ impl AndycppHighlighter { | Token::In | Token::While | Token::Pure + | Token::As | Token::LogicAnd | Token::LogicOr | Token::LogicNot => substring.rgb(224, 108, 117), @@ -154,7 +155,9 @@ fn collect_function_spans(expr: &ExpressionLocation, spans: &mut AHashSet | Expression::Return { value } => { collect_function_spans(value, spans); } - Expression::Statement(inner) | Expression::Grouping(inner) => { + Expression::Statement(inner) + | Expression::Grouping(inner) + | Expression::Cast { value: inner, .. } => { collect_function_spans(inner, spans); } Expression::Block { statements } => { diff --git a/ndc_core/src/static_type.rs b/ndc_core/src/static_type.rs index 3803f69c..9c9a8c40 100644 --- a/ndc_core/src/static_type.rs +++ b/ndc_core/src/static_type.rs @@ -581,6 +581,102 @@ impl StaticType { ) } + /// Checks whether some runtime value could satisfy both `self` and `other`. + /// + /// # Examples + /// - `Sequence` overlaps `List`: a `List` inhabits + /// both, even though neither type is a subtype of the other + /// - `Any` overlaps every type + /// - `List` does not overlap `List` + /// - `Int` does not overlap `String` + /// + /// This is the question a cast asks: `as` is impossible only when no value + /// could satisfy both the operand's type and the target, and anything else + /// is left to the runtime check. + /// + /// Element types are treated as inhabited, so `List` and `List` + /// count as disjoint even though the empty list inhabits both. Casting an + /// empty container to an unrelated element type is therefore rejected — + /// a deliberate trade, because the alternative gives up the compile-time + /// error on every non-empty `List as List` to allow a cast + /// that could only ever be vacuous. + /// + /// `Never` overlaps nothing, since no value inhabits it. + pub fn overlaps(&self, other: &Self) -> bool { + // Never has no inhabitants, so nothing can satisfy it — not even + // another Never. This has to come first: Never is a subtype of every + // type, so the shortcut below would otherwise report overlap. + if matches!(self, Self::Never) || matches!(other, Self::Never) { + return false; + } + + // A subtype relation in either direction implies a common inhabitant. + // This also handles Any, the supertype of everything. + if self.is_subtype(other) || other.is_subtype(self) { + return true; + } + + match (self, other) { + // Sequence overlaps every sequence-family type whose element + // type overlaps T, even when the subtype check fails because the + // relationship points in different directions per layer. + ( + Self::Sequence(t), + Self::List(u) + | Self::Iterator(u) + | Self::MinHeap(u) + | Self::MaxHeap(u) + | Self::Deque(u) + | Self::Sequence(u), + ) + | ( + Self::List(u) + | Self::Iterator(u) + | Self::MinHeap(u) + | Self::MaxHeap(u) + | Self::Deque(u), + Self::Sequence(t), + ) => t.overlaps(u), + (Self::Sequence(t), Self::String) | (Self::String, Self::Sequence(t)) => { + Self::String.overlaps(t) + } + (Self::Sequence(t), Self::Tuple(elems)) | (Self::Tuple(elems), Self::Sequence(t)) => { + elems.iter().all(|elem| elem.overlaps(t)) + } + (Self::Sequence(t), Self::Map { key, value }) + | (Self::Map { key, value }, Self::Sequence(t)) => { + Self::Tuple(vec![key.as_ref().clone(), value.as_ref().clone()]).overlaps(t) + } + + // Covariant containers of the same shape overlap when their + // element types do. + (Self::Option(s), Self::Option(t)) + | (Self::List(s), Self::List(t)) + | (Self::Iterator(s), Self::Iterator(t)) + | (Self::MinHeap(s), Self::MinHeap(t)) + | (Self::MaxHeap(s), Self::MaxHeap(t)) + | (Self::Deque(s), Self::Deque(t)) => s.overlaps(t), + (Self::Tuple(s_elems), Self::Tuple(t_elems)) => { + s_elems.len() == t_elems.len() + && s_elems.iter().zip(t_elems).all(|(s, t)| s.overlaps(t)) + } + (Self::Map { key: k1, value: v1 }, Self::Map { key: k2, value: v2 }) => { + k1.overlaps(k2) && v1.overlaps(v2) + } + + // A function value's parameter and return types are not checkable + // at runtime, so only a provable arity mismatch rules overlap out. + (Self::Function { parameters: p1, .. }, Self::Function { parameters: p2, .. }) => { + match (p1, p2) { + (Some(p1), Some(p2)) => p1.len() == p2.len(), + _ => true, + } + } + + _ => false, + } + } + // BRUH pub fn is_incompatible_with(&self, other: &Self) -> bool { !self.is_subtype(other) && !other.is_subtype(self) @@ -749,6 +845,33 @@ mod test { assert!(fun.is_fn_and_matches(&[list_of_two_tuple_int, StaticType::Int])); } + #[test] + fn test_overlaps() { + let list_of = |elem: StaticType| StaticType::List(Box::new(elem)); + let seq_of = |elem: StaticType| StaticType::Sequence(Box::new(elem)); + + // Mixed-direction relationships overlap: a List inhabits both. + assert!(seq_of(StaticType::String).overlaps(&list_of(StaticType::Any))); + assert!(list_of(StaticType::Any).overlaps(&seq_of(StaticType::String))); + + // Any overlaps everything, including containers of concrete elements. + assert!(StaticType::Any.overlaps(&list_of(StaticType::Int))); + assert!(list_of(StaticType::Int).overlaps(&StaticType::Any)); + + // Element types are treated as inhabited, so concrete containers with + // disjoint element types are disjoint. + assert!(!list_of(StaticType::Int).overlaps(&list_of(StaticType::String))); + assert!(!seq_of(StaticType::Int).overlaps(&list_of(StaticType::String))); + + // Disjoint scalar constructors never overlap. + assert!(!StaticType::Int.overlaps(&StaticType::String)); + assert!(!StaticType::Bool.overlaps(&StaticType::Number)); + + // A string is a sequence of strings. + assert!(StaticType::String.overlaps(&seq_of(StaticType::Any))); + assert!(!StaticType::String.overlaps(&seq_of(StaticType::Int))); + } + // Every name in BUILTIN_TYPE_NAMES must be accepted by from_name_and_args // for some argument count; a name that is only rejected as "unknown type" // means the two lists have drifted apart. diff --git a/ndc_lexer/src/token.rs b/ndc_lexer/src/token.rs index 13bdcb84..9a432614 100644 --- a/ndc_lexer/src/token.rs +++ b/ndc_lexer/src/token.rs @@ -56,6 +56,7 @@ pub enum Token { RightArrow, // -> FatArrow, // => // Keywords + As, Break, Continue, Else, @@ -136,6 +137,7 @@ impl fmt::Display for Token { Self::LessLess => "<<", Self::GreaterGreater => ">>", Self::Bang => "!", + Self::As => "as", Self::Break => "break", Self::Continue => "continue", Self::Else => "else", @@ -311,6 +313,7 @@ impl From for Token { "NaN" => Self::Float64(f64::NAN), // Normal keywords "and" => Self::LogicAnd, + "as" => Self::As, "break" => Self::Break, "continue" => Self::Continue, "else" => Self::Else, diff --git a/ndc_lsp/src/diagnostics.rs b/ndc_lsp/src/diagnostics.rs index d36f3353..57b34426 100644 --- a/ndc_lsp/src/diagnostics.rs +++ b/ndc_lsp/src/diagnostics.rs @@ -14,8 +14,15 @@ fn make_diagnostic(text: &str, span: Span, message: String) -> Diagnostic { } /// Convert an [`AnalysisError`] into an LSP [`Diagnostic`]. +/// +/// An LSP diagnostic has no separate note channel the way a terminal report +/// does, so help text is folded into the message instead of being dropped. pub fn analysis_error_to_diagnostic(text: &str, err: &AnalysisError) -> Diagnostic { - make_diagnostic(text, err.span(), err.to_string()) + let message = match err.help_text() { + Some(help) => format!("{err}. {help}"), + None => err.to_string(), + }; + make_diagnostic(text, err.span(), message) } /// Lex and parse the source text, returning any diagnostics and (on success) diff --git a/ndc_lsp/src/features/completion.rs b/ndc_lsp/src/features/completion.rs index 973969d0..b3777ebf 100644 --- a/ndc_lsp/src/features/completion.rs +++ b/ndc_lsp/src/features/completion.rs @@ -212,7 +212,7 @@ fn merged_type_display(candidates: &[&StaticType]) -> String { /// Language keywords offered in general (non-dot) completion. const KEYWORDS: &[&str] = &[ - "let", "fn", "struct", "if", "else", "while", "for", "in", "return", "break", "continue", + "let", "fn", "struct", "if", "else", "while", "for", "in", "as", "return", "break", "continue", "true", "false", ]; diff --git a/ndc_lsp/src/features/symbols.rs b/ndc_lsp/src/features/symbols.rs index 77be4dc3..08df7e6f 100644 --- a/ndc_lsp/src/features/symbols.rs +++ b/ndc_lsp/src/features/symbols.rs @@ -27,7 +27,9 @@ fn collect_symbol( out: &mut Vec, ) { match &expr.expression { - Expression::Statement(inner) | Expression::Grouping(inner) => { + Expression::Statement(inner) + | Expression::Grouping(inner) + | Expression::Cast { value: inner, .. } => { collect_symbol(inner, text, line_index, out); } Expression::FunctionDeclaration { @@ -99,7 +101,9 @@ fn collect_children( collect_symbol(s, text, line_index, out); } } - Expression::Statement(inner) | Expression::Grouping(inner) => { + Expression::Statement(inner) + | Expression::Grouping(inner) + | Expression::Cast { value: inner, .. } => { collect_children(inner, text, line_index, out); } _ => collect_symbol(body, text, line_index, out), @@ -241,4 +245,14 @@ mod tests { assert_eq!(children.len(), 2); assert_eq!(children[1].detail.as_deref(), Some("Int")); } + + #[test] + fn cast_does_not_hide_a_declaration() { + let syms = symbols("(fn identity(value) => value) as Any"); + assert!( + syms.iter() + .any(|s| s.name == "identity" && s.kind == SymbolKind::FUNCTION), + "expected function `identity` in {syms:?}" + ); + } } diff --git a/ndc_lsp/src/scope_resolve.rs b/ndc_lsp/src/scope_resolve.rs index 9b549c8c..855b83a6 100644 --- a/ndc_lsp/src/scope_resolve.rs +++ b/ndc_lsp/src/scope_resolve.rs @@ -101,7 +101,9 @@ fn collect(expr: &ExpressionLocation, scope: Span, out: &mut Vec) { collect(s, expr.span, out); } } - Expression::Statement(inner) | Expression::Grouping(inner) => collect(inner, scope, out), + Expression::Statement(inner) + | Expression::Grouping(inner) + | Expression::Cast { value: inner, .. } => collect(inner, scope, out), Expression::If { condition, on_true, diff --git a/ndc_lsp/src/visitor.rs b/ndc_lsp/src/visitor.rs index 02e1ddc1..350f3bd6 100644 --- a/ndc_lsp/src/visitor.rs +++ b/ndc_lsp/src/visitor.rs @@ -89,7 +89,9 @@ fn child_expressions(expr: &ExpressionLocation) -> Vec<&ExpressionLocation> { out.push(value); } Expression::FunctionDeclaration { body, .. } => out.push(body), - Expression::Statement(inner) | Expression::Grouping(inner) => out.push(inner), + Expression::Statement(inner) + | Expression::Grouping(inner) + | Expression::Cast { value: inner, .. } => out.push(inner), Expression::Block { statements } => out.extend(statements.iter()), Expression::If { condition, @@ -243,7 +245,9 @@ fn walk_expression(visitor: &mut impl AstVisitor, expr: &ExpressionLocation) { ); walk_expression(visitor, body); } - Expression::Statement(inner) | Expression::Grouping(inner) => { + Expression::Statement(inner) + | Expression::Grouping(inner) + | Expression::Cast { value: inner, .. } => { walk_expression(visitor, inner); } Expression::Block { statements } => { diff --git a/ndc_parser/src/expression.rs b/ndc_parser/src/expression.rs index f47c6d40..41dd20c1 100644 --- a/ndc_parser/src/expression.rs +++ b/ndc_parser/src/expression.rs @@ -110,6 +110,14 @@ pub enum Expression { right: Box, }, Grouping(Box), + /// `value as Type` — asserts the value has the target type; never converts. + Cast { + value: Box, + annotation: TypeExpr, + resolved_type: Option, + /// Cleared by the analyser when the value's static type proves the cast. + requires_check: bool, + }, VariableDeclaration { l_value: Lvalue, annotated_type: Option, diff --git a/ndc_parser/src/parser.rs b/ndc_parser/src/parser.rs index c0781f85..4356dffe 100644 --- a/ndc_parser/src/parser.rs +++ b/ndc_parser/src/parser.rs @@ -69,6 +69,10 @@ impl Parser { self.tokens.get(self.current) } + fn peek_next_token(&self) -> Option<&Token> { + self.tokens.get(self.current + 1).map(|t| &t.token) + } + /// Returns the current `TokenLocation` if it matches the given `Token` or returns `None` if it does not match. /// It does not consume the current token however, if that's the purpose you can use `consume_token_if`. fn match_token(&self, tokens: &[Token]) -> Option<&TokenLocation> { @@ -630,12 +634,28 @@ impl Parser { fn exponent(&mut self) -> Result { self.consume_binary_expression_right_associative( - Self::tight_unary, + Self::cast, Self::exponent, &[Token::Caret], ) } + fn cast(&mut self) -> Result { + let mut expression = self.tight_unary()?; + while self.consume_token_if(&[Token::As]).is_some() { + let annotation = self.cast_type_annotation()?; + let span = expression.span.merge(annotation.span()); + expression = Expression::Cast { + value: Box::new(expression), + annotation, + resolved_type: None, + requires_check: true, + } + .to_location(span); + } + Ok(expression) + } + fn tight_unary(&mut self) -> Result { if let Some(operator_token_loc) = self.consume_token_if(&[Token::Bang, Token::Minus, Token::Tilde]) @@ -1414,6 +1434,96 @@ impl Parser { } } + /// Parses the type after `as`. Identical to [`Self::type_annotation`] except + /// that a `<` which cannot open a type argument list is left alone, so that + /// `1 as Int < 2` parses as `(1 as Int) < 2` instead of trying to read `2` as + /// a type argument. + fn cast_type_annotation(&mut self) -> Result { + if matches!(self.peek_current_token(), Some(Token::Identifier(_))) + && self.peek_next_token() == Some(&Token::Less) + && !self.peek_type_arguments() + { + let Ok(TokenLocation { + token: Token::Identifier(name), + span, + }) = self.require_current_token() + else { + unreachable!("this should have been checked"); + }; + + return Ok(TypeExpr::Name { + name, + args: Vec::new(), + span, + }); + } + + self.type_annotation() + } + + /// Scans ahead from the `<` that follows the current token to decide whether + /// it opens a type argument list (`List`) or is a less-than operator + /// (`Int < 2`). Only the tokens that may legally appear inside a type + /// argument list are accepted; anything else means this is a comparison. + fn peek_type_arguments(&self) -> bool { + let mut depth = 0_usize; + let mut parens = 0_usize; + + for location in self.tokens.iter().skip(self.current + 1) { + // How many `>` this token contributes, and whether consuming all of + // them closes the list cleanly or leaves the `=` of `>=` / `>>=`. + let (closers, closes_cleanly) = match &location.token { + Token::Less => { + depth += 1; + continue; + } + Token::LeftParentheses => { + parens += 1; + continue; + } + Token::RightParentheses => { + // A `)` that closes no `(` of ours belongs to an enclosing + // expression, so the type ended before it: in + // `(x as Int < y)` the `<` is a comparison. + if parens == 0 { + return false; + } + parens -= 1; + continue; + } + Token::Identifier(_) | Token::Comma => continue, + Token::Greater => (1, true), + Token::GreaterGreater => (2, true), + Token::GreaterEquals => (1, false), + Token::OpAssign(inner) if inner.token == Token::GreaterGreater => (2, false), + _ => return false, + }; + + // A token with more closers than the list has open also contains + // part of the following expression, so this `<` is a comparison. + if depth < closers { + return false; + } + + // Consuming every closer would leave a bare `=`, which can neither + // continue a type nor follow a cast — `x as Int < y >= z` is a + // comparison chain, not a cast to `Int` assigned to `z`. + if !closes_cleanly { + return false; + } + + if depth == closers { + // A matching `>` inside parentheses belongs to the grouped + // expression unless every parenthesized type has closed. + return parens == 0; + } + + depth -= closers; + } + + false + } + pub fn named_or_generic_type(&mut self) -> Result { let Ok(TokenLocation { token: Token::Identifier(ident), diff --git a/ndc_vm/src/chunk.rs b/ndc_vm/src/chunk.rs index 398e7130..f2c8c7b4 100644 --- a/ndc_vm/src/chunk.rs +++ b/ndc_vm/src/chunk.rs @@ -1,5 +1,6 @@ use crate::Value; use ahash::AHashSet; +use ndc_core::StaticType; use ndc_core::hash_map::HashMap; use ndc_lexer::Span; use ndc_parser::CaptureSource; @@ -148,6 +149,8 @@ pub enum OpCode { CloseUpvalue(usize), /// Pops function, pushes memoized wrapper. `[… fn → … memoized_fn]` Memoize, + /// Peeks top; errors if the value does not conform to the type. `[… value → … value]` + CheckType(Rc), } impl OpCode { @@ -198,6 +201,8 @@ impl OpCode { Self::Return => -1, Self::CloseUpvalue(_) => 0, Self::Memoize => 0, + // Peeks the value without popping it. + Self::CheckType(_) => 0, } } } @@ -247,6 +252,7 @@ impl std::fmt::Debug for OpCode { Self::Unpack(n) => write!(f, "Unpack({n})"), Self::CloseUpvalue(n) => write!(f, "CloseUpvalue({n})"), Self::Memoize => write!(f, "Memoize"), + Self::CheckType(typ) => write!(f, "CheckType({typ})"), } } } diff --git a/ndc_vm/src/compiler.rs b/ndc_vm/src/compiler.rs index ba32f201..8341a122 100644 --- a/ndc_vm/src/compiler.rs +++ b/ndc_vm/src/compiler.rs @@ -236,6 +236,20 @@ impl Compiler { self.compile_binding(resolved, span)?; } } + Expression::Cast { + value, + resolved_type, + requires_check, + .. + } => { + self.compile_expr(*value)?; + if requires_check { + let Some(target) = resolved_type else { + return Err(CompileError::unresolved_cast(span)); + }; + self.ir.write(OpCode::CheckType(Rc::new(target)), span); + } + } Expression::Statement(stm) => { self.compile_expr(*stm)?; self.ir.write(OpCode::Pop, Span::synthetic()); @@ -1241,6 +1255,15 @@ impl CompileError { } } + fn unresolved_cast(span: Span) -> Self { + Self { + text: + "encountered unresolved cast during compilation, this is probably an internal error" + .to_string(), + span, + } + } + fn unexpected_break(span: Span) -> Self { Self { text: "unexpected break statement outside of loop".to_string(), diff --git a/ndc_vm/src/lib.rs b/ndc_vm/src/lib.rs index 947b037c..5dea1e55 100644 --- a/ndc_vm/src/lib.rs +++ b/ndc_vm/src/lib.rs @@ -20,10 +20,14 @@ pub use value::*; #[cfg(test)] mod test { + use crate::{Object, Value}; + use ndc_core::StaticType; + use std::cell::RefCell; + use std::rc::Rc; #[test] fn test_that_value_size_does_not_change() { - assert_eq!(size_of::(), 16) + assert_eq!(size_of::(), 16) } #[test] @@ -37,9 +41,7 @@ mod test { #[test] fn test_struct_function_display_is_unambiguous() { use crate::value::Function; - use ndc_core::StaticType; use ndc_core::r#struct::StructRegistry; - use std::rc::Rc; let mut registry = StructRegistry::default(); let id = registry.register("Point", vec![("x".to_string(), StaticType::Int)]); @@ -53,4 +55,24 @@ mod test { assert_eq!(getter.to_string(), ""); assert_eq!(setter.to_string(), ""); } + + #[test] + fn diagnostic_type_has_total_work_budget_for_cycles() { + let list = Rc::new(Object::List(RefCell::new(Vec::new()))); + let value = Value::Object(Rc::clone(&list)); + let Object::List(elements) = list.as_ref() else { + unreachable!(); + }; + elements + .borrow_mut() + .extend(std::iter::repeat_n(value.clone(), 8)); + + assert_eq!( + value.diagnostic_type(), + StaticType::List(Box::new(StaticType::Any)) + ); + + // Break the reference cycle so the test does not leak its allocations. + elements.borrow_mut().clear(); + } } diff --git a/ndc_vm/src/tracer.rs b/ndc_vm/src/tracer.rs index 5e1d1c7d..1e984463 100644 --- a/ndc_vm/src/tracer.rs +++ b/ndc_vm/src/tracer.rs @@ -50,6 +50,7 @@ fn opcode_name(op: &OpCode) -> &'static str { OpCode::Return => "Return", OpCode::CloseUpvalue(_) => "CloseUpvalue", OpCode::Memoize => "Memoize", + OpCode::CheckType(_) => "CheckType", } } diff --git a/ndc_vm/src/value/mod.rs b/ndc_vm/src/value/mod.rs index a2525fa3..78c48460 100644 --- a/ndc_vm/src/value/mod.rs +++ b/ndc_vm/src/value/mod.rs @@ -24,6 +24,30 @@ thread_local! { static UNIT: Value = Value::Object(Rc::new(Object::Tuple(vec![]))); } +const DIAGNOSTIC_TYPE_MAX_DEPTH: usize = 4; +const DIAGNOSTIC_TYPE_VALUE_BUDGET: usize = 256; +type ConformanceKey = (*const Object, *const StaticType); +type ConformanceCache = HashMap; + +fn bounded_element_type<'a>( + values: impl Iterator, + depth: usize, + budget: &mut usize, +) -> StaticType { + let mut element_type: Option = None; + for value in values { + if *budget == 0 { + return StaticType::Any; + } + let found = value.static_type_with_budget(depth, budget); + element_type = Some(match element_type { + Some(previous) => previous.lub(&found), + None => found, + }); + } + element_type.unwrap_or(StaticType::Any) +} + /// Enumerates all the different types of values that exist in the language /// All values should be pretty cheap to clone because the bigger ones are wrapped using Rc's #[derive(Clone)] @@ -240,12 +264,30 @@ impl Value { /// /// - [`Value::is_number`] — O(1) check for numeric types pub fn static_type(&self) -> StaticType { + let mut budget = usize::MAX; + self.static_type_with_budget(usize::MAX, &mut budget) + } + + /// Returns a runtime type description whose recursion depth and total + /// number of inspected values are bounded. Once either limit is reached, + /// the remaining subtree is widened to `Any`. + pub(crate) fn diagnostic_type(&self) -> StaticType { + let mut budget = DIAGNOSTIC_TYPE_VALUE_BUDGET; + self.static_type_with_budget(DIAGNOSTIC_TYPE_MAX_DEPTH, &mut budget) + } + + fn static_type_with_budget(&self, depth: usize, budget: &mut usize) -> StaticType { + if *budget == 0 { + return StaticType::Any; + } + *budget -= 1; + match self { Self::Int(_) => StaticType::Int, Self::Float(_) => StaticType::Float, Self::Bool(_) => StaticType::Bool, Self::None => StaticType::Option(Box::new(StaticType::Any)), - Self::Object(obj) => obj.static_type(), + Self::Object(obj) => obj.static_type_with_budget(depth, budget), } } @@ -323,6 +365,165 @@ impl Value { } } + /// Check whether this value conforms to `target`, scanning container + /// elements recursively. Empty containers conform to any element type. + /// + /// Unlike [`Value::matches_param`] this scans the value by design: it backs + /// the runtime check of `as` casts, where the caller explicitly opted into + /// the scan. Shared container aliases are memoized by object and target + /// type. Iterators can't be inspected without consuming them, so they only + /// conform to targets with `Any` elements. + pub fn conforms_to(&self, target: &StaticType) -> bool { + self.conforms_to_cached(target, &mut ConformanceCache::default()) + } + + fn conforms_to_cached(&self, target: &StaticType, cache: &mut ConformanceCache) -> bool { + let cache_key = match self { + Self::Object(object) => Some((Rc::as_ptr(object), std::ptr::from_ref(target))), + _ => None, + }; + if let Some(cache_key) = cache_key + && let Some(result) = cache.get(&cache_key) + { + return *result; + } + + // Static types are finite trees, so this pair cannot be re-entered + // before its result is stored. + let result = match target { + StaticType::Any => true, + StaticType::Option(inner) => match self { + Self::None => true, + Self::Object(object) => match object.as_ref() { + Object::Some(value) => value.conforms_to_cached(inner, cache), + _ => false, + }, + _ => false, + }, + StaticType::List(element) => matches!( + self, + Self::Object(object) if matches!(object.as_ref(), Object::List(values) + if values.borrow().iter().all(|value| value.conforms_to_cached(element, cache))) + ), + StaticType::Deque(element) => matches!( + self, + Self::Object(object) if matches!(object.as_ref(), Object::Deque(values) + if values.borrow().iter().all(|value| value.conforms_to_cached(element, cache))) + ), + StaticType::Tuple(elements) => matches!( + self, + Self::Object(object) if matches!(object.as_ref(), Object::Tuple(values) + if values.len() == elements.len() + && values.iter().zip(elements).all(|(value, element)| value.conforms_to_cached(element, cache))) + ), + StaticType::Map { key, value } => match self { + Self::Object(object) => match object.as_ref() { + Object::Map { entries, default } => { + // A missing-key lookup inserts the default (or the + // result of calling it), so the default must conform + // to the value type as well. A default function's + // results can't be verified without calling it. + let default_conforms = match default { + None => true, + Some(Self::Object(object)) + if matches!(object.as_ref(), Object::Function(_)) => + { + matches!(value.as_ref(), StaticType::Any) + } + Some(default) => default.conforms_to_cached(value, cache), + }; + default_conforms + && entries.borrow().iter().all(|(entry_key, entry_value)| { + entry_key.conforms_to_cached(key, cache) + && entry_value.conforms_to_cached(value, cache) + }) + } + _ => false, + }, + _ => false, + }, + StaticType::MinHeap(element) => matches!( + self, + Self::Object(object) if matches!(object.as_ref(), Object::MinHeap(values) + if values.borrow().iter().all(|Reverse(OrdValue(value))| value.conforms_to_cached(element, cache))) + ), + StaticType::MaxHeap(element) => matches!( + self, + Self::Object(object) if matches!(object.as_ref(), Object::MaxHeap(values) + if values.borrow().iter().all(|OrdValue(value)| value.conforms_to_cached(element, cache))) + ), + StaticType::Sequence(element) => match self { + Self::Object(object) => match object.as_ref() { + Object::List(values) => values + .borrow() + .iter() + .all(|value| value.conforms_to_cached(element, cache)), + Object::Tuple(values) => values + .iter() + .all(|value| value.conforms_to_cached(element, cache)), + Object::Deque(values) => values + .borrow() + .iter() + .all(|value| value.conforms_to_cached(element, cache)), + Object::String(_) => StaticType::String.is_subtype(element), + Object::Map { entries, .. } => { + entries + .borrow() + .iter() + .all(|(key, value)| match element.as_ref() { + StaticType::Any => true, + StaticType::Tuple(elements) if elements.len() == 2 => { + key.conforms_to_cached(&elements[0], cache) + && value.conforms_to_cached(&elements[1], cache) + } + StaticType::Sequence(inner) => { + key.conforms_to_cached(inner, cache) + && value.conforms_to_cached(inner, cache) + } + _ => false, + }) + } + Object::MinHeap(values) => values + .borrow() + .iter() + .all(|Reverse(OrdValue(value))| value.conforms_to_cached(element, cache)), + Object::MaxHeap(values) => values + .borrow() + .iter() + .all(|OrdValue(value)| value.conforms_to_cached(element, cache)), + Object::Iterator(_) => matches!(element.as_ref(), StaticType::Any), + _ => false, + }, + _ => false, + }, + // The remaining targets are non-container types (Never, Bool, + // numerics, String, Function, Struct, Iterator). Container values + // conform to none of them; answering that without `static_type` + // keeps recursion bounded by the target's depth, so conformance + // checks terminate even on self-referential containers. + _ => match self { + Self::Object(object) + if matches!( + object.as_ref(), + Object::List(_) + | Object::Tuple(_) + | Object::Map { .. } + | Object::Deque(_) + | Object::Some(_) + ) => + { + false + } + _ => self.static_type().is_subtype(target), + }, + }; + + if let Some(cache_key) = cache_key { + cache.insert(cache_key, result); + } + result + } + /// Consume this value and produce an iterator over its elements. /// /// Returns `None` for non-iterable types (`Int`, `Float`, `Bool`, `None`, @@ -475,51 +676,98 @@ impl Object { /// because the VM does not track element types at runtime. Tuple is the /// exception: its element types are known from the concrete values it holds. pub fn static_type(&self) -> StaticType { + let mut budget = usize::MAX; + self.static_type_with_budget(usize::MAX, &mut budget) + } + + fn static_type_with_budget(&self, depth: usize, budget: &mut usize) -> StaticType { match self { - Self::Some(inner) => StaticType::Option(Box::new(inner.static_type())), + Self::Some(inner) => { + if depth == 0 { + return StaticType::Option(Box::new(StaticType::Any)); + } + StaticType::Option(Box::new(inner.static_type_with_budget(depth - 1, budget))) + } Self::BigInt(_) => StaticType::Int, Self::Complex(_) => StaticType::Complex, Self::Rational(_) => StaticType::Rational, Self::String(_) => StaticType::String, Self::List(elements) => { + if depth == 0 { + return StaticType::List(Box::new(StaticType::Any)); + } let elements = elements.borrow(); - let elem_type = elements - .iter() - .map(|e| e.static_type()) - .reduce(|a, b| a.lub(&b)) - .unwrap_or(StaticType::Any); + let elem_type = bounded_element_type(elements.iter(), depth - 1, budget); StaticType::List(Box::new(elem_type)) } Self::Tuple(elements) => { - StaticType::Tuple(elements.iter().map(|e| e.static_type()).collect()) + if depth == 0 { + if elements.len() > *budget { + return StaticType::Any; + } + *budget -= elements.len(); + return StaticType::Tuple(vec![StaticType::Any; elements.len()]); + } + if elements.len() > *budget { + return StaticType::Any; + } + let mut types = Vec::with_capacity(elements.len()); + for element in elements { + if *budget == 0 { + return StaticType::Any; + } + types.push(element.static_type_with_budget(depth - 1, budget)); + } + StaticType::Tuple(types) } Self::Map { entries, .. } => { + if depth == 0 { + return StaticType::Map { + key: Box::new(StaticType::Any), + value: Box::new(StaticType::Any), + }; + } let entries = entries.borrow(); - let key_type = entries - .keys() - .map(|k| k.static_type()) - .reduce(|a, b| a.lub(&b)) - .unwrap_or(StaticType::Any); - let value_type = entries - .values() - .map(|v| v.static_type()) - .reduce(|a, b| a.lub(&b)) - .unwrap_or(StaticType::Any); + let mut key_type: Option = None; + let mut value_type: Option = None; + for (key, value) in entries.iter() { + if *budget == 0 { + return StaticType::Map { + key: Box::new(StaticType::Any), + value: Box::new(StaticType::Any), + }; + } + let found_key = key.static_type_with_budget(depth - 1, budget); + if *budget == 0 { + return StaticType::Map { + key: Box::new(StaticType::Any), + value: Box::new(StaticType::Any), + }; + } + let found_value = value.static_type_with_budget(depth - 1, budget); + key_type = Some(match key_type { + Some(previous) => previous.lub(&found_key), + None => found_key, + }); + value_type = Some(match value_type { + Some(previous) => previous.lub(&found_value), + None => found_value, + }); + } StaticType::Map { - key: Box::new(key_type), - value: Box::new(value_type), + key: Box::new(key_type.unwrap_or(StaticType::Any)), + value: Box::new(value_type.unwrap_or(StaticType::Any)), } } Self::Function(f) => f.static_type(), Self::OverloadSet { .. } => StaticType::Any, Self::Iterator(_) => StaticType::Iterator(Box::new(StaticType::Any)), Self::Deque(elements) => { + if depth == 0 { + return StaticType::Deque(Box::new(StaticType::Any)); + } let elements = elements.borrow(); - let elem_type = elements - .iter() - .map(|e| e.static_type()) - .reduce(|a, b| a.lub(&b)) - .unwrap_or(StaticType::Any); + let elem_type = bounded_element_type(elements.iter(), depth - 1, budget); StaticType::Deque(Box::new(elem_type)) } Self::MinHeap(_) => StaticType::MinHeap(Box::new(StaticType::Any)), @@ -1007,3 +1255,31 @@ impl Hash for Object { } } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn conformance_memoizes_aliased_containers() { + let list = Rc::new(Object::List(RefCell::new(Vec::new()))); + let value = Value::Object(Rc::clone(&list)); + let Object::List(elements) = list.as_ref() else { + unreachable!(); + }; + elements + .borrow_mut() + .extend(std::iter::repeat_n(value.clone(), 100)); + + let target = StaticType::List(Box::new(StaticType::List(Box::new(StaticType::List( + Box::new(StaticType::Any), + ))))); + let mut cache = ConformanceCache::default(); + + assert!(value.conforms_to_cached(&target, &mut cache)); + assert_eq!(cache.len(), 4); + + // Break the reference cycle so the test does not leak its allocations. + elements.borrow_mut().clear(); + } +} diff --git a/ndc_vm/src/vm.rs b/ndc_vm/src/vm.rs index c56af7cf..a994a334 100644 --- a/ndc_vm/src/vm.rs +++ b/ndc_vm/src/vm.rs @@ -210,6 +210,15 @@ impl Vm { self.stack .push(frame.closure.prototype.body.constant(idx).clone()); } + OpCode::CheckType(target) => { + let value = self.stack.last().expect("stack underflow"); + if !value.conforms_to(target) { + return Err(VmError::new( + format!("cannot cast {} to {target}", value.diagnostic_type()), + span, + )); + } + } OpCode::GetLocal(slot) => { let slot = *slot; self.stack.push(self.stack[frame.slot(slot)].clone()); diff --git a/tests/compiler/tests/compiler.rs b/tests/compiler/tests/compiler.rs index bae2056e..5214b0d8 100644 --- a/tests/compiler/tests/compiler.rs +++ b/tests/compiler/tests/compiler.rs @@ -589,3 +589,30 @@ fn test_break_pops_pending_operands() { "expected three cleanup Pops before the break jump, got: {ops:?}", ); } + +// let x: Any = 1; x as Int +// +// `Any` doesn't prove the target type, so the cast compiles to a CheckType +// guard after the value is loaded. +#[test] +fn test_cast_from_any_emits_check_type() { + let ops = compile_with_analysis("let x: Any = 1; x as Int"); + assert!( + ops.iter() + .any(|op| matches!(op, CheckType(t) if **t == ndc_core::StaticType::Int)), + "expected a CheckType(Int) guard, got: {ops:?}", + ); +} + +// 1 as Int; [1] as Any +// +// Both casts are proven by the value's static type, so no runtime guard is +// emitted. +#[test] +fn test_provable_cast_emits_no_check_type() { + let ops = compile_with_analysis("1 as Int; [1] as Any"); + assert!( + ops.iter().all(|op| !matches!(op, CheckType(_))), + "provable casts must not emit CheckType, got: {ops:?}", + ); +} diff --git a/tests/functional/programs/004_basic/066_op_assignment_any_rhs.ndc b/tests/functional/programs/004_basic/066_op_assignment_any_rhs.ndc new file mode 100644 index 00000000..2137c005 --- /dev/null +++ b/tests/functional/programs/004_basic/066_op_assignment_any_rhs.ndc @@ -0,0 +1,9 @@ +// A specialized `op=` copies values into the left operand without inspecting +// them, so an `Any` right operand is rejected rather than silently accepted: +// nothing downstream would check the elements. Cast the operand to state what +// it holds. +// expect-error: mismatched types: found Any but expected List +fn opaque(x) => x; +let values = [1]; +values ++= opaque([2, 3]); +print(values) diff --git a/tests/functional/programs/004_basic/067_op_assignment_supertype_rhs.ndc b/tests/functional/programs/004_basic/067_op_assignment_supertype_rhs.ndc new file mode 100644 index 00000000..69667af4 --- /dev/null +++ b/tests/functional/programs/004_basic/067_op_assignment_supertype_rhs.ndc @@ -0,0 +1,8 @@ +// A specialized `op=` mutates the left operand in place and keeps its type, so +// a right operand whose element type is merely a *supertype* is not enough: +// appending a Float here would leave a List holding a non-Int. +// expect-error: mismatched types: found List but expected List +let values: List = [1]; +let rhs: List = [0.5]; +values ++= rhs; +print(values) diff --git a/tests/functional/programs/005_functions/042_typed_container_param_not_dispatchable.ndc b/tests/functional/programs/005_functions/042_typed_container_param_not_dispatchable.ndc new file mode 100644 index 00000000..208d59ca --- /dev/null +++ b/tests/functional/programs/005_functions/042_typed_container_param_not_dispatchable.ndc @@ -0,0 +1,6 @@ +// Neither type is a subtype of the other, so the call is rejected at compile +// time. A cast is how you tell the analyser what the value actually holds. +// expect-error: No function called 'consume' found that matches the arguments 'Sequence' +fn consume(xs: List) => xs; +let xs: Sequence = [1]; +consume(xs) diff --git a/tests/functional/programs/005_functions/043_never_argument_is_unreachable.ndc b/tests/functional/programs/005_functions/043_never_argument_is_unreachable.ndc new file mode 100644 index 00000000..7440f52f --- /dev/null +++ b/tests/functional/programs/005_functions/043_never_argument_is_unreachable.ndc @@ -0,0 +1,9 @@ +// A `Never` argument diverges before the call happens, so the call is not a +// type error even though no value could satisfy the parameter. +// expect-output: 1 +let n = 0; +while true { + n = n + 1; + print(break); +} +print(n) diff --git a/tests/functional/programs/005_functions/044_cast_suggested_when_no_overload_matches.ndc b/tests/functional/programs/005_functions/044_cast_suggested_when_no_overload_matches.ndc new file mode 100644 index 00000000..264e406a --- /dev/null +++ b/tests/functional/programs/005_functions/044_cast_suggested_when_no_overload_matches.ndc @@ -0,0 +1,6 @@ +// The call would resolve if the argument type were narrower, so the error +// carries help pointing at a cast rather than leaving the user at a dead end. +// expect-error: Cast to say what the value holds +let line = "a b c"; +line = line.split(" "); +print(line.remove(0)) diff --git a/tests/functional/programs/005_functions/045_no_cast_hint_for_genuine_mismatch.ndc b/tests/functional/programs/005_functions/045_no_cast_hint_for_genuine_mismatch.ndc new file mode 100644 index 00000000..b8165deb --- /dev/null +++ b/tests/functional/programs/005_functions/045_no_cast_hint_for_genuine_mismatch.ndc @@ -0,0 +1,5 @@ +// No overload could ever accept a String here, so no cast would help and the +// error must not suggest one. +// expect-error: No function called 'f' found that matches the arguments 'String' +fn f(x: Int) => x; +print(f("s")) diff --git a/tests/functional/programs/006_lists/050_remove_on_widened_sequence.ndc b/tests/functional/programs/006_lists/050_remove_on_widened_sequence.ndc new file mode 100644 index 00000000..19a1a8a3 --- /dev/null +++ b/tests/functional/programs/006_lists/050_remove_on_widened_sequence.ndc @@ -0,0 +1,7 @@ +// Reassignment widens `line` to Sequence, which no longer matches the +// List parameter of `remove`. The analyser will not guess that the value is +// really a list — cast to say so. +// expect-output: a ["b","c"] +let line = "a b c"; +line = line.split(" "); +print((line as List).remove(0), line) diff --git a/tests/functional/programs/016_casts/001_scalar_and_chained.ndc b/tests/functional/programs/016_casts/001_scalar_and_chained.ndc new file mode 100644 index 00000000..89b104e2 --- /dev/null +++ b/tests/functional/programs/016_casts/001_scalar_and_chained.ndc @@ -0,0 +1,6 @@ +// A cast asserts the value already has the target type; it never converts. +assert_eq(3 as Int, 3); +assert_eq("a" as String, "a"); +assert_eq(3 as Any, 3); +assert_eq(3 as Int as Any, 3); +assert_eq(true as Bool, true); diff --git a/tests/functional/programs/016_casts/002_list_downcast_from_any.ndc b/tests/functional/programs/016_casts/002_list_downcast_from_any.ndc new file mode 100644 index 00000000..46127c56 --- /dev/null +++ b/tests/functional/programs/016_casts/002_list_downcast_from_any.ndc @@ -0,0 +1,8 @@ +// `keys` returns List; the cast recovers the element type so calls on +// the result can resolve against Int overloads. +let values = %{}; +values.insert(3); +values.insert(1); +values.insert(2); +let keys = values.keys as List; +assert_eq(sorted(keys), [1, 2, 3]); diff --git a/tests/functional/programs/016_casts/003_empty_vacuous.ndc b/tests/functional/programs/016_casts/003_empty_vacuous.ndc new file mode 100644 index 00000000..c585992f --- /dev/null +++ b/tests/functional/programs/016_casts/003_empty_vacuous.ndc @@ -0,0 +1,4 @@ +// An empty container conforms to any element type. +assert_eq([] as List, []); +let value: Any = []; +assert_eq(value as List, []); diff --git a/tests/functional/programs/016_casts/004_failed_cast_error.ndc b/tests/functional/programs/016_casts/004_failed_cast_error.ndc new file mode 100644 index 00000000..2e09e8aa --- /dev/null +++ b/tests/functional/programs/016_casts/004_failed_cast_error.ndc @@ -0,0 +1,3 @@ +// expect-error: cannot cast List to List +let value: Any = ["a"]; +print(value as List); diff --git a/tests/functional/programs/016_casts/005_impossible_cast_error.ndc b/tests/functional/programs/016_casts/005_impossible_cast_error.ndc new file mode 100644 index 00000000..f5cab299 --- /dev/null +++ b/tests/functional/programs/016_casts/005_impossible_cast_error.ndc @@ -0,0 +1,3 @@ +// The analyser rejects casts between types that cannot share a value. +// expect-error: invalid cast: String can never be Int +print("foo" as Int); diff --git a/tests/functional/programs/016_casts/006_nested_and_tuple.ndc b/tests/functional/programs/016_casts/006_nested_and_tuple.ndc new file mode 100644 index 00000000..94e5cf89 --- /dev/null +++ b/tests/functional/programs/016_casts/006_nested_and_tuple.ndc @@ -0,0 +1,8 @@ +let nested: Any = [[1], [2, 3]]; +assert_eq(nested as List>, [[1], [2, 3]]); + +let pair: Any = (1, "a"); +assert_eq(pair as (Int, String), (1, "a")); + +let map: Any = %{"a": 1}; +assert_eq(map as Map, %{"a": 1}); diff --git a/tests/functional/programs/016_casts/007_numeric_hierarchy.ndc b/tests/functional/programs/016_casts/007_numeric_hierarchy.ndc new file mode 100644 index 00000000..fb5d54a1 --- /dev/null +++ b/tests/functional/programs/016_casts/007_numeric_hierarchy.ndc @@ -0,0 +1,7 @@ +// Casts that depend on the numeric subtype hierarchy. Isolated here on +// purpose: the explicit-numeric-modes work makes Int, Float, and Number +// siblings, so this file is expected to change when that lands. +assert_eq(1 as Number, 1); +assert_eq(1.5 as Number, 1.5); +let value: Any = 1; +assert_eq(value as Int, 1); diff --git a/tests/functional/programs/016_casts/008_map_default_cast.ndc b/tests/functional/programs/016_casts/008_map_default_cast.ndc new file mode 100644 index 00000000..f6f4d27c --- /dev/null +++ b/tests/functional/programs/016_casts/008_map_default_cast.ndc @@ -0,0 +1,10 @@ +// A map default is inserted on missing-key lookups, so it must conform to +// the value type too. +let m: Any = %{: 0}; +let typed = m as Map; +assert_eq(typed[5], 0); + +// A default function's results can't be verified, so it only conforms when +// the value type is Any. +let f: Any = %{: fn() => 1}; +assert_eq((f as Map)[2], 1); diff --git a/tests/functional/programs/016_casts/009_map_default_cast_error.ndc b/tests/functional/programs/016_casts/009_map_default_cast_error.ndc new file mode 100644 index 00000000..8d590170 --- /dev/null +++ b/tests/functional/programs/016_casts/009_map_default_cast_error.ndc @@ -0,0 +1,3 @@ +// expect-error: cannot cast +let m: Any = %{: "wrong"}; +print(m as Map); diff --git a/tests/functional/programs/016_casts/010_map_function_default_cast_error.ndc b/tests/functional/programs/016_casts/010_map_function_default_cast_error.ndc new file mode 100644 index 00000000..c6454645 --- /dev/null +++ b/tests/functional/programs/016_casts/010_map_function_default_cast_error.ndc @@ -0,0 +1,3 @@ +// expect-error: cannot cast +let m: Any = %{: fn() => 1}; +print(m as Map); diff --git a/tests/functional/programs/016_casts/011_non_value_cast.ndc b/tests/functional/programs/016_casts/011_non_value_cast.ndc new file mode 100644 index 00000000..b0eaf87f --- /dev/null +++ b/tests/functional/programs/016_casts/011_non_value_cast.ndc @@ -0,0 +1,6 @@ +// Casting a unit-valued expression like a loop is a no-op: the loop's unit +// result satisfies `Any` statically, so no runtime check is emitted. +let x = 1; +while false {} as Any; +print(x); +// expect-output: 1 diff --git a/tests/functional/programs/016_casts/012_cyclic_cast_error.ndc b/tests/functional/programs/016_casts/012_cyclic_cast_error.ndc new file mode 100644 index 00000000..91160bfd --- /dev/null +++ b/tests/functional/programs/016_casts/012_cyclic_cast_error.ndc @@ -0,0 +1,6 @@ +// A self-referential container fails a typed cast instead of overflowing +// the stack: the check recurses on the target type, which is finite. +// expect-error: cannot cast +let x: Any = []; +x.push(x); +print(x as List); diff --git a/tests/functional/programs/016_casts/013_cast_before_less_than.ndc b/tests/functional/programs/016_casts/013_cast_before_less_than.ndc new file mode 100644 index 00000000..77c7c8fc --- /dev/null +++ b/tests/functional/programs/016_casts/013_cast_before_less_than.ndc @@ -0,0 +1,11 @@ +// A `<` after a cast to a plain type is a comparison, not a type argument list. +let value: Any = 3; +assert_eq(value as Int < 10, true); +assert_eq(1 as Int < 2 as Int, true); + +// A real type argument list still wins. +let list: Any = [1, 2]; +assert_eq((list as List).len() < 10, true); + +let nested: Any = [[1]]; +assert_eq((nested as List>).len() < 10, true); diff --git a/tests/functional/programs/016_casts/014_overlapping_hierarchy.ndc b/tests/functional/programs/016_casts/014_overlapping_hierarchy.ndc new file mode 100644 index 00000000..70c3f476 --- /dev/null +++ b/tests/functional/programs/016_casts/014_overlapping_hierarchy.ndc @@ -0,0 +1,8 @@ +// Neither List nor Sequence is a subtype of the other, but a +// List is a subtype of both, so the cast is possible and gets checked +// at runtime rather than rejected outright. +let xs: List = [1, 2]; +assert_eq(xs as Sequence, [1, 2]); + +let m: Map = %{1: 2}; +assert_eq(m as Sequence<(Int, Int)>, %{1: 2}); diff --git a/tests/functional/programs/016_casts/015_overlapping_hierarchy_error.ndc b/tests/functional/programs/016_casts/015_overlapping_hierarchy_error.ndc new file mode 100644 index 00000000..b3414ef6 --- /dev/null +++ b/tests/functional/programs/016_casts/015_overlapping_hierarchy_error.ndc @@ -0,0 +1,5 @@ +// The cast is possible for the type, so it reaches the runtime check — which +// then rejects this particular value. +// expect-error: cannot cast List to Sequence +let xs: List = [1, "two"]; +xs as Sequence diff --git a/tests/functional/programs/016_casts/016_cast_enables_op_assignment.ndc b/tests/functional/programs/016_casts/016_cast_enables_op_assignment.ndc new file mode 100644 index 00000000..fe97d0bf --- /dev/null +++ b/tests/functional/programs/016_casts/016_cast_enables_op_assignment.ndc @@ -0,0 +1,6 @@ +// A specialized `op=` needs to prove the right operand fits. An opaque value +// is rejected on its own; casting states what it holds and gets it checked. +fn opaque(x) => x; +let values = [1]; +values ++= opaque([2, 3]) as List; +assert_eq(values, [1, 2, 3]); diff --git a/tests/functional/programs/016_casts/017_cast_op_assignment_error.ndc b/tests/functional/programs/016_casts/017_cast_op_assignment_error.ndc new file mode 100644 index 00000000..f065834e --- /dev/null +++ b/tests/functional/programs/016_casts/017_cast_op_assignment_error.ndc @@ -0,0 +1,7 @@ +// The cast checks the elements, so a bad operand fails at the cast site +// instead of silently landing in the target. +// expect-error: cannot cast List to List +fn opaque(x) => x; +let values = [1]; +values ++= opaque([0.5]) as List; +print(values) diff --git a/tests/functional/programs/016_casts/018_never_cast_error.ndc b/tests/functional/programs/016_casts/018_never_cast_error.ndc new file mode 100644 index 00000000..ad85544e --- /dev/null +++ b/tests/functional/programs/016_casts/018_never_cast_error.ndc @@ -0,0 +1,4 @@ +// Never has no inhabitants, so no value can ever satisfy it — the cast is +// impossible rather than something to check at runtime. +// expect-error: invalid cast: Int can never be Never +1 as Never diff --git a/tests/functional/programs/016_casts/019_cast_before_comparison_chain.ndc b/tests/functional/programs/016_casts/019_cast_before_comparison_chain.ndc new file mode 100644 index 00000000..5742b31f --- /dev/null +++ b/tests/functional/programs/016_casts/019_cast_before_comparison_chain.ndc @@ -0,0 +1,7 @@ +// `>=` after a cast type must not be split into `>` plus `=`: this is a +// comparison chain, not a cast to `Int` assigned to `z`. It reaches the VM +// and fails there exactly as `3 < y >= z` does without the cast. +// expect-error: cannot compare Bool and Int +let y = 1; +let z = 2; +print(3 as Int < y >= z) diff --git a/tests/functional/programs/016_casts/020_cast_before_less_than_in_parens.ndc b/tests/functional/programs/016_casts/020_cast_before_less_than_in_parens.ndc new file mode 100644 index 00000000..0eda1a7e --- /dev/null +++ b/tests/functional/programs/016_casts/020_cast_before_less_than_in_parens.ndc @@ -0,0 +1,4 @@ +// The `)` closes an enclosing expression rather than a tuple type, so the type +// ends at `Int` and the `<` is a comparison. +// expect-output: true +print((3 as Int < 5)) diff --git a/tests/functional/programs/016_casts/021_cast_before_grouped_comparison.ndc b/tests/functional/programs/016_casts/021_cast_before_grouped_comparison.ndc new file mode 100644 index 00000000..38fcbc43 --- /dev/null +++ b/tests/functional/programs/016_casts/021_cast_before_grouped_comparison.ndc @@ -0,0 +1,8 @@ +// A `>` inside the grouped right operand does not close type arguments opened +// by the earlier `<`; the cast ends at `Int` and this reaches the VM as a +// comparison between Int and Bool. +// expect-error: cannot compare Int and Bool +let value: Any = 3; +let y = 2; +let z = 1; +print(value as Int < (y > z)) diff --git a/tests/functional/programs/016_casts/022_cast_before_shift_right.ndc b/tests/functional/programs/016_casts/022_cast_before_shift_right.ndc new file mode 100644 index 00000000..5226c8c1 --- /dev/null +++ b/tests/functional/programs/016_casts/022_cast_before_shift_right.ndc @@ -0,0 +1,4 @@ +// The extra `>` in `>>` belongs to the following shift operator, so this is a +// comparison rather than a cast to the nonexistent generic type `Int<4>`. +// expect-output: false +print(3 as Int < 4 >> 1)