From 4f40c76d000ef7de0aa275bfa73560b875d910e5 Mon Sep 17 00:00:00 2001 From: Ocean Date: Tue, 12 Mar 2024 10:53:12 +0000 Subject: [PATCH 1/4] Update the grammar to support the remaining infix operators --- .../testfiles/execution/stdlib/parser.dark | 10 + packages/darklang/languageTools/parser.dark | 14 + .../darklang/languageTools/writtenTypes.dark | 15 + .../writtenTypesToProgramTypes.dark | 50 + .../darklang/prettyPrinter/programTypes.dark | 2 +- tree-sitter-darklang/grammar.js | 78 +- tree-sitter-darklang/src/grammar.json | 333 +- tree-sitter-darklang/src/parser.c | 8582 +++++++++++------ .../exhaustive/exprs/binary_operation.txt | 34 + .../test/corpus/exhaustive/exprs/fn_calls.txt | 50 + 10 files changed, 6415 insertions(+), 2753 deletions(-) create mode 100644 tree-sitter-darklang/test/corpus/exhaustive/exprs/binary_operation.txt diff --git a/backend/testfiles/execution/stdlib/parser.dark b/backend/testfiles/execution/stdlib/parser.dark index baaa784eb8..55547f8b23 100644 --- a/backend/testfiles/execution/stdlib/parser.dark +++ b/backend/testfiles/execution/stdlib/parser.dark @@ -273,6 +273,16 @@ module TextToTextRoundtripping = // TODO: these is ugly ("1L + 2L" |> roundtripCliScript) = "(1L) + (2L)" ("1L + b + 3L" |> roundtripCliScript) = "((1L) + (b)) + (3L)" + ("1L + 2L * 3L - 4L" |> roundtripCliScript) = "((1L) + ((2L) * (3L))) - (4L)" + ("1L > 2L" |> roundtripCliScript) = "(1L) > (2L)" + ("1L >= 2L" |> roundtripCliScript) = "(1L) >= (2L)" + ("1L < 2L" |> roundtripCliScript) = "(1L) < (2L)" + ("1L <= 2L" |> roundtripCliScript) = "(1L) <= (2L)" + ("1L == 2L" |> roundtripCliScript) = "(1L) == (2L)" + ("1L != 2L" |> roundtripCliScript) = "(1L) != (2L)" + ("1L ^ 2L" |> roundtripCliScript) = "(1L) ^ (2L)" + ("true && false" |> roundtripCliScript) = "(true) && (false)" + ("true || false" |> roundtripCliScript) = "(true) || (false)" ("(and true false)" |> roundtripCliScript) = "and true false" ("(Bool.and true false)" |> roundtripCliScript) = "Bool.and true false" ("(PACKAGE.Darklang.Stdlib.Bool.and true false)" |> roundtripCliScript) = "PACKAGE.Darklang.Stdlib.Bool.and_v0 true false" diff --git a/packages/darklang/languageTools/parser.dark b/packages/darklang/languageTools/parser.dark index 448498624e..9e624447f3 100644 --- a/packages/darklang/languageTools/parser.dark +++ b/packages/darklang/languageTools/parser.dark @@ -498,6 +498,7 @@ module Darklang = (WrittenTypes.Unparseable { source = node }) |> Stdlib.Result.Result.Error + let parseFloatLiteral (node: ParsedNode) : Stdlib.Result.Result = @@ -658,6 +659,19 @@ module Darklang = match getText operatorNode with | "+" -> WrittenTypes.InfixOperator.ArithmeticPlus | "-" -> WrittenTypes.InfixOperator.ArithmeticMinus + | "*" -> WrittenTypes.InfixOperator.ArithmeticMultiply + | "/" -> WrittenTypes.InfixOperator.ArithmeticDivide + | "%" -> WrittenTypes.InfixOperator.ArithmeticModulo + | "^" -> WrittenTypes.InfixOperator.ArithmeticPower + | ">" -> WrittenTypes.InfixOperator.ComparisonGreaterThan + | ">=" -> WrittenTypes.InfixOperator.ComparisonGreaterThanOrEqual + | "<" -> WrittenTypes.InfixOperator.ComparisonLessThan + | "<=" -> WrittenTypes.InfixOperator.ComparisonLessThanOrEqual + | "==" -> WrittenTypes.InfixOperator.ComparisonEquals + | "!=" -> WrittenTypes.InfixOperator.ComparisonNotEquals + | "++" -> WrittenTypes.InfixOperator.StringConcat + | "&&" -> WrittenTypes.BinaryOperator.BinOpAnd + | "||" -> WrittenTypes.BinaryOperator.BinOpOr | _ -> (WrittenTypes.Unparseable { source = node }) |> Stdlib.Result.Result.Error diff --git a/packages/darklang/languageTools/writtenTypes.dark b/packages/darklang/languageTools/writtenTypes.dark index d34717a031..8e2b67ec16 100644 --- a/packages/darklang/languageTools/writtenTypes.dark +++ b/packages/darklang/languageTools/writtenTypes.dark @@ -77,6 +77,21 @@ module Darklang = type InfixOperator = | ArithmeticPlus | ArithmeticMinus + | ArithmeticMultiply + | ArithmeticDivide + | ArithmeticModulo + | ArithmeticPower + | ComparisonGreaterThan + | ComparisonGreaterThanOrEqual + | ComparisonLessThan + | ComparisonLessThanOrEqual + | ComparisonEquals + | ComparisonNotEquals + | StringConcat + + type BinaryOperator = + | BinOpAnd + | BinOpOr type Expr = | EUnit of SourceRange diff --git a/packages/darklang/languageTools/writtenTypesToProgramTypes.dark b/packages/darklang/languageTools/writtenTypesToProgramTypes.dark index f005ff3f8f..3b6a877ede 100644 --- a/packages/darklang/languageTools/writtenTypesToProgramTypes.dark +++ b/packages/darklang/languageTools/writtenTypesToProgramTypes.dark @@ -197,6 +197,56 @@ module Darklang = ProgramTypes.InfixFnName.ArithmeticMinus |> ProgramTypes.Infix.InfixFnCall + | ArithmeticMultiply -> + ProgramTypes.InfixFnName.ArithmeticMultiply + |> ProgramTypes.Infix.InfixFnCall + + | ArithmeticDivide -> + ProgramTypes.InfixFnName.ArithmeticDivide + |> ProgramTypes.Infix.InfixFnCall + + | ArithmeticModulo -> + ProgramTypes.InfixFnName.ArithmeticModulo + |> ProgramTypes.Infix.InfixFnCall + + | ArithmeticPower -> + ProgramTypes.InfixFnName.ArithmeticPower + |> ProgramTypes.Infix.InfixFnCall + + | ComparisonGreaterThan -> + ProgramTypes.InfixFnName.ComparisonGreaterThan + |> ProgramTypes.Infix.InfixFnCall + + | ComparisonGreaterThanOrEqual -> + ProgramTypes.InfixFnName.ComparisonGreaterThanOrEqual + |> ProgramTypes.Infix.InfixFnCall + + | ComparisonLessThan -> + ProgramTypes.InfixFnName.ComparisonLessThan + |> ProgramTypes.Infix.InfixFnCall + + | ComparisonLessThanOrEqual -> + ProgramTypes.InfixFnName.ComparisonLessThanOrEqual + |> ProgramTypes.Infix.InfixFnCall + + | ComparisonEquals -> + ProgramTypes.InfixFnName.ComparisonEquals + |> ProgramTypes.Infix.InfixFnCall + + | ComparisonNotEquals -> + ProgramTypes.InfixFnName.ComparisonNotEquals + |> ProgramTypes.Infix.InfixFnCall + + | StringConcat -> + ProgramTypes.InfixFnName.StringConcat + |> ProgramTypes.Infix.InfixFnCall + + | BinOpAnd -> + ProgramTypes.BinaryOperation.BinOpAnd |> ProgramTypes.Infix.BinOp + + | BinOpOr -> + ProgramTypes.BinaryOperation.BinOpOr |> ProgramTypes.Infix.BinOp + ProgramTypes.Expr.EInfix( gid (), infix, diff --git a/packages/darklang/prettyPrinter/programTypes.dark b/packages/darklang/prettyPrinter/programTypes.dark index f91f7bb023..56465cc3fc 100644 --- a/packages/darklang/prettyPrinter/programTypes.dark +++ b/packages/darklang/prettyPrinter/programTypes.dark @@ -597,7 +597,7 @@ module Darklang = | ComparisonLessThan -> "<" | ComparisonLessThanOrEqual -> "<=" | ComparisonEquals -> "==" - | ComparisonNotEquals -> "<>" + | ComparisonNotEquals -> "!=" | StringConcat -> "++" let infix (i: PACKAGE.Darklang.LanguageTools.ProgramTypes.Infix) : String = diff --git a/tree-sitter-darklang/grammar.js b/tree-sitter-darklang/grammar.js index 160cd8bb3f..fb00faedb3 100644 --- a/tree-sitter-darklang/grammar.js +++ b/tree-sitter-darklang/grammar.js @@ -3,6 +3,21 @@ // - deal with keywords // - better support for partially-written code (i.e. `let x =`) +const PREC = { + LOGICAL_OR: 0, + LOGICAL_AND: 1, + COMPARISON: 2, + SUM: 3, + PRODUCT: 4, + EXPONENT: 5, +}; + +const logicalOperators = choice("&&", "||"); +const comparisonOperators = choice("==", "!=", "<", "<=", ">", ">="); +const additiveOperators = choice("+", "-"); +const multiplicativeOperators = choice("*", "/", "%"); +const exponentOperator = "^"; + module.exports = grammar({ name: "darklang", @@ -139,12 +154,63 @@ module.exports = grammar({ infix_operation: $ => // given `1 + 2 * 3`, this will parse as `1 + (2 * 3)` - prec.left( - 1, - seq( - field("left", $.expression), - field("operator", alias(choice("+", "-"), $.operator)), // TODO more operators. - field("right", $.expression), // TODO maybe optional + choice( + // Power + prec.right( + PREC.EXPONENT, + seq( + field("left", $.expression), + field("operator", alias(exponentOperator, $.operator)), + field("right", $.expression), + ), + ), + + // multiplication, division, modulo + prec.left( + PREC.PRODUCT, + seq( + field("left", $.expression), + field("operator", alias(multiplicativeOperators, $.operator)), + field("right", $.expression), + ), + ), + + // addition, subtraction + prec.left( + PREC.SUM, + seq( + field("left", $.expression), + field("operator", alias(additiveOperators, $.operator)), + field("right", $.expression), + ), + ), + + // Comparison + prec.left( + PREC.COMPARISON, + seq( + field("left", $.expression), + field("operator", alias(comparisonOperators, $.operator)), + field("right", $.expression), + ), + ), + + // Logical operations + prec.left( + PREC.LOGICAL_AND, + seq( + field("left", $.expression), + field("operator", alias(logicalOperators, $.operator)), + field("right", $.expression), + ), + ), + prec.left( + PREC.LOGICAL_OR, + seq( + field("left", $.expression), + field("operator", alias(logicalOperators, $.operator)), + field("right", $.expression), // TODO maybe optional + ), ), ), diff --git a/tree-sitter-darklang/src/grammar.json b/tree-sitter-darklang/src/grammar.json index c74bad3014..93b2cb4454 100644 --- a/tree-sitter-darklang/src/grammar.json +++ b/tree-sitter-darklang/src/grammar.json @@ -585,51 +585,302 @@ } }, "infix_operation": { - "type": "PREC_LEFT", - "value": 1, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "expression" - } - }, - { - "type": "FIELD", - "name": "operator", - "content": { - "type": "ALIAS", - "content": { - "type": "CHOICE", - "members": [ - { + "type": "CHOICE", + "members": [ + { + "type": "PREC_RIGHT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "ALIAS", + "content": { "type": "STRING", - "value": "+" + "value": "^" }, - { - "type": "STRING", - "value": "-" - } - ] + "named": true, + "value": "operator" + } }, - "named": true, - "value": "operator" - } - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "expression" - } + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] } - ] - } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "ALIAS", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": "%" + } + ] + }, + "named": true, + "value": "operator" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "ALIAS", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + } + ] + }, + "named": true, + "value": "operator" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "ALIAS", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "==" + }, + { + "type": "STRING", + "value": "!=" + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "STRING", + "value": "<=" + }, + { + "type": "STRING", + "value": ">" + }, + { + "type": "STRING", + "value": ">=" + } + ] + }, + "named": true, + "value": "operator" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "ALIAS", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&&" + }, + { + "type": "STRING", + "value": "||" + } + ] + }, + "named": true, + "value": "operator" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "ALIAS", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&&" + }, + { + "type": "STRING", + "value": "||" + } + ] + }, + "named": true, + "value": "operator" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + } + ] }, "int8_literal": { "type": "SEQ", diff --git a/tree-sitter-darklang/src/parser.c b/tree-sitter-darklang/src/parser.c index d2b5b4c632..ec29689dd5 100644 --- a/tree-sitter-darklang/src/parser.c +++ b/tree-sitter-darklang/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 214 +#define STATE_COUNT 254 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 86 +#define SYMBOL_COUNT 98 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 49 +#define TOKEN_COUNT 61 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 23 #define MAX_ALIAS_SEQUENCE_LENGTH 7 @@ -29,79 +29,91 @@ enum { anon_sym_DQUOTE = 10, aux_sym_string_content_token1 = 11, sym_string_escape_sequence = 12, - anon_sym_PLUS = 13, - anon_sym_DASH = 14, - anon_sym_y = 15, - anon_sym_uy = 16, - anon_sym_s = 17, - anon_sym_us = 18, - anon_sym_l = 19, - anon_sym_ul = 20, - anon_sym_L = 21, - anon_sym_UL = 22, - anon_sym_Q = 23, - anon_sym_Z = 24, - sym_float_literal = 25, - sym_negative_digits = 26, - sym_positive_digits = 27, - aux_sym_builtin_type_token1 = 28, - aux_sym_builtin_type_token2 = 29, - aux_sym_builtin_type_token3 = 30, - aux_sym_builtin_type_token4 = 31, - aux_sym_builtin_type_token5 = 32, - aux_sym_builtin_type_token6 = 33, - aux_sym_builtin_type_token7 = 34, - aux_sym_builtin_type_token8 = 35, - aux_sym_builtin_type_token9 = 36, - aux_sym_builtin_type_token10 = 37, - aux_sym_builtin_type_token11 = 38, - aux_sym_builtin_type_token12 = 39, - aux_sym_builtin_type_token13 = 40, - aux_sym_builtin_type_token14 = 41, - aux_sym_builtin_type_token15 = 42, - aux_sym_builtin_type_token16 = 43, - aux_sym_builtin_type_token17 = 44, - anon_sym_DOT = 45, - aux_sym_variable_identifier_token1 = 46, - aux_sym_type_identifier_token1 = 47, - sym_unit = 48, - sym_source_file = 49, - sym_fn_decl = 50, - sym_fn_decl_params = 51, - sym_fn_decl_param = 52, - sym_type_decl = 53, - sym_expression = 54, - sym_paren_expression = 55, - sym_bool_literal = 56, - sym_function_call = 57, - sym_let_expression = 58, - sym_string_literal = 59, - sym_string_content = 60, - sym_infix_operation = 61, - sym_int8_literal = 62, - sym_uint8_literal = 63, - sym_int16_literal = 64, - sym_uint16_literal = 65, - sym_int32_literal = 66, - sym_uint32_literal = 67, - sym_int64_literal = 68, - sym_uint64_literal = 69, - sym_int128_literal = 70, - sym_uint128_literal = 71, - sym_digits = 72, - sym_type_reference = 73, - sym_builtin_type = 74, - sym_qualified_fn_name = 75, - sym_qualified_type_name = 76, - sym_variable_identifier = 77, - sym_fn_identifier = 78, - sym_type_identifier = 79, - sym_module_identifier = 80, - aux_sym_source_file_repeat1 = 81, - aux_sym_source_file_repeat2 = 82, - aux_sym_fn_decl_params_repeat1 = 83, - aux_sym_string_content_repeat1 = 84, - aux_sym_qualified_fn_name_repeat1 = 85, + anon_sym_CARET = 13, + anon_sym_STAR = 14, + anon_sym_SLASH = 15, + anon_sym_PERCENT = 16, + anon_sym_PLUS = 17, + anon_sym_DASH = 18, + anon_sym_EQ_EQ = 19, + anon_sym_BANG_EQ = 20, + anon_sym_LT = 21, + anon_sym_LT_EQ = 22, + anon_sym_GT = 23, + anon_sym_GT_EQ = 24, + anon_sym_AMP_AMP = 25, + anon_sym_PIPE_PIPE = 26, + anon_sym_y = 27, + anon_sym_uy = 28, + anon_sym_s = 29, + anon_sym_us = 30, + anon_sym_l = 31, + anon_sym_ul = 32, + anon_sym_L = 33, + anon_sym_UL = 34, + anon_sym_Q = 35, + anon_sym_Z = 36, + sym_float_literal = 37, + sym_negative_digits = 38, + sym_positive_digits = 39, + aux_sym_builtin_type_token1 = 40, + aux_sym_builtin_type_token2 = 41, + aux_sym_builtin_type_token3 = 42, + aux_sym_builtin_type_token4 = 43, + aux_sym_builtin_type_token5 = 44, + aux_sym_builtin_type_token6 = 45, + aux_sym_builtin_type_token7 = 46, + aux_sym_builtin_type_token8 = 47, + aux_sym_builtin_type_token9 = 48, + aux_sym_builtin_type_token10 = 49, + aux_sym_builtin_type_token11 = 50, + aux_sym_builtin_type_token12 = 51, + aux_sym_builtin_type_token13 = 52, + aux_sym_builtin_type_token14 = 53, + aux_sym_builtin_type_token15 = 54, + aux_sym_builtin_type_token16 = 55, + aux_sym_builtin_type_token17 = 56, + anon_sym_DOT = 57, + aux_sym_variable_identifier_token1 = 58, + aux_sym_type_identifier_token1 = 59, + sym_unit = 60, + sym_source_file = 61, + sym_fn_decl = 62, + sym_fn_decl_params = 63, + sym_fn_decl_param = 64, + sym_type_decl = 65, + sym_expression = 66, + sym_paren_expression = 67, + sym_bool_literal = 68, + sym_function_call = 69, + sym_let_expression = 70, + sym_string_literal = 71, + sym_string_content = 72, + sym_infix_operation = 73, + sym_int8_literal = 74, + sym_uint8_literal = 75, + sym_int16_literal = 76, + sym_uint16_literal = 77, + sym_int32_literal = 78, + sym_uint32_literal = 79, + sym_int64_literal = 80, + sym_uint64_literal = 81, + sym_int128_literal = 82, + sym_uint128_literal = 83, + sym_digits = 84, + sym_type_reference = 85, + sym_builtin_type = 86, + sym_qualified_fn_name = 87, + sym_qualified_type_name = 88, + sym_variable_identifier = 89, + sym_fn_identifier = 90, + sym_type_identifier = 91, + sym_module_identifier = 92, + aux_sym_source_file_repeat1 = 93, + aux_sym_source_file_repeat2 = 94, + aux_sym_fn_decl_params_repeat1 = 95, + aux_sym_string_content_repeat1 = 96, + aux_sym_qualified_fn_name_repeat1 = 97, }; static const char * const ts_symbol_names[] = { @@ -118,8 +130,20 @@ static const char * const ts_symbol_names[] = { [anon_sym_DQUOTE] = "symbol", [aux_sym_string_content_token1] = "string_content_token1", [sym_string_escape_sequence] = "string_escape_sequence", + [anon_sym_CARET] = "operator", + [anon_sym_STAR] = "operator", + [anon_sym_SLASH] = "operator", + [anon_sym_PERCENT] = "operator", [anon_sym_PLUS] = "operator", [anon_sym_DASH] = "operator", + [anon_sym_EQ_EQ] = "operator", + [anon_sym_BANG_EQ] = "operator", + [anon_sym_LT] = "operator", + [anon_sym_LT_EQ] = "operator", + [anon_sym_GT] = "operator", + [anon_sym_GT_EQ] = "operator", + [anon_sym_AMP_AMP] = "operator", + [anon_sym_PIPE_PIPE] = "operator", [anon_sym_y] = "symbol", [anon_sym_uy] = "symbol", [anon_sym_s] = "symbol", @@ -207,8 +231,20 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_DQUOTE] = anon_sym_COLON, [aux_sym_string_content_token1] = aux_sym_string_content_token1, [sym_string_escape_sequence] = sym_string_escape_sequence, - [anon_sym_PLUS] = anon_sym_PLUS, - [anon_sym_DASH] = anon_sym_PLUS, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_STAR] = anon_sym_CARET, + [anon_sym_SLASH] = anon_sym_CARET, + [anon_sym_PERCENT] = anon_sym_CARET, + [anon_sym_PLUS] = anon_sym_CARET, + [anon_sym_DASH] = anon_sym_CARET, + [anon_sym_EQ_EQ] = anon_sym_CARET, + [anon_sym_BANG_EQ] = anon_sym_CARET, + [anon_sym_LT] = anon_sym_CARET, + [anon_sym_LT_EQ] = anon_sym_CARET, + [anon_sym_GT] = anon_sym_CARET, + [anon_sym_GT_EQ] = anon_sym_CARET, + [anon_sym_AMP_AMP] = anon_sym_CARET, + [anon_sym_PIPE_PIPE] = anon_sym_CARET, [anon_sym_y] = anon_sym_COLON, [anon_sym_uy] = anon_sym_COLON, [anon_sym_s] = anon_sym_COLON, @@ -335,6 +371,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_CARET] = { + .visible = true, + .named = true, + }, + [anon_sym_STAR] = { + .visible = true, + .named = true, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = true, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = true, + }, [anon_sym_PLUS] = { .visible = true, .named = true, @@ -343,6 +395,38 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = true, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = true, + }, + [anon_sym_LT] = { + .visible = true, + .named = true, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = true, + }, + [anon_sym_GT] = { + .visible = true, + .named = true, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = true, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = true, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = true, + }, [anon_sym_y] = { .visible = true, .named = true, @@ -781,38 +865,38 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [23] = 23, [24] = 24, [25] = 22, - [26] = 26, - [27] = 23, + [26] = 23, + [27] = 27, [28] = 22, [29] = 22, - [30] = 26, - [31] = 22, - [32] = 26, + [30] = 30, + [31] = 31, + [32] = 32, [33] = 23, - [34] = 23, - [35] = 26, - [36] = 26, - [37] = 23, - [38] = 38, - [39] = 39, - [40] = 40, - [41] = 41, - [42] = 42, - [43] = 43, - [44] = 44, - [45] = 45, - [46] = 46, - [47] = 47, - [48] = 41, - [49] = 49, - [50] = 50, - [51] = 51, - [52] = 52, - [53] = 53, - [54] = 54, - [55] = 55, - [56] = 56, - [57] = 57, + [34] = 24, + [35] = 35, + [36] = 23, + [37] = 24, + [38] = 35, + [39] = 31, + [40] = 30, + [41] = 31, + [42] = 30, + [43] = 22, + [44] = 30, + [45] = 31, + [46] = 35, + [47] = 27, + [48] = 27, + [49] = 27, + [50] = 24, + [51] = 23, + [52] = 24, + [53] = 35, + [54] = 31, + [55] = 30, + [56] = 27, + [57] = 35, [58] = 58, [59] = 59, [60] = 60, @@ -820,155 +904,195 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [62] = 62, [63] = 63, [64] = 64, - [65] = 65, + [65] = 58, [66] = 66, [67] = 67, [68] = 68, - [69] = 62, - [70] = 50, - [71] = 63, - [72] = 50, - [73] = 45, - [74] = 49, - [75] = 54, - [76] = 64, - [77] = 53, - [78] = 52, - [79] = 44, - [80] = 67, - [81] = 57, + [69] = 69, + [70] = 70, + [71] = 71, + [72] = 72, + [73] = 73, + [74] = 74, + [75] = 75, + [76] = 76, + [77] = 77, + [78] = 78, + [79] = 79, + [80] = 80, + [81] = 81, [82] = 82, - [83] = 59, - [84] = 46, - [85] = 41, - [86] = 82, - [87] = 55, - [88] = 67, - [89] = 64, - [90] = 63, - [91] = 58, - [92] = 45, - [93] = 54, - [94] = 53, - [95] = 52, - [96] = 44, - [97] = 57, - [98] = 58, - [99] = 59, - [100] = 46, - [101] = 47, - [102] = 55, - [103] = 66, - [104] = 49, - [105] = 62, - [106] = 47, - [107] = 66, - [108] = 108, - [109] = 109, - [110] = 110, - [111] = 111, - [112] = 112, - [113] = 112, - [114] = 112, - [115] = 112, - [116] = 112, - [117] = 117, - [118] = 118, - [119] = 117, - [120] = 118, - [121] = 117, - [122] = 122, - [123] = 118, - [124] = 124, - [125] = 118, - [126] = 117, - [127] = 127, - [128] = 118, - [129] = 129, - [130] = 130, - [131] = 117, + [83] = 83, + [84] = 78, + [85] = 63, + [86] = 61, + [87] = 60, + [88] = 88, + [89] = 69, + [90] = 70, + [91] = 62, + [92] = 83, + [93] = 71, + [94] = 64, + [95] = 66, + [96] = 67, + [97] = 58, + [98] = 88, + [99] = 69, + [100] = 59, + [101] = 63, + [102] = 72, + [103] = 68, + [104] = 74, + [105] = 80, + [106] = 75, + [107] = 76, + [108] = 79, + [109] = 59, + [110] = 72, + [111] = 68, + [112] = 74, + [113] = 75, + [114] = 76, + [115] = 78, + [116] = 79, + [117] = 80, + [118] = 81, + [119] = 61, + [120] = 60, + [121] = 82, + [122] = 70, + [123] = 62, + [124] = 71, + [125] = 64, + [126] = 66, + [127] = 67, + [128] = 82, + [129] = 83, + [130] = 81, + [131] = 131, [132] = 132, [133] = 133, - [134] = 134, - [135] = 135, - [136] = 63, - [137] = 52, - [138] = 54, - [139] = 45, - [140] = 58, - [141] = 141, - [142] = 64, - [143] = 52, - [144] = 67, - [145] = 145, - [146] = 44, - [147] = 57, - [148] = 50, - [149] = 49, - [150] = 59, - [151] = 46, - [152] = 55, - [153] = 66, + [134] = 76, + [135] = 71, + [136] = 74, + [137] = 75, + [138] = 76, + [139] = 78, + [140] = 79, + [141] = 80, + [142] = 81, + [143] = 82, + [144] = 83, + [145] = 58, + [146] = 146, + [147] = 147, + [148] = 148, + [149] = 146, + [150] = 61, + [151] = 60, + [152] = 58, + [153] = 70, [154] = 62, - [155] = 47, - [156] = 41, - [157] = 49, - [158] = 50, - [159] = 159, - [160] = 41, - [161] = 47, - [162] = 67, - [163] = 141, - [164] = 164, - [165] = 64, - [166] = 63, - [167] = 58, - [168] = 45, - [169] = 164, - [170] = 62, - [171] = 66, - [172] = 141, - [173] = 54, - [174] = 53, - [175] = 53, - [176] = 164, - [177] = 55, - [178] = 44, - [179] = 141, - [180] = 57, - [181] = 59, - [182] = 46, - [183] = 164, - [184] = 141, - [185] = 164, - [186] = 186, - [187] = 187, - [188] = 186, - [189] = 186, - [190] = 190, - [191] = 191, - [192] = 186, + [155] = 71, + [156] = 64, + [157] = 66, + [158] = 67, + [159] = 148, + [160] = 146, + [161] = 148, + [162] = 69, + [163] = 59, + [164] = 63, + [165] = 72, + [166] = 68, + [167] = 74, + [168] = 75, + [169] = 146, + [170] = 78, + [171] = 79, + [172] = 80, + [173] = 81, + [174] = 82, + [175] = 148, + [176] = 83, + [177] = 72, + [178] = 146, + [179] = 63, + [180] = 59, + [181] = 148, + [182] = 61, + [183] = 60, + [184] = 70, + [185] = 69, + [186] = 62, + [187] = 68, + [188] = 64, + [189] = 189, + [190] = 67, + [191] = 66, + [192] = 192, [193] = 193, - [194] = 186, + [194] = 194, [195] = 195, [196] = 196, [197] = 197, [198] = 198, [199] = 199, - [200] = 197, - [201] = 201, - [202] = 202, - [203] = 203, - [204] = 204, - [205] = 197, - [206] = 199, - [207] = 197, - [208] = 199, - [209] = 199, - [210] = 199, - [211] = 211, + [200] = 200, + [201] = 198, + [202] = 198, + [203] = 198, + [204] = 198, + [205] = 205, + [206] = 206, + [207] = 207, + [208] = 208, + [209] = 209, + [210] = 208, + [211] = 205, [212] = 212, - [213] = 197, + [213] = 208, + [214] = 205, + [215] = 205, + [216] = 216, + [217] = 208, + [218] = 205, + [219] = 208, + [220] = 220, + [221] = 221, + [222] = 222, + [223] = 223, + [224] = 224, + [225] = 225, + [226] = 226, + [227] = 227, + [228] = 227, + [229] = 227, + [230] = 230, + [231] = 227, + [232] = 232, + [233] = 233, + [234] = 227, + [235] = 235, + [236] = 236, + [237] = 237, + [238] = 238, + [239] = 239, + [240] = 240, + [241] = 241, + [242] = 242, + [243] = 241, + [244] = 244, + [245] = 245, + [246] = 236, + [247] = 241, + [248] = 236, + [249] = 236, + [250] = 236, + [251] = 241, + [252] = 252, + [253] = 241, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -976,245 +1100,286 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(62); - if (lookahead == '"') ADVANCE(75); - if (lookahead == '(') ADVANCE(66); - if (lookahead == ')') ADVANCE(67); - if (lookahead == '+') ADVANCE(80); - if (lookahead == '-') ADVANCE(82); - if (lookahead == '.') ADVANCE(130); - if (lookahead == ':') ADVANCE(64); - if (lookahead == '=') ADVANCE(65); - if (lookahead == 'B') ADVANCE(42); - if (lookahead == 'C') ADVANCE(29); - if (lookahead == 'D') ADVANCE(19); - if (lookahead == 'F') ADVANCE(37); - if (lookahead == 'I') ADVANCE(40); - if (lookahead == 'L') ADVANCE(89); - if (lookahead == 'Q') ADVANCE(91); - if (lookahead == 'S') ADVANCE(50); - if (lookahead == 'U') ADVANCE(16); - if (lookahead == 'Z') ADVANCE(92); - if (lookahead == '\\') ADVANCE(57); - if (lookahead == 'f') ADVANCE(18); - if (lookahead == 'l') ADVANCE(87); - if (lookahead == 's') ADVANCE(85); - if (lookahead == 't') ADVANCE(46); - if (lookahead == 'u') ADVANCE(34); - if (lookahead == 'y') ADVANCE(83); + if (eof) ADVANCE(70); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '"') ADVANCE(84); + if (lookahead == '%') ADVANCE(91); + if (lookahead == '&') ADVANCE(5); + if (lookahead == '(') ADVANCE(75); + if (lookahead == ')') ADVANCE(76); + if (lookahead == '*') ADVANCE(89); + if (lookahead == '+') ADVANCE(93); + if (lookahead == '-') ADVANCE(95); + if (lookahead == '.') ADVANCE(151); + if (lookahead == '/') ADVANCE(90); + if (lookahead == ':') ADVANCE(72); + if (lookahead == '<') ADVANCE(98); + if (lookahead == '=') ADVANCE(74); + if (lookahead == '>') ADVANCE(100); + if (lookahead == 'B') ADVANCE(45); + if (lookahead == 'C') ADVANCE(32); + if (lookahead == 'D') ADVANCE(22); + if (lookahead == 'F') ADVANCE(40); + if (lookahead == 'I') ADVANCE(43); + if (lookahead == 'L') ADVANCE(110); + if (lookahead == 'Q') ADVANCE(112); + if (lookahead == 'S') ADVANCE(53); + if (lookahead == 'U') ADVANCE(19); + if (lookahead == 'Z') ADVANCE(113); + if (lookahead == '\\') ADVANCE(61); + if (lookahead == '^') ADVANCE(88); + if (lookahead == 'f') ADVANCE(21); + if (lookahead == 'l') ADVANCE(108); + if (lookahead == 's') ADVANCE(106); + if (lookahead == 't') ADVANCE(49); + if (lookahead == 'u') ADVANCE(37); + if (lookahead == 'y') ADVANCE(104); + if (lookahead == '|') ADVANCE(60); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(59) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(95); + lookahead == ' ') SKIP(65) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); case 1: - if (lookahead == '\n') SKIP(3) - if (lookahead == '"') ADVANCE(75); - if (lookahead == '\\') ADVANCE(57); + if (lookahead == '\n') ADVANCE(83); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '%') ADVANCE(91); + if (lookahead == '&') ADVANCE(5); + if (lookahead == '*') ADVANCE(89); + if (lookahead == '+') ADVANCE(92); + if (lookahead == '-') ADVANCE(94); + if (lookahead == '/') ADVANCE(90); + if (lookahead == '<') ADVANCE(98); + if (lookahead == '=') ADVANCE(18); + if (lookahead == '>') ADVANCE(100); + if (lookahead == '^') ADVANCE(88); + if (lookahead == '|') ADVANCE(60); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(76); - if (lookahead != 0) ADVANCE(77); + lookahead == ' ') SKIP(1) END_STATE(); case 2: - if (lookahead == '\n') ADVANCE(74); - if (lookahead == '+') ADVANCE(79); - if (lookahead == '-') ADVANCE(81); + if (lookahead == '\n') SKIP(4) + if (lookahead == '"') ADVANCE(84); + if (lookahead == '\\') ADVANCE(61); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(2) + lookahead == ' ') ADVANCE(85); + if (lookahead != 0) ADVANCE(86); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(75); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '%') ADVANCE(91); + if (lookahead == '&') ADVANCE(5); + if (lookahead == ')') ADVANCE(76); + if (lookahead == '*') ADVANCE(89); + if (lookahead == '+') ADVANCE(92); + if (lookahead == '-') ADVANCE(94); + if (lookahead == '/') ADVANCE(90); + if (lookahead == '<') ADVANCE(98); + if (lookahead == '=') ADVANCE(18); + if (lookahead == '>') ADVANCE(100); + if (lookahead == '^') ADVANCE(88); + if (lookahead == '|') ADVANCE(60); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(3) + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(206); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); case 4: - if (lookahead == ')') ADVANCE(67); - if (lookahead == '+') ADVANCE(79); - if (lookahead == '-') ADVANCE(81); + if (lookahead == '"') ADVANCE(84); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(4) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(185); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); END_STATE(); case 5: - if (lookahead == '.') ADVANCE(58); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); + if (lookahead == '&') ADVANCE(102); END_STATE(); case 6: - if (lookahead == '1') ADVANCE(8); - if (lookahead == '3') ADVANCE(9); - if (lookahead == '6') ADVANCE(12); - if (lookahead == '8') ADVANCE(100); + if (lookahead == '.') ADVANCE(64); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 7: - if (lookahead == '1') ADVANCE(11); + if (lookahead == '1') ADVANCE(9); if (lookahead == '3') ADVANCE(10); if (lookahead == '6') ADVANCE(13); - if (lookahead == '8') ADVANCE(102); + if (lookahead == '8') ADVANCE(121); END_STATE(); case 8: - if (lookahead == '2') ADVANCE(14); - if (lookahead == '6') ADVANCE(104); + if (lookahead == '1') ADVANCE(12); + if (lookahead == '3') ADVANCE(11); + if (lookahead == '6') ADVANCE(14); + if (lookahead == '8') ADVANCE(123); END_STATE(); case 9: - if (lookahead == '2') ADVANCE(108); + if (lookahead == '2') ADVANCE(15); + if (lookahead == '6') ADVANCE(125); END_STATE(); case 10: - if (lookahead == '2') ADVANCE(110); + if (lookahead == '2') ADVANCE(129); END_STATE(); case 11: - if (lookahead == '2') ADVANCE(15); - if (lookahead == '6') ADVANCE(106); + if (lookahead == '2') ADVANCE(131); END_STATE(); case 12: - if (lookahead == '4') ADVANCE(112); + if (lookahead == '2') ADVANCE(16); + if (lookahead == '6') ADVANCE(127); END_STATE(); case 13: - if (lookahead == '4') ADVANCE(114); + if (lookahead == '4') ADVANCE(133); END_STATE(); case 14: - if (lookahead == '8') ADVANCE(116); + if (lookahead == '4') ADVANCE(135); END_STATE(); case 15: - if (lookahead == '8') ADVANCE(118); + if (lookahead == '8') ADVANCE(137); END_STATE(); case 16: - if (lookahead == 'I') ADVANCE(41); - if (lookahead == 'L') ADVANCE(90); - if (lookahead == 'n') ADVANCE(33); - if (lookahead == 'u') ADVANCE(30); + if (lookahead == '8') ADVANCE(139); END_STATE(); case 17: - if (lookahead == 'T') ADVANCE(31); + if (lookahead == '=') ADVANCE(97); END_STATE(); case 18: - if (lookahead == 'a') ADVANCE(35); + if (lookahead == '=') ADVANCE(96); END_STATE(); case 19: - if (lookahead == 'a') ADVANCE(51); + if (lookahead == 'I') ADVANCE(44); + if (lookahead == 'L') ADVANCE(111); + if (lookahead == 'n') ADVANCE(36); + if (lookahead == 'u') ADVANCE(33); END_STATE(); case 20: - if (lookahead == 'a') ADVANCE(47); + if (lookahead == 'T') ADVANCE(34); END_STATE(); case 21: - if (lookahead == 'a') ADVANCE(54); + if (lookahead == 'a') ADVANCE(38); END_STATE(); case 22: - if (lookahead == 'd') ADVANCE(128); + if (lookahead == 'a') ADVANCE(54); END_STATE(); case 23: - if (lookahead == 'e') ADVANCE(17); + if (lookahead == 'a') ADVANCE(50); END_STATE(); case 24: - if (lookahead == 'e') ADVANCE(70); + if (lookahead == 'a') ADVANCE(57); END_STATE(); case 25: - if (lookahead == 'e') ADVANCE(68); + if (lookahead == 'd') ADVANCE(149); END_STATE(); case 26: - if (lookahead == 'e') ADVANCE(72); + if (lookahead == 'e') ADVANCE(20); END_STATE(); case 27: - if (lookahead == 'e') ADVANCE(126); + if (lookahead == 'e') ADVANCE(79); END_STATE(); case 28: - if (lookahead == 'g') ADVANCE(124); + if (lookahead == 'e') ADVANCE(77); END_STATE(); case 29: - if (lookahead == 'h') ADVANCE(20); + if (lookahead == 'e') ADVANCE(81); END_STATE(); case 30: - if (lookahead == 'i') ADVANCE(22); + if (lookahead == 'e') ADVANCE(147); END_STATE(); case 31: - if (lookahead == 'i') ADVANCE(38); + if (lookahead == 'g') ADVANCE(145); END_STATE(); case 32: - if (lookahead == 'i') ADVANCE(39); + if (lookahead == 'h') ADVANCE(23); END_STATE(); case 33: - if (lookahead == 'i') ADVANCE(53); + if (lookahead == 'i') ADVANCE(25); END_STATE(); case 34: - if (lookahead == 'l') ADVANCE(88); - if (lookahead == 's') ADVANCE(86); - if (lookahead == 'y') ADVANCE(84); + if (lookahead == 'i') ADVANCE(41); END_STATE(); case 35: - if (lookahead == 'l') ADVANCE(49); + if (lookahead == 'i') ADVANCE(42); END_STATE(); case 36: - if (lookahead == 'l') ADVANCE(98); + if (lookahead == 'i') ADVANCE(56); END_STATE(); case 37: - if (lookahead == 'l') ADVANCE(44); + if (lookahead == 'l') ADVANCE(109); + if (lookahead == 's') ADVANCE(107); + if (lookahead == 'y') ADVANCE(105); END_STATE(); case 38: - if (lookahead == 'm') ADVANCE(27); + if (lookahead == 'l') ADVANCE(52); END_STATE(); case 39: - if (lookahead == 'n') ADVANCE(28); + if (lookahead == 'l') ADVANCE(119); END_STATE(); case 40: - if (lookahead == 'n') ADVANCE(52); + if (lookahead == 'l') ADVANCE(47); END_STATE(); case 41: - if (lookahead == 'n') ADVANCE(55); + if (lookahead == 'm') ADVANCE(30); END_STATE(); case 42: - if (lookahead == 'o') ADVANCE(43); + if (lookahead == 'n') ADVANCE(31); END_STATE(); case 43: - if (lookahead == 'o') ADVANCE(36); + if (lookahead == 'n') ADVANCE(55); END_STATE(); case 44: - if (lookahead == 'o') ADVANCE(21); + if (lookahead == 'n') ADVANCE(58); END_STATE(); case 45: - if (lookahead == 'p') ADVANCE(25); + if (lookahead == 'o') ADVANCE(46); END_STATE(); case 46: - if (lookahead == 'r') ADVANCE(56); - if (lookahead == 'y') ADVANCE(45); + if (lookahead == 'o') ADVANCE(39); END_STATE(); case 47: - if (lookahead == 'r') ADVANCE(122); + if (lookahead == 'o') ADVANCE(24); END_STATE(); case 48: - if (lookahead == 'r') ADVANCE(32); + if (lookahead == 'p') ADVANCE(28); END_STATE(); case 49: - if (lookahead == 's') ADVANCE(26); + if (lookahead == 'r') ADVANCE(59); + if (lookahead == 'y') ADVANCE(48); END_STATE(); case 50: - if (lookahead == 't') ADVANCE(48); + if (lookahead == 'r') ADVANCE(143); END_STATE(); case 51: - if (lookahead == 't') ADVANCE(23); + if (lookahead == 'r') ADVANCE(35); END_STATE(); case 52: - if (lookahead == 't') ADVANCE(6); + if (lookahead == 's') ADVANCE(29); END_STATE(); case 53: - if (lookahead == 't') ADVANCE(96); + if (lookahead == 't') ADVANCE(51); END_STATE(); case 54: - if (lookahead == 't') ADVANCE(120); + if (lookahead == 't') ADVANCE(26); END_STATE(); case 55: if (lookahead == 't') ADVANCE(7); END_STATE(); case 56: - if (lookahead == 'u') ADVANCE(24); + if (lookahead == 't') ADVANCE(117); END_STATE(); case 57: + if (lookahead == 't') ADVANCE(141); + END_STATE(); + case 58: + if (lookahead == 't') ADVANCE(8); + END_STATE(); + case 59: + if (lookahead == 'u') ADVANCE(27); + END_STATE(); + case 60: + if (lookahead == '|') ADVANCE(103); + END_STATE(); + case 61: if (lookahead == '"' || lookahead == '/' || lookahead == '\\' || @@ -1223,851 +1388,970 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 'n' || lookahead == 'r' || lookahead == 't' || - lookahead == 'u') ADVANCE(78); + lookahead == 'u') ADVANCE(87); END_STATE(); - case 58: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); + case 62: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); - case 59: - if (eof) ADVANCE(62); - if (lookahead == '"') ADVANCE(75); - if (lookahead == '(') ADVANCE(66); - if (lookahead == ')') ADVANCE(67); - if (lookahead == '+') ADVANCE(80); - if (lookahead == '-') ADVANCE(82); - if (lookahead == '.') ADVANCE(130); - if (lookahead == ':') ADVANCE(64); - if (lookahead == '=') ADVANCE(65); - if (lookahead == 'B') ADVANCE(42); - if (lookahead == 'C') ADVANCE(29); - if (lookahead == 'D') ADVANCE(19); - if (lookahead == 'F') ADVANCE(37); - if (lookahead == 'I') ADVANCE(40); - if (lookahead == 'L') ADVANCE(89); - if (lookahead == 'Q') ADVANCE(91); - if (lookahead == 'S') ADVANCE(50); - if (lookahead == 'U') ADVANCE(16); - if (lookahead == 'Z') ADVANCE(92); - if (lookahead == 'f') ADVANCE(18); - if (lookahead == 'l') ADVANCE(87); - if (lookahead == 's') ADVANCE(85); - if (lookahead == 't') ADVANCE(46); - if (lookahead == 'u') ADVANCE(34); - if (lookahead == 'y') ADVANCE(83); + case 63: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); + END_STATE(); + case 64: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); + END_STATE(); + case 65: + if (eof) ADVANCE(70); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '"') ADVANCE(84); + if (lookahead == '%') ADVANCE(91); + if (lookahead == '&') ADVANCE(5); + if (lookahead == '(') ADVANCE(75); + if (lookahead == ')') ADVANCE(76); + if (lookahead == '*') ADVANCE(89); + if (lookahead == '+') ADVANCE(93); + if (lookahead == '-') ADVANCE(95); + if (lookahead == '.') ADVANCE(151); + if (lookahead == '/') ADVANCE(90); + if (lookahead == ':') ADVANCE(72); + if (lookahead == '<') ADVANCE(98); + if (lookahead == '=') ADVANCE(74); + if (lookahead == '>') ADVANCE(100); + if (lookahead == 'B') ADVANCE(45); + if (lookahead == 'C') ADVANCE(32); + if (lookahead == 'D') ADVANCE(22); + if (lookahead == 'F') ADVANCE(40); + if (lookahead == 'I') ADVANCE(43); + if (lookahead == 'L') ADVANCE(110); + if (lookahead == 'Q') ADVANCE(112); + if (lookahead == 'S') ADVANCE(53); + if (lookahead == 'U') ADVANCE(19); + if (lookahead == 'Z') ADVANCE(113); + if (lookahead == '^') ADVANCE(88); + if (lookahead == 'f') ADVANCE(21); + if (lookahead == 'l') ADVANCE(108); + if (lookahead == 's') ADVANCE(106); + if (lookahead == 't') ADVANCE(49); + if (lookahead == 'u') ADVANCE(37); + if (lookahead == 'y') ADVANCE(104); + if (lookahead == '|') ADVANCE(60); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(59) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(95); + lookahead == ' ') SKIP(65) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); - case 60: - if (eof) ADVANCE(62); - if (lookahead == '"') ADVANCE(75); - if (lookahead == '(') ADVANCE(66); - if (lookahead == ')') ADVANCE(67); - if (lookahead == '+') ADVANCE(80); - if (lookahead == '-') ADVANCE(82); - if (lookahead == '.') ADVANCE(130); - if (lookahead == '=') ADVANCE(65); - if (lookahead == 'B') ADVANCE(174); - if (lookahead == 'C') ADVANCE(163); - if (lookahead == 'D') ADVANCE(156); - if (lookahead == 'F') ADVANCE(169); - if (lookahead == 'I') ADVANCE(172); - if (lookahead == 'S') ADVANCE(179); - if (lookahead == 'U') ADVANCE(154); - if (lookahead == 'f') ADVANCE(131); - if (lookahead == 'l') ADVANCE(132); - if (lookahead == 't') ADVANCE(138); + case 66: + if (eof) ADVANCE(70); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '"') ADVANCE(84); + if (lookahead == '%') ADVANCE(91); + if (lookahead == '&') ADVANCE(5); + if (lookahead == '(') ADVANCE(75); + if (lookahead == ')') ADVANCE(76); + if (lookahead == '*') ADVANCE(89); + if (lookahead == '+') ADVANCE(93); + if (lookahead == '-') ADVANCE(95); + if (lookahead == '/') ADVANCE(90); + if (lookahead == ':') ADVANCE(72); + if (lookahead == '<') ADVANCE(98); + if (lookahead == '=') ADVANCE(74); + if (lookahead == '>') ADVANCE(100); + if (lookahead == '^') ADVANCE(88); + if (lookahead == 'f') ADVANCE(152); + if (lookahead == 'l') ADVANCE(153); + if (lookahead == 't') ADVANCE(160); + if (lookahead == '|') ADVANCE(60); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(60) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(95); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(185); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + lookahead == ' ') SKIP(66) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(206); END_STATE(); - case 61: - if (eof) ADVANCE(62); - if (lookahead == '"') ADVANCE(75); - if (lookahead == '(') ADVANCE(66); - if (lookahead == ')') ADVANCE(67); - if (lookahead == '+') ADVANCE(80); - if (lookahead == '-') ADVANCE(82); - if (lookahead == ':') ADVANCE(64); - if (lookahead == '=') ADVANCE(65); - if (lookahead == 'f') ADVANCE(131); - if (lookahead == 'l') ADVANCE(132); - if (lookahead == 't') ADVANCE(139); + case 67: + if (eof) ADVANCE(70); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '"') ADVANCE(84); + if (lookahead == '%') ADVANCE(91); + if (lookahead == '&') ADVANCE(5); + if (lookahead == '(') ADVANCE(75); + if (lookahead == ')') ADVANCE(76); + if (lookahead == '*') ADVANCE(89); + if (lookahead == '+') ADVANCE(93); + if (lookahead == '-') ADVANCE(95); + if (lookahead == '/') ADVANCE(90); + if (lookahead == '<') ADVANCE(98); + if (lookahead == '=') ADVANCE(18); + if (lookahead == '>') ADVANCE(100); + if (lookahead == '^') ADVANCE(88); + if (lookahead == 'f') ADVANCE(152); + if (lookahead == 'l') ADVANCE(153); + if (lookahead == 't') ADVANCE(160); + if (lookahead == '|') ADVANCE(60); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(61) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(95); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(185); + lookahead == ' ') SKIP(67) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 62: + case 68: + if (eof) ADVANCE(70); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '"') ADVANCE(84); + if (lookahead == '%') ADVANCE(91); + if (lookahead == '&') ADVANCE(5); + if (lookahead == '(') ADVANCE(75); + if (lookahead == '*') ADVANCE(89); + if (lookahead == '+') ADVANCE(93); + if (lookahead == '-') ADVANCE(95); + if (lookahead == '/') ADVANCE(90); + if (lookahead == '<') ADVANCE(98); + if (lookahead == '=') ADVANCE(18); + if (lookahead == '>') ADVANCE(100); + if (lookahead == 'B') ADVANCE(195); + if (lookahead == 'C') ADVANCE(184); + if (lookahead == 'D') ADVANCE(177); + if (lookahead == 'F') ADVANCE(190); + if (lookahead == 'I') ADVANCE(193); + if (lookahead == 'S') ADVANCE(200); + if (lookahead == 'U') ADVANCE(175); + if (lookahead == '^') ADVANCE(88); + if (lookahead == 'f') ADVANCE(152); + if (lookahead == 'l') ADVANCE(153); + if (lookahead == 't') ADVANCE(159); + if (lookahead == '|') ADVANCE(60); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(68) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(206); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + END_STATE(); + case 69: + if (eof) ADVANCE(70); + if (lookahead == '"') ADVANCE(84); + if (lookahead == '(') ADVANCE(75); + if (lookahead == ')') ADVANCE(76); + if (lookahead == '+') ADVANCE(62); + if (lookahead == '-') ADVANCE(63); + if (lookahead == '.') ADVANCE(151); + if (lookahead == '=') ADVANCE(73); + if (lookahead == 'f') ADVANCE(152); + if (lookahead == 'l') ADVANCE(153); + if (lookahead == 't') ADVANCE(159); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(69) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + END_STATE(); + case 70: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 63: + case 71: ACCEPT_TOKEN(anon_sym_let); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 64: + case 72: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 65: + case 73: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 66: + case 74: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(96); + END_STATE(); + case 75: ACCEPT_TOKEN(anon_sym_LPAREN); - if (lookahead == ')') ADVANCE(186); + if (lookahead == ')') ADVANCE(207); END_STATE(); - case 67: + case 76: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 68: + case 77: ACCEPT_TOKEN(anon_sym_type); END_STATE(); - case 69: + case 78: ACCEPT_TOKEN(anon_sym_type); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 70: + case 79: ACCEPT_TOKEN(aux_sym_bool_literal_token1); END_STATE(); - case 71: + case 80: ACCEPT_TOKEN(aux_sym_bool_literal_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 72: + case 81: ACCEPT_TOKEN(aux_sym_bool_literal_token2); END_STATE(); - case 73: + case 82: ACCEPT_TOKEN(aux_sym_bool_literal_token2); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 74: + case 83: ACCEPT_TOKEN(anon_sym_LF); - if (lookahead == '\n') ADVANCE(74); + if (lookahead == '\n') ADVANCE(83); END_STATE(); - case 75: + case 84: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 76: + case 85: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(76); + lookahead == ' ') ADVANCE(85); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(77); + lookahead != '\\') ADVANCE(86); END_STATE(); - case 77: + case 86: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(77); + lookahead != '\\') ADVANCE(86); END_STATE(); - case 78: + case 87: ACCEPT_TOKEN(sym_string_escape_sequence); END_STATE(); - case 79: + case 88: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 89: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 90: + ACCEPT_TOKEN(anon_sym_SLASH); + END_STATE(); + case 91: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 92: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 80: + case 93: ACCEPT_TOKEN(anon_sym_PLUS); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); - case 81: + case 94: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); - case 82: + case 95: ACCEPT_TOKEN(anon_sym_DASH); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(94); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); - case 83: + case 96: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 97: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 98: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '=') ADVANCE(99); + END_STATE(); + case 99: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 100: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(101); + END_STATE(); + case 101: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 102: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 103: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 104: ACCEPT_TOKEN(anon_sym_y); END_STATE(); - case 84: + case 105: ACCEPT_TOKEN(anon_sym_uy); END_STATE(); - case 85: + case 106: ACCEPT_TOKEN(anon_sym_s); END_STATE(); - case 86: + case 107: ACCEPT_TOKEN(anon_sym_us); END_STATE(); - case 87: + case 108: ACCEPT_TOKEN(anon_sym_l); END_STATE(); - case 88: + case 109: ACCEPT_TOKEN(anon_sym_ul); END_STATE(); - case 89: + case 110: ACCEPT_TOKEN(anon_sym_L); END_STATE(); - case 90: + case 111: ACCEPT_TOKEN(anon_sym_UL); END_STATE(); - case 91: + case 112: ACCEPT_TOKEN(anon_sym_Q); END_STATE(); - case 92: + case 113: ACCEPT_TOKEN(anon_sym_Z); END_STATE(); - case 93: + case 114: ACCEPT_TOKEN(sym_float_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); END_STATE(); - case 94: + case 115: ACCEPT_TOKEN(sym_negative_digits); - if (lookahead == '.') ADVANCE(58); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(94); + if (lookahead == '.') ADVANCE(64); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); - case 95: + case 116: ACCEPT_TOKEN(sym_positive_digits); - if (lookahead == '.') ADVANCE(58); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(95); + if (lookahead == '.') ADVANCE(64); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); - case 96: + case 117: ACCEPT_TOKEN(aux_sym_builtin_type_token1); END_STATE(); - case 97: + case 118: ACCEPT_TOKEN(aux_sym_builtin_type_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 98: + case 119: ACCEPT_TOKEN(aux_sym_builtin_type_token2); END_STATE(); - case 99: + case 120: ACCEPT_TOKEN(aux_sym_builtin_type_token2); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 100: + case 121: ACCEPT_TOKEN(aux_sym_builtin_type_token3); END_STATE(); - case 101: + case 122: ACCEPT_TOKEN(aux_sym_builtin_type_token3); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 102: + case 123: ACCEPT_TOKEN(aux_sym_builtin_type_token4); END_STATE(); - case 103: + case 124: ACCEPT_TOKEN(aux_sym_builtin_type_token4); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 104: + case 125: ACCEPT_TOKEN(aux_sym_builtin_type_token5); END_STATE(); - case 105: + case 126: ACCEPT_TOKEN(aux_sym_builtin_type_token5); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 106: + case 127: ACCEPT_TOKEN(aux_sym_builtin_type_token6); END_STATE(); - case 107: + case 128: ACCEPT_TOKEN(aux_sym_builtin_type_token6); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 108: + case 129: ACCEPT_TOKEN(aux_sym_builtin_type_token7); END_STATE(); - case 109: + case 130: ACCEPT_TOKEN(aux_sym_builtin_type_token7); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 110: + case 131: ACCEPT_TOKEN(aux_sym_builtin_type_token8); END_STATE(); - case 111: + case 132: ACCEPT_TOKEN(aux_sym_builtin_type_token8); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 112: + case 133: ACCEPT_TOKEN(aux_sym_builtin_type_token9); END_STATE(); - case 113: + case 134: ACCEPT_TOKEN(aux_sym_builtin_type_token9); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 114: + case 135: ACCEPT_TOKEN(aux_sym_builtin_type_token10); END_STATE(); - case 115: + case 136: ACCEPT_TOKEN(aux_sym_builtin_type_token10); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 116: + case 137: ACCEPT_TOKEN(aux_sym_builtin_type_token11); END_STATE(); - case 117: + case 138: ACCEPT_TOKEN(aux_sym_builtin_type_token11); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 118: + case 139: ACCEPT_TOKEN(aux_sym_builtin_type_token12); END_STATE(); - case 119: + case 140: ACCEPT_TOKEN(aux_sym_builtin_type_token12); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 120: + case 141: ACCEPT_TOKEN(aux_sym_builtin_type_token13); END_STATE(); - case 121: + case 142: ACCEPT_TOKEN(aux_sym_builtin_type_token13); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 122: + case 143: ACCEPT_TOKEN(aux_sym_builtin_type_token14); END_STATE(); - case 123: + case 144: ACCEPT_TOKEN(aux_sym_builtin_type_token14); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 124: + case 145: ACCEPT_TOKEN(aux_sym_builtin_type_token15); END_STATE(); - case 125: + case 146: ACCEPT_TOKEN(aux_sym_builtin_type_token15); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 126: + case 147: ACCEPT_TOKEN(aux_sym_builtin_type_token16); END_STATE(); - case 127: + case 148: ACCEPT_TOKEN(aux_sym_builtin_type_token16); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 128: + case 149: ACCEPT_TOKEN(aux_sym_builtin_type_token17); END_STATE(); - case 129: + case 150: ACCEPT_TOKEN(aux_sym_builtin_type_token17); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 130: + case 151: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 131: + case 152: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'a') ADVANCE(136); + if (lookahead == 'a') ADVANCE(157); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 132: + case 153: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'e') ADVANCE(141); + if (lookahead == 'e') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 133: + case 154: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'e') ADVANCE(71); + if (lookahead == 'e') ADVANCE(80); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 134: + case 155: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'e') ADVANCE(69); + if (lookahead == 'e') ADVANCE(78); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 135: + case 156: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'e') ADVANCE(73); + if (lookahead == 'e') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 136: + case 157: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'l') ADVANCE(140); + if (lookahead == 'l') ADVANCE(161); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 137: + case 158: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'p') ADVANCE(134); + if (lookahead == 'p') ADVANCE(155); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 138: + case 159: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'r') ADVANCE(142); - if (lookahead == 'y') ADVANCE(137); + if (lookahead == 'r') ADVANCE(163); + if (lookahead == 'y') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 139: + case 160: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'r') ADVANCE(142); + if (lookahead == 'r') ADVANCE(163); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 140: + case 161: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 's') ADVANCE(135); + if (lookahead == 's') ADVANCE(156); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 141: + case 162: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 't') ADVANCE(63); + if (lookahead == 't') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 142: + case 163: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'u') ADVANCE(133); + if (lookahead == 'u') ADVANCE(154); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 143: + case 164: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 144: + case 165: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '1') ADVANCE(146); - if (lookahead == '3') ADVANCE(147); - if (lookahead == '6') ADVANCE(150); - if (lookahead == '8') ADVANCE(101); + if (lookahead == '1') ADVANCE(167); + if (lookahead == '3') ADVANCE(168); + if (lookahead == '6') ADVANCE(171); + if (lookahead == '8') ADVANCE(122); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 145: + case 166: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '1') ADVANCE(149); - if (lookahead == '3') ADVANCE(148); - if (lookahead == '6') ADVANCE(151); - if (lookahead == '8') ADVANCE(103); + if (lookahead == '1') ADVANCE(170); + if (lookahead == '3') ADVANCE(169); + if (lookahead == '6') ADVANCE(172); + if (lookahead == '8') ADVANCE(124); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 146: + case 167: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '2') ADVANCE(152); - if (lookahead == '6') ADVANCE(105); + if (lookahead == '2') ADVANCE(173); + if (lookahead == '6') ADVANCE(126); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 147: + case 168: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '2') ADVANCE(109); + if (lookahead == '2') ADVANCE(130); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 148: + case 169: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '2') ADVANCE(111); + if (lookahead == '2') ADVANCE(132); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 149: + case 170: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '2') ADVANCE(153); - if (lookahead == '6') ADVANCE(107); + if (lookahead == '2') ADVANCE(174); + if (lookahead == '6') ADVANCE(128); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 150: + case 171: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '4') ADVANCE(113); + if (lookahead == '4') ADVANCE(134); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 151: + case 172: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '4') ADVANCE(115); + if (lookahead == '4') ADVANCE(136); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 152: + case 173: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '8') ADVANCE(117); + if (lookahead == '8') ADVANCE(138); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 153: + case 174: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '8') ADVANCE(119); + if (lookahead == '8') ADVANCE(140); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 154: + case 175: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'I') ADVANCE(173); - if (lookahead == 'n') ADVANCE(167); - if (lookahead == 'u') ADVANCE(164); + if (lookahead == 'I') ADVANCE(194); + if (lookahead == 'n') ADVANCE(188); + if (lookahead == 'u') ADVANCE(185); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 155: + case 176: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'T') ADVANCE(165); + if (lookahead == 'T') ADVANCE(186); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 156: + case 177: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'a') ADVANCE(180); + if (lookahead == 'a') ADVANCE(201); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 157: + case 178: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'a') ADVANCE(177); + if (lookahead == 'a') ADVANCE(198); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 158: + case 179: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'a') ADVANCE(183); + if (lookahead == 'a') ADVANCE(204); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 159: + case 180: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'd') ADVANCE(129); + if (lookahead == 'd') ADVANCE(150); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 160: + case 181: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'e') ADVANCE(155); + if (lookahead == 'e') ADVANCE(176); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 161: + case 182: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'e') ADVANCE(127); + if (lookahead == 'e') ADVANCE(148); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 162: + case 183: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'g') ADVANCE(125); + if (lookahead == 'g') ADVANCE(146); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 163: + case 184: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'h') ADVANCE(157); + if (lookahead == 'h') ADVANCE(178); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 164: + case 185: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'i') ADVANCE(159); + if (lookahead == 'i') ADVANCE(180); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 165: + case 186: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'i') ADVANCE(170); + if (lookahead == 'i') ADVANCE(191); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 166: + case 187: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'i') ADVANCE(171); + if (lookahead == 'i') ADVANCE(192); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 167: + case 188: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'i') ADVANCE(182); + if (lookahead == 'i') ADVANCE(203); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 168: + case 189: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'l') ADVANCE(99); + if (lookahead == 'l') ADVANCE(120); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 169: + case 190: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'l') ADVANCE(176); + if (lookahead == 'l') ADVANCE(197); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 170: + case 191: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'm') ADVANCE(161); + if (lookahead == 'm') ADVANCE(182); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 171: + case 192: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'n') ADVANCE(162); + if (lookahead == 'n') ADVANCE(183); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 172: + case 193: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'n') ADVANCE(181); + if (lookahead == 'n') ADVANCE(202); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 173: + case 194: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'n') ADVANCE(184); + if (lookahead == 'n') ADVANCE(205); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 174: + case 195: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'o') ADVANCE(175); + if (lookahead == 'o') ADVANCE(196); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 175: + case 196: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'o') ADVANCE(168); + if (lookahead == 'o') ADVANCE(189); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 176: + case 197: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'o') ADVANCE(158); + if (lookahead == 'o') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 177: + case 198: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'r') ADVANCE(123); + if (lookahead == 'r') ADVANCE(144); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 178: + case 199: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'r') ADVANCE(166); + if (lookahead == 'r') ADVANCE(187); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 179: + case 200: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(178); + if (lookahead == 't') ADVANCE(199); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 180: + case 201: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(160); + if (lookahead == 't') ADVANCE(181); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 181: + case 202: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(144); + if (lookahead == 't') ADVANCE(165); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 182: + case 203: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(97); + if (lookahead == 't') ADVANCE(118); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 183: + case 204: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(121); + if (lookahead == 't') ADVANCE(142); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 184: + case 205: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(145); + if (lookahead == 't') ADVANCE(166); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 185: + case 206: ACCEPT_TOKEN(aux_sym_type_identifier_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); END_STATE(); - case 186: + case 207: ACCEPT_TOKEN(sym_unit); END_STATE(); default: @@ -2077,206 +2361,206 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 60}, - [2] = {.lex_state = 60}, - [3] = {.lex_state = 61}, - [4] = {.lex_state = 61}, - [5] = {.lex_state = 61}, - [6] = {.lex_state = 61}, - [7] = {.lex_state = 61}, - [8] = {.lex_state = 61}, - [9] = {.lex_state = 61}, - [10] = {.lex_state = 61}, - [11] = {.lex_state = 61}, - [12] = {.lex_state = 61}, - [13] = {.lex_state = 61}, - [14] = {.lex_state = 61}, - [15] = {.lex_state = 61}, - [16] = {.lex_state = 61}, - [17] = {.lex_state = 61}, - [18] = {.lex_state = 61}, - [19] = {.lex_state = 61}, - [20] = {.lex_state = 61}, - [21] = {.lex_state = 61}, - [22] = {.lex_state = 61}, - [23] = {.lex_state = 61}, - [24] = {.lex_state = 61}, - [25] = {.lex_state = 61}, - [26] = {.lex_state = 61}, - [27] = {.lex_state = 61}, - [28] = {.lex_state = 61}, - [29] = {.lex_state = 61}, - [30] = {.lex_state = 61}, - [31] = {.lex_state = 61}, - [32] = {.lex_state = 61}, - [33] = {.lex_state = 61}, - [34] = {.lex_state = 61}, - [35] = {.lex_state = 61}, - [36] = {.lex_state = 61}, - [37] = {.lex_state = 61}, - [38] = {.lex_state = 60}, - [39] = {.lex_state = 60}, - [40] = {.lex_state = 60}, - [41] = {.lex_state = 61}, - [42] = {.lex_state = 60}, - [43] = {.lex_state = 60}, - [44] = {.lex_state = 60}, - [45] = {.lex_state = 60}, - [46] = {.lex_state = 60}, - [47] = {.lex_state = 60}, - [48] = {.lex_state = 60}, - [49] = {.lex_state = 60}, - [50] = {.lex_state = 60}, - [51] = {.lex_state = 60}, - [52] = {.lex_state = 60}, - [53] = {.lex_state = 60}, - [54] = {.lex_state = 60}, - [55] = {.lex_state = 60}, - [56] = {.lex_state = 61}, - [57] = {.lex_state = 60}, - [58] = {.lex_state = 60}, - [59] = {.lex_state = 60}, - [60] = {.lex_state = 60}, - [61] = {.lex_state = 60}, - [62] = {.lex_state = 60}, - [63] = {.lex_state = 60}, - [64] = {.lex_state = 60}, - [65] = {.lex_state = 60}, - [66] = {.lex_state = 60}, - [67] = {.lex_state = 60}, - [68] = {.lex_state = 60}, - [69] = {.lex_state = 61}, - [70] = {.lex_state = 61}, - [71] = {.lex_state = 61}, - [72] = {.lex_state = 61}, - [73] = {.lex_state = 61}, - [74] = {.lex_state = 61}, - [75] = {.lex_state = 61}, - [76] = {.lex_state = 61}, - [77] = {.lex_state = 61}, - [78] = {.lex_state = 61}, - [79] = {.lex_state = 61}, - [80] = {.lex_state = 61}, - [81] = {.lex_state = 61}, - [82] = {.lex_state = 61}, - [83] = {.lex_state = 61}, - [84] = {.lex_state = 61}, - [85] = {.lex_state = 61}, - [86] = {.lex_state = 61}, - [87] = {.lex_state = 61}, - [88] = {.lex_state = 61}, - [89] = {.lex_state = 61}, - [90] = {.lex_state = 61}, - [91] = {.lex_state = 61}, - [92] = {.lex_state = 61}, - [93] = {.lex_state = 61}, - [94] = {.lex_state = 61}, - [95] = {.lex_state = 61}, - [96] = {.lex_state = 61}, - [97] = {.lex_state = 61}, - [98] = {.lex_state = 61}, - [99] = {.lex_state = 61}, - [100] = {.lex_state = 61}, - [101] = {.lex_state = 61}, - [102] = {.lex_state = 61}, - [103] = {.lex_state = 61}, - [104] = {.lex_state = 61}, - [105] = {.lex_state = 61}, - [106] = {.lex_state = 61}, - [107] = {.lex_state = 61}, - [108] = {.lex_state = 60}, - [109] = {.lex_state = 61}, - [110] = {.lex_state = 61}, - [111] = {.lex_state = 61}, - [112] = {.lex_state = 0}, - [113] = {.lex_state = 0}, - [114] = {.lex_state = 0}, - [115] = {.lex_state = 0}, - [116] = {.lex_state = 0}, - [117] = {.lex_state = 1}, - [118] = {.lex_state = 0}, - [119] = {.lex_state = 1}, - [120] = {.lex_state = 0}, - [121] = {.lex_state = 1}, - [122] = {.lex_state = 4}, - [123] = {.lex_state = 0}, - [124] = {.lex_state = 0}, - [125] = {.lex_state = 0}, - [126] = {.lex_state = 1}, - [127] = {.lex_state = 0}, - [128] = {.lex_state = 0}, - [129] = {.lex_state = 0}, - [130] = {.lex_state = 0}, - [131] = {.lex_state = 1}, - [132] = {.lex_state = 4}, - [133] = {.lex_state = 61}, + [1] = {.lex_state = 68}, + [2] = {.lex_state = 68}, + [3] = {.lex_state = 66}, + [4] = {.lex_state = 66}, + [5] = {.lex_state = 66}, + [6] = {.lex_state = 66}, + [7] = {.lex_state = 66}, + [8] = {.lex_state = 66}, + [9] = {.lex_state = 66}, + [10] = {.lex_state = 66}, + [11] = {.lex_state = 66}, + [12] = {.lex_state = 66}, + [13] = {.lex_state = 66}, + [14] = {.lex_state = 66}, + [15] = {.lex_state = 66}, + [16] = {.lex_state = 66}, + [17] = {.lex_state = 66}, + [18] = {.lex_state = 66}, + [19] = {.lex_state = 66}, + [20] = {.lex_state = 66}, + [21] = {.lex_state = 66}, + [22] = {.lex_state = 66}, + [23] = {.lex_state = 66}, + [24] = {.lex_state = 66}, + [25] = {.lex_state = 66}, + [26] = {.lex_state = 66}, + [27] = {.lex_state = 66}, + [28] = {.lex_state = 66}, + [29] = {.lex_state = 66}, + [30] = {.lex_state = 66}, + [31] = {.lex_state = 66}, + [32] = {.lex_state = 66}, + [33] = {.lex_state = 66}, + [34] = {.lex_state = 66}, + [35] = {.lex_state = 66}, + [36] = {.lex_state = 66}, + [37] = {.lex_state = 66}, + [38] = {.lex_state = 66}, + [39] = {.lex_state = 66}, + [40] = {.lex_state = 66}, + [41] = {.lex_state = 66}, + [42] = {.lex_state = 66}, + [43] = {.lex_state = 66}, + [44] = {.lex_state = 66}, + [45] = {.lex_state = 66}, + [46] = {.lex_state = 66}, + [47] = {.lex_state = 66}, + [48] = {.lex_state = 66}, + [49] = {.lex_state = 66}, + [50] = {.lex_state = 66}, + [51] = {.lex_state = 66}, + [52] = {.lex_state = 66}, + [53] = {.lex_state = 66}, + [54] = {.lex_state = 66}, + [55] = {.lex_state = 66}, + [56] = {.lex_state = 66}, + [57] = {.lex_state = 66}, + [58] = {.lex_state = 66}, + [59] = {.lex_state = 68}, + [60] = {.lex_state = 68}, + [61] = {.lex_state = 68}, + [62] = {.lex_state = 68}, + [63] = {.lex_state = 68}, + [64] = {.lex_state = 68}, + [65] = {.lex_state = 68}, + [66] = {.lex_state = 68}, + [67] = {.lex_state = 68}, + [68] = {.lex_state = 68}, + [69] = {.lex_state = 68}, + [70] = {.lex_state = 68}, + [71] = {.lex_state = 68}, + [72] = {.lex_state = 68}, + [73] = {.lex_state = 66}, + [74] = {.lex_state = 68}, + [75] = {.lex_state = 68}, + [76] = {.lex_state = 68}, + [77] = {.lex_state = 68}, + [78] = {.lex_state = 68}, + [79] = {.lex_state = 68}, + [80] = {.lex_state = 68}, + [81] = {.lex_state = 68}, + [82] = {.lex_state = 68}, + [83] = {.lex_state = 68}, + [84] = {.lex_state = 67}, + [85] = {.lex_state = 67}, + [86] = {.lex_state = 67}, + [87] = {.lex_state = 67}, + [88] = {.lex_state = 67}, + [89] = {.lex_state = 67}, + [90] = {.lex_state = 67}, + [91] = {.lex_state = 67}, + [92] = {.lex_state = 67}, + [93] = {.lex_state = 67}, + [94] = {.lex_state = 67}, + [95] = {.lex_state = 67}, + [96] = {.lex_state = 67}, + [97] = {.lex_state = 67}, + [98] = {.lex_state = 67}, + [99] = {.lex_state = 67}, + [100] = {.lex_state = 67}, + [101] = {.lex_state = 67}, + [102] = {.lex_state = 67}, + [103] = {.lex_state = 67}, + [104] = {.lex_state = 67}, + [105] = {.lex_state = 67}, + [106] = {.lex_state = 67}, + [107] = {.lex_state = 67}, + [108] = {.lex_state = 67}, + [109] = {.lex_state = 67}, + [110] = {.lex_state = 67}, + [111] = {.lex_state = 67}, + [112] = {.lex_state = 67}, + [113] = {.lex_state = 67}, + [114] = {.lex_state = 67}, + [115] = {.lex_state = 67}, + [116] = {.lex_state = 67}, + [117] = {.lex_state = 67}, + [118] = {.lex_state = 67}, + [119] = {.lex_state = 67}, + [120] = {.lex_state = 67}, + [121] = {.lex_state = 67}, + [122] = {.lex_state = 67}, + [123] = {.lex_state = 67}, + [124] = {.lex_state = 67}, + [125] = {.lex_state = 67}, + [126] = {.lex_state = 67}, + [127] = {.lex_state = 67}, + [128] = {.lex_state = 67}, + [129] = {.lex_state = 67}, + [130] = {.lex_state = 67}, + [131] = {.lex_state = 68}, + [132] = {.lex_state = 68}, + [133] = {.lex_state = 68}, [134] = {.lex_state = 1}, - [135] = {.lex_state = 1}, - [136] = {.lex_state = 2}, - [137] = {.lex_state = 4}, - [138] = {.lex_state = 2}, - [139] = {.lex_state = 2}, - [140] = {.lex_state = 2}, - [141] = {.lex_state = 2}, - [142] = {.lex_state = 2}, - [143] = {.lex_state = 2}, - [144] = {.lex_state = 2}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 2}, - [147] = {.lex_state = 2}, - [148] = {.lex_state = 4}, - [149] = {.lex_state = 4}, - [150] = {.lex_state = 2}, - [151] = {.lex_state = 2}, - [152] = {.lex_state = 2}, - [153] = {.lex_state = 2}, - [154] = {.lex_state = 2}, - [155] = {.lex_state = 2}, - [156] = {.lex_state = 4}, - [157] = {.lex_state = 2}, - [158] = {.lex_state = 2}, - [159] = {.lex_state = 4}, - [160] = {.lex_state = 2}, - [161] = {.lex_state = 4}, - [162] = {.lex_state = 4}, - [163] = {.lex_state = 2}, - [164] = {.lex_state = 4}, - [165] = {.lex_state = 4}, - [166] = {.lex_state = 4}, - [167] = {.lex_state = 4}, - [168] = {.lex_state = 4}, - [169] = {.lex_state = 4}, - [170] = {.lex_state = 4}, - [171] = {.lex_state = 4}, - [172] = {.lex_state = 2}, - [173] = {.lex_state = 4}, - [174] = {.lex_state = 4}, - [175] = {.lex_state = 2}, - [176] = {.lex_state = 4}, - [177] = {.lex_state = 4}, - [178] = {.lex_state = 4}, - [179] = {.lex_state = 2}, - [180] = {.lex_state = 4}, - [181] = {.lex_state = 4}, - [182] = {.lex_state = 4}, - [183] = {.lex_state = 4}, - [184] = {.lex_state = 2}, - [185] = {.lex_state = 4}, - [186] = {.lex_state = 4}, - [187] = {.lex_state = 4}, - [188] = {.lex_state = 4}, - [189] = {.lex_state = 4}, - [190] = {.lex_state = 61}, - [191] = {.lex_state = 4}, - [192] = {.lex_state = 4}, - [193] = {.lex_state = 4}, - [194] = {.lex_state = 4}, - [195] = {.lex_state = 0}, - [196] = {.lex_state = 0}, - [197] = {.lex_state = 0}, + [135] = {.lex_state = 3}, + [136] = {.lex_state = 3}, + [137] = {.lex_state = 3}, + [138] = {.lex_state = 3}, + [139] = {.lex_state = 3}, + [140] = {.lex_state = 3}, + [141] = {.lex_state = 3}, + [142] = {.lex_state = 3}, + [143] = {.lex_state = 3}, + [144] = {.lex_state = 3}, + [145] = {.lex_state = 1}, + [146] = {.lex_state = 1}, + [147] = {.lex_state = 69}, + [148] = {.lex_state = 3}, + [149] = {.lex_state = 1}, + [150] = {.lex_state = 1}, + [151] = {.lex_state = 1}, + [152] = {.lex_state = 3}, + [153] = {.lex_state = 1}, + [154] = {.lex_state = 1}, + [155] = {.lex_state = 1}, + [156] = {.lex_state = 1}, + [157] = {.lex_state = 1}, + [158] = {.lex_state = 1}, + [159] = {.lex_state = 3}, + [160] = {.lex_state = 1}, + [161] = {.lex_state = 3}, + [162] = {.lex_state = 1}, + [163] = {.lex_state = 1}, + [164] = {.lex_state = 1}, + [165] = {.lex_state = 1}, + [166] = {.lex_state = 1}, + [167] = {.lex_state = 1}, + [168] = {.lex_state = 1}, + [169] = {.lex_state = 1}, + [170] = {.lex_state = 1}, + [171] = {.lex_state = 1}, + [172] = {.lex_state = 1}, + [173] = {.lex_state = 1}, + [174] = {.lex_state = 1}, + [175] = {.lex_state = 3}, + [176] = {.lex_state = 1}, + [177] = {.lex_state = 3}, + [178] = {.lex_state = 1}, + [179] = {.lex_state = 3}, + [180] = {.lex_state = 3}, + [181] = {.lex_state = 3}, + [182] = {.lex_state = 3}, + [183] = {.lex_state = 3}, + [184] = {.lex_state = 3}, + [185] = {.lex_state = 3}, + [186] = {.lex_state = 3}, + [187] = {.lex_state = 3}, + [188] = {.lex_state = 3}, + [189] = {.lex_state = 68}, + [190] = {.lex_state = 3}, + [191] = {.lex_state = 3}, + [192] = {.lex_state = 69}, + [193] = {.lex_state = 69}, + [194] = {.lex_state = 69}, + [195] = {.lex_state = 69}, + [196] = {.lex_state = 68}, + [197] = {.lex_state = 66}, [198] = {.lex_state = 0}, - [199] = {.lex_state = 0}, - [200] = {.lex_state = 0}, + [199] = {.lex_state = 66}, + [200] = {.lex_state = 66}, [201] = {.lex_state = 0}, [202] = {.lex_state = 0}, [203] = {.lex_state = 0}, @@ -2284,12 +2568,52 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [205] = {.lex_state = 0}, [206] = {.lex_state = 0}, [207] = {.lex_state = 0}, - [208] = {.lex_state = 0}, - [209] = {.lex_state = 0}, - [210] = {.lex_state = 0}, + [208] = {.lex_state = 2}, + [209] = {.lex_state = 3}, + [210] = {.lex_state = 2}, [211] = {.lex_state = 0}, [212] = {.lex_state = 0}, - [213] = {.lex_state = 0}, + [213] = {.lex_state = 2}, + [214] = {.lex_state = 0}, + [215] = {.lex_state = 0}, + [216] = {.lex_state = 0}, + [217] = {.lex_state = 2}, + [218] = {.lex_state = 0}, + [219] = {.lex_state = 2}, + [220] = {.lex_state = 3}, + [221] = {.lex_state = 66}, + [222] = {.lex_state = 2}, + [223] = {.lex_state = 2}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 3}, + [226] = {.lex_state = 3}, + [227] = {.lex_state = 3}, + [228] = {.lex_state = 3}, + [229] = {.lex_state = 3}, + [230] = {.lex_state = 3}, + [231] = {.lex_state = 3}, + [232] = {.lex_state = 66}, + [233] = {.lex_state = 3}, + [234] = {.lex_state = 3}, + [235] = {.lex_state = 0}, + [236] = {.lex_state = 69}, + [237] = {.lex_state = 0}, + [238] = {.lex_state = 69}, + [239] = {.lex_state = 0}, + [240] = {.lex_state = 69}, + [241] = {.lex_state = 0}, + [242] = {.lex_state = 0}, + [243] = {.lex_state = 0}, + [244] = {.lex_state = 69}, + [245] = {.lex_state = 0}, + [246] = {.lex_state = 69}, + [247] = {.lex_state = 0}, + [248] = {.lex_state = 69}, + [249] = {.lex_state = 69}, + [250] = {.lex_state = 69}, + [251] = {.lex_state = 0}, + [252] = {.lex_state = 0}, + [253] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2304,8 +2628,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_bool_literal_token2] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), [sym_string_escape_sequence] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), [anon_sym_y] = ACTIONS(1), [anon_sym_uy] = ACTIONS(1), [anon_sym_s] = ACTIONS(1), @@ -2340,28 +2676,28 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_unit] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(198), + [sym_source_file] = STATE(235), [sym_fn_decl] = STATE(2), [sym_type_decl] = STATE(2), - [sym_expression] = STATE(82), - [sym_paren_expression] = STATE(74), - [sym_bool_literal] = STATE(74), - [sym_function_call] = STATE(74), - [sym_let_expression] = STATE(74), - [sym_string_literal] = STATE(74), - [sym_infix_operation] = STATE(74), - [sym_int8_literal] = STATE(74), - [sym_uint8_literal] = STATE(74), - [sym_int16_literal] = STATE(74), - [sym_uint16_literal] = STATE(74), - [sym_int32_literal] = STATE(74), - [sym_uint32_literal] = STATE(74), - [sym_int64_literal] = STATE(74), - [sym_uint64_literal] = STATE(74), - [sym_int128_literal] = STATE(74), - [sym_uint128_literal] = STATE(74), - [sym_digits] = STATE(125), - [sym_variable_identifier] = STATE(74), + [sym_expression] = STATE(88), + [sym_paren_expression] = STATE(87), + [sym_bool_literal] = STATE(87), + [sym_function_call] = STATE(87), + [sym_let_expression] = STATE(87), + [sym_string_literal] = STATE(87), + [sym_infix_operation] = STATE(87), + [sym_int8_literal] = STATE(87), + [sym_uint8_literal] = STATE(87), + [sym_int16_literal] = STATE(87), + [sym_uint16_literal] = STATE(87), + [sym_int32_literal] = STATE(87), + [sym_uint32_literal] = STATE(87), + [sym_int64_literal] = STATE(87), + [sym_uint64_literal] = STATE(87), + [sym_int128_literal] = STATE(87), + [sym_uint128_literal] = STATE(87), + [sym_digits] = STATE(215), + [sym_variable_identifier] = STATE(87), [aux_sym_source_file_repeat1] = STATE(2), [aux_sym_source_file_repeat2] = STATE(12), [ts_builtin_sym_end] = ACTIONS(3), @@ -2399,9 +2735,9 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, STATE(11), 1, aux_sym_source_file_repeat2, - STATE(82), 1, + STATE(88), 1, sym_expression, - STATE(125), 1, + STATE(215), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, @@ -2409,11 +2745,11 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, sym_float_literal, sym_unit, - STATE(43), 3, + STATE(189), 3, sym_fn_decl, sym_type_decl, aux_sym_source_file_repeat1, - STATE(74), 17, + STATE(87), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2448,15 +2784,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_type_identifier_token1, STATE(19), 1, sym_qualified_fn_name, - STATE(109), 1, + STATE(161), 1, + sym_expression, + STATE(197), 1, sym_fn_identifier, - STATE(122), 1, + STATE(209), 1, aux_sym_qualified_fn_name_repeat1, - STATE(128), 1, + STATE(211), 1, sym_digits, - STATE(183), 1, - sym_expression, - STATE(204), 1, + STATE(242), 1, sym_module_identifier, ACTIONS(29), 2, aux_sym_bool_literal_token1, @@ -2464,7 +2800,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(149), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2499,15 +2835,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_type_identifier_token1, STATE(20), 1, sym_qualified_fn_name, - STATE(109), 1, + STATE(181), 1, + sym_expression, + STATE(197), 1, sym_fn_identifier, - STATE(122), 1, + STATE(209), 1, aux_sym_qualified_fn_name_repeat1, - STATE(128), 1, + STATE(211), 1, sym_digits, - STATE(169), 1, - sym_expression, - STATE(204), 1, + STATE(242), 1, sym_module_identifier, ACTIONS(29), 2, aux_sym_bool_literal_token1, @@ -2515,7 +2851,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(149), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2550,15 +2886,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_type_identifier_token1, STATE(17), 1, sym_qualified_fn_name, - STATE(109), 1, + STATE(159), 1, + sym_expression, + STATE(197), 1, sym_fn_identifier, - STATE(122), 1, + STATE(209), 1, aux_sym_qualified_fn_name_repeat1, - STATE(128), 1, + STATE(211), 1, sym_digits, - STATE(185), 1, - sym_expression, - STATE(204), 1, + STATE(242), 1, sym_module_identifier, ACTIONS(29), 2, aux_sym_bool_literal_token1, @@ -2566,7 +2902,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(149), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2601,15 +2937,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_type_identifier_token1, STATE(21), 1, sym_qualified_fn_name, - STATE(109), 1, + STATE(148), 1, + sym_expression, + STATE(197), 1, sym_fn_identifier, - STATE(122), 1, + STATE(209), 1, aux_sym_qualified_fn_name_repeat1, - STATE(128), 1, + STATE(211), 1, sym_digits, - STATE(164), 1, - sym_expression, - STATE(204), 1, + STATE(242), 1, sym_module_identifier, ACTIONS(29), 2, aux_sym_bool_literal_token1, @@ -2617,7 +2953,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(149), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2652,15 +2988,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_type_identifier_token1, STATE(18), 1, sym_qualified_fn_name, - STATE(109), 1, + STATE(175), 1, + sym_expression, + STATE(197), 1, sym_fn_identifier, - STATE(122), 1, + STATE(209), 1, aux_sym_qualified_fn_name_repeat1, - STATE(128), 1, + STATE(211), 1, sym_digits, - STATE(176), 1, - sym_expression, - STATE(204), 1, + STATE(242), 1, sym_module_identifier, ACTIONS(29), 2, aux_sym_bool_literal_token1, @@ -2668,7 +3004,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(149), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2703,9 +3039,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, STATE(8), 1, aux_sym_source_file_repeat2, - STATE(82), 1, + STATE(88), 1, sym_expression, - STATE(125), 1, + STATE(215), 1, sym_digits, ACTIONS(49), 2, aux_sym_bool_literal_token1, @@ -2713,7 +3049,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(55), 2, sym_float_literal, sym_unit, - STATE(74), 17, + STATE(87), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2748,9 +3084,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, STATE(10), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -2758,7 +3094,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2793,9 +3129,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, STATE(10), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(89), 2, aux_sym_bool_literal_token1, @@ -2803,7 +3139,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(95), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2838,9 +3174,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, STATE(8), 1, aux_sym_source_file_repeat2, - STATE(82), 1, + STATE(88), 1, sym_expression, - STATE(125), 1, + STATE(215), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, @@ -2848,7 +3184,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, sym_float_literal, sym_unit, - STATE(74), 17, + STATE(87), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2883,9 +3219,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, STATE(8), 1, aux_sym_source_file_repeat2, - STATE(82), 1, + STATE(88), 1, sym_expression, - STATE(125), 1, + STATE(215), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, @@ -2893,7 +3229,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, sym_float_literal, sym_unit, - STATE(74), 17, + STATE(87), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2928,9 +3264,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(10), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -2938,7 +3274,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -2973,9 +3309,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(10), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -2983,7 +3319,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3018,9 +3354,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(10), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -3028,7 +3364,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3063,9 +3399,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(10), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -3073,7 +3409,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3106,9 +3442,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, STATE(9), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -3116,7 +3452,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3149,9 +3485,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, STATE(16), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -3159,7 +3495,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3192,9 +3528,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, STATE(15), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -3202,7 +3538,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3235,9 +3571,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, STATE(13), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -3245,7 +3581,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3278,9 +3614,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, STATE(14), 1, aux_sym_source_file_repeat2, - STATE(86), 1, + STATE(98), 1, sym_expression, - STATE(118), 1, + STATE(214), 1, sym_digits, ACTIONS(73), 2, aux_sym_bool_literal_token1, @@ -3288,7 +3624,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3319,17 +3655,17 @@ static const uint16_t ts_small_parse_table[] = { sym_positive_digits, ACTIONS(128), 1, aux_sym_variable_identifier_token1, - STATE(120), 1, - sym_digits, - STATE(144), 1, + STATE(176), 1, sym_expression, + STATE(205), 1, + sym_digits, ACTIONS(120), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, ACTIONS(124), 2, sym_float_literal, sym_unit, - STATE(157), 17, + STATE(151), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3360,17 +3696,17 @@ static const uint16_t ts_small_parse_table[] = { sym_positive_digits, ACTIONS(128), 1, aux_sym_variable_identifier_token1, - STATE(120), 1, - sym_digits, - STATE(179), 1, + STATE(134), 1, sym_expression, + STATE(205), 1, + sym_digits, ACTIONS(120), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, ACTIONS(124), 2, sym_float_literal, sym_unit, - STATE(157), 17, + STATE(151), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3391,27 +3727,27 @@ static const uint16_t ts_small_parse_table[] = { [1302] = 11, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(130), 1, + ACTIONS(25), 1, anon_sym_let, - ACTIONS(132), 1, + ACTIONS(27), 1, anon_sym_LPAREN, - ACTIONS(136), 1, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(140), 1, + ACTIONS(35), 1, sym_positive_digits, - ACTIONS(142), 1, + ACTIONS(130), 1, aux_sym_variable_identifier_token1, - STATE(60), 1, + STATE(139), 1, sym_expression, - STATE(123), 1, + STATE(211), 1, sym_digits, - ACTIONS(134), 2, + ACTIONS(29), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(138), 2, + ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(49), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3432,27 +3768,27 @@ static const uint16_t ts_small_parse_table[] = { [1354] = 11, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(130), 1, - anon_sym_let, ACTIONS(132), 1, + anon_sym_let, + ACTIONS(134), 1, anon_sym_LPAREN, - ACTIONS(136), 1, + ACTIONS(138), 1, anon_sym_DQUOTE, - ACTIONS(140), 1, - sym_positive_digits, ACTIONS(142), 1, + sym_positive_digits, + ACTIONS(144), 1, aux_sym_variable_identifier_token1, - STATE(67), 1, + STATE(83), 1, sym_expression, - STATE(123), 1, + STATE(218), 1, sym_digits, - ACTIONS(134), 2, + ACTIONS(136), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(138), 2, + ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(49), 17, + STATE(60), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3481,19 +3817,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(35), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(130), 1, aux_sym_variable_identifier_token1, - STATE(128), 1, - sym_digits, - STATE(166), 1, + STATE(138), 1, sym_expression, + STATE(211), 1, + sym_digits, ACTIONS(29), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(149), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3524,17 +3860,17 @@ static const uint16_t ts_small_parse_table[] = { sym_positive_digits, ACTIONS(128), 1, aux_sym_variable_identifier_token1, - STATE(120), 1, - sym_digits, - STATE(184), 1, + STATE(149), 1, sym_expression, + STATE(205), 1, + sym_digits, ACTIONS(120), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, ACTIONS(124), 2, sym_float_literal, sym_unit, - STATE(157), 17, + STATE(151), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3553,6 +3889,47 @@ static const uint16_t ts_small_parse_table[] = { sym_uint128_literal, sym_variable_identifier, [1510] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(35), 1, + sym_positive_digits, + ACTIONS(130), 1, + aux_sym_variable_identifier_token1, + STATE(144), 1, + sym_expression, + STATE(211), 1, + sym_digits, + ACTIONS(29), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(33), 2, + sym_float_literal, + sym_unit, + STATE(183), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [1562] = 11, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, @@ -3565,9 +3942,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, ACTIONS(106), 1, anon_sym_let, - STATE(80), 1, + STATE(92), 1, sym_expression, - STATE(125), 1, + STATE(215), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, @@ -3575,7 +3952,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, sym_float_literal, sym_unit, - STATE(74), 17, + STATE(87), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3593,7 +3970,7 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1562] = 11, + [1614] = 11, ACTIONS(17), 1, sym_negative_digits, ACTIONS(25), 1, @@ -3604,19 +3981,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(35), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(130), 1, aux_sym_variable_identifier_token1, - STATE(128), 1, - sym_digits, - STATE(162), 1, + STATE(142), 1, sym_expression, + STATE(211), 1, + sym_digits, ACTIONS(29), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(149), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3634,30 +4011,30 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1614] = 11, + [1666] = 11, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(25), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(27), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(31), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(35), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(130), 1, aux_sym_variable_identifier_token1, - STATE(90), 1, + STATE(141), 1, sym_expression, - STATE(118), 1, + STATE(211), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(29), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(33), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(183), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3675,30 +4052,30 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1666] = 11, + [1718] = 11, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(132), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(134), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(138), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(142), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(144), 1, aux_sym_variable_identifier_token1, - STATE(88), 1, + STATE(77), 1, sym_expression, - STATE(118), 1, + STATE(218), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(136), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(104), 17, + STATE(60), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3716,30 +4093,30 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1718] = 11, + [1770] = 11, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(67), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(69), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(75), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(79), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(81), 1, aux_sym_variable_identifier_token1, - STATE(120), 1, - sym_digits, - STATE(136), 1, + STATE(114), 1, sym_expression, - ACTIONS(120), 2, + STATE(214), 1, + sym_digits, + ACTIONS(73), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(157), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3757,30 +4134,30 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1770] = 11, + [1822] = 11, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(67), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(69), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(75), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(79), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(81), 1, aux_sym_variable_identifier_token1, - STATE(120), 1, - sym_digits, - STATE(141), 1, + STATE(115), 1, sym_expression, - ACTIONS(120), 2, + STATE(214), 1, + sym_digits, + ACTIONS(73), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(157), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3798,30 +4175,30 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1822] = 11, + [1874] = 11, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(67), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(69), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(75), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(79), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(81), 1, aux_sym_variable_identifier_token1, - STATE(120), 1, - sym_digits, - STATE(172), 1, + STATE(116), 1, sym_expression, - ACTIONS(120), 2, + STATE(214), 1, + sym_digits, + ACTIONS(73), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(77), 2, sym_float_literal, sym_unit, - STATE(157), 17, + STATE(120), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3839,30 +4216,30 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1874] = 11, - ACTIONS(17), 1, - sym_negative_digits, - ACTIONS(130), 1, - anon_sym_let, - ACTIONS(132), 1, + [1926] = 11, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(136), 1, + ACTIONS(13), 1, anon_sym_DQUOTE, - ACTIONS(140), 1, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, - ACTIONS(142), 1, + ACTIONS(21), 1, aux_sym_variable_identifier_token1, - STATE(63), 1, + ACTIONS(106), 1, + anon_sym_let, + STATE(107), 1, sym_expression, - STATE(123), 1, + STATE(215), 1, sym_digits, - ACTIONS(134), 2, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(138), 2, + ACTIONS(15), 2, sym_float_literal, sym_unit, - STATE(49), 17, + STATE(87), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3880,7 +4257,7 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1926] = 11, + [1978] = 11, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, @@ -3893,9 +4270,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_variable_identifier_token1, ACTIONS(106), 1, anon_sym_let, - STATE(71), 1, + STATE(84), 1, sym_expression, - STATE(125), 1, + STATE(215), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, @@ -3903,7 +4280,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, sym_float_literal, sym_unit, - STATE(74), 17, + STATE(87), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3921,30 +4298,30 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1978] = 11, - ACTIONS(17), 1, - sym_negative_digits, - ACTIONS(116), 1, - anon_sym_let, - ACTIONS(118), 1, + [2030] = 11, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(13), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(21), 1, aux_sym_variable_identifier_token1, - STATE(120), 1, - sym_digits, - STATE(163), 1, + ACTIONS(106), 1, + anon_sym_let, + STATE(108), 1, sym_expression, - ACTIONS(120), 2, + STATE(215), 1, + sym_digits, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(15), 2, sym_float_literal, sym_unit, - STATE(157), 17, + STATE(87), 17, sym_paren_expression, sym_bool_literal, sym_function_call, @@ -3962,775 +4339,2890 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2030] = 7, - ACTIONS(148), 1, - aux_sym_type_identifier_token1, - STATE(51), 1, - sym_type_identifier, - STATE(133), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(202), 1, - sym_type_reference, - STATE(204), 1, - sym_module_identifier, - STATE(68), 2, - sym_builtin_type, - sym_qualified_type_name, - ACTIONS(146), 17, - aux_sym_builtin_type_token1, - aux_sym_builtin_type_token2, - aux_sym_builtin_type_token3, - aux_sym_builtin_type_token4, - aux_sym_builtin_type_token5, - aux_sym_builtin_type_token6, - aux_sym_builtin_type_token7, - aux_sym_builtin_type_token8, - aux_sym_builtin_type_token9, - aux_sym_builtin_type_token10, - aux_sym_builtin_type_token11, - aux_sym_builtin_type_token12, - aux_sym_builtin_type_token13, - aux_sym_builtin_type_token14, - aux_sym_builtin_type_token15, - aux_sym_builtin_type_token16, - aux_sym_builtin_type_token17, - [2069] = 7, - ACTIONS(148), 1, - aux_sym_type_identifier_token1, - STATE(51), 1, - sym_type_identifier, - STATE(133), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(201), 1, - sym_type_reference, - STATE(204), 1, - sym_module_identifier, - STATE(68), 2, - sym_builtin_type, - sym_qualified_type_name, - ACTIONS(146), 17, - aux_sym_builtin_type_token1, - aux_sym_builtin_type_token2, - aux_sym_builtin_type_token3, - aux_sym_builtin_type_token4, - aux_sym_builtin_type_token5, - aux_sym_builtin_type_token6, - aux_sym_builtin_type_token7, - aux_sym_builtin_type_token8, - aux_sym_builtin_type_token9, - aux_sym_builtin_type_token10, - aux_sym_builtin_type_token11, - aux_sym_builtin_type_token12, - aux_sym_builtin_type_token13, - aux_sym_builtin_type_token14, - aux_sym_builtin_type_token15, - aux_sym_builtin_type_token16, - aux_sym_builtin_type_token17, - [2108] = 7, - ACTIONS(148), 1, - aux_sym_type_identifier_token1, - STATE(51), 1, - sym_type_identifier, - STATE(108), 1, - sym_type_reference, - STATE(133), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(204), 1, - sym_module_identifier, - STATE(68), 2, - sym_builtin_type, - sym_qualified_type_name, - ACTIONS(146), 17, - aux_sym_builtin_type_token1, - aux_sym_builtin_type_token2, - aux_sym_builtin_type_token3, - aux_sym_builtin_type_token4, - aux_sym_builtin_type_token5, - aux_sym_builtin_type_token6, - aux_sym_builtin_type_token7, - aux_sym_builtin_type_token8, - aux_sym_builtin_type_token9, - aux_sym_builtin_type_token10, - aux_sym_builtin_type_token11, - aux_sym_builtin_type_token12, - aux_sym_builtin_type_token13, - aux_sym_builtin_type_token14, - aux_sym_builtin_type_token15, - aux_sym_builtin_type_token16, - aux_sym_builtin_type_token17, - [2147] = 2, - ACTIONS(150), 6, - ts_builtin_sym_end, - anon_sym_COLON, - anon_sym_EQ, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(152), 9, - anon_sym_let, + [2082] = 11, + ACTIONS(7), 1, anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(13), 1, + anon_sym_DQUOTE, + ACTIONS(17), 1, sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, + ACTIONS(21), 1, aux_sym_variable_identifier_token1, - [2167] = 3, - ACTIONS(158), 1, - anon_sym_DOT, - ACTIONS(154), 6, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(156), 8, + ACTIONS(106), 1, anon_sym_let, - anon_sym_LPAREN, - anon_sym_type, + STATE(105), 1, + sym_expression, + STATE(215), 1, + sym_digits, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [2189] = 5, - ACTIONS(162), 1, - anon_sym_let, - ACTIONS(167), 1, - anon_sym_type, - STATE(43), 3, - sym_fn_decl, - sym_type_decl, - aux_sym_source_file_repeat1, - ACTIONS(160), 4, - ts_builtin_sym_end, - anon_sym_DQUOTE, + ACTIONS(15), 2, sym_float_literal, sym_unit, - ACTIONS(165), 6, + STATE(87), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2134] = 11, + ACTIONS(7), 1, anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + ACTIONS(13), 1, + anon_sym_DQUOTE, + ACTIONS(17), 1, sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, + ACTIONS(21), 1, aux_sym_variable_identifier_token1, - [2215] = 2, - ACTIONS(170), 4, - ts_builtin_sym_end, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(172), 10, + ACTIONS(106), 1, anon_sym_let, - anon_sym_LPAREN, - anon_sym_type, + STATE(130), 1, + sym_expression, + STATE(215), 1, + sym_digits, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - anon_sym_PLUS, - anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [2234] = 2, - ACTIONS(174), 4, - ts_builtin_sym_end, - anon_sym_DQUOTE, + ACTIONS(15), 2, sym_float_literal, sym_unit, - ACTIONS(176), 10, + STATE(87), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2186] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(67), 1, + anon_sym_let, + ACTIONS(69), 1, + anon_sym_LPAREN, + ACTIONS(75), 1, + anon_sym_DQUOTE, + ACTIONS(79), 1, + sym_positive_digits, + ACTIONS(81), 1, + aux_sym_variable_identifier_token1, + STATE(117), 1, + sym_expression, + STATE(214), 1, + sym_digits, + ACTIONS(73), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(77), 2, + sym_float_literal, + sym_unit, + STATE(120), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2238] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(67), 1, + anon_sym_let, + ACTIONS(69), 1, + anon_sym_LPAREN, + ACTIONS(75), 1, + anon_sym_DQUOTE, + ACTIONS(79), 1, + sym_positive_digits, + ACTIONS(81), 1, + aux_sym_variable_identifier_token1, + STATE(118), 1, + sym_expression, + STATE(214), 1, + sym_digits, + ACTIONS(73), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(77), 2, + sym_float_literal, + sym_unit, + STATE(120), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2290] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(67), 1, + anon_sym_let, + ACTIONS(69), 1, + anon_sym_LPAREN, + ACTIONS(75), 1, + anon_sym_DQUOTE, + ACTIONS(79), 1, + sym_positive_digits, + ACTIONS(81), 1, + aux_sym_variable_identifier_token1, + STATE(129), 1, + sym_expression, + STATE(214), 1, + sym_digits, + ACTIONS(73), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(77), 2, + sym_float_literal, + sym_unit, + STATE(120), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2342] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(132), 1, + anon_sym_let, + ACTIONS(134), 1, + anon_sym_LPAREN, + ACTIONS(138), 1, + anon_sym_DQUOTE, + ACTIONS(142), 1, + sym_positive_digits, + ACTIONS(144), 1, + aux_sym_variable_identifier_token1, + STATE(81), 1, + sym_expression, + STATE(218), 1, + sym_digits, + ACTIONS(136), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(140), 2, + sym_float_literal, + sym_unit, + STATE(60), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2394] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(132), 1, + anon_sym_let, + ACTIONS(134), 1, + anon_sym_LPAREN, + ACTIONS(138), 1, + anon_sym_DQUOTE, + ACTIONS(142), 1, + sym_positive_digits, + ACTIONS(144), 1, + aux_sym_variable_identifier_token1, + STATE(80), 1, + sym_expression, + STATE(218), 1, + sym_digits, + ACTIONS(136), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(140), 2, + sym_float_literal, + sym_unit, + STATE(60), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2446] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(132), 1, + anon_sym_let, + ACTIONS(134), 1, + anon_sym_LPAREN, + ACTIONS(138), 1, + anon_sym_DQUOTE, + ACTIONS(142), 1, + sym_positive_digits, + ACTIONS(144), 1, + aux_sym_variable_identifier_token1, + STATE(79), 1, + sym_expression, + STATE(218), 1, + sym_digits, + ACTIONS(136), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(140), 2, + sym_float_literal, + sym_unit, + STATE(60), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2498] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(116), 1, + anon_sym_let, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(122), 1, + anon_sym_DQUOTE, + ACTIONS(126), 1, + sym_positive_digits, + ACTIONS(128), 1, + aux_sym_variable_identifier_token1, + STATE(146), 1, + sym_expression, + STATE(205), 1, + sym_digits, + ACTIONS(120), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(124), 2, + sym_float_literal, + sym_unit, + STATE(151), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2550] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(116), 1, + anon_sym_let, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(122), 1, + anon_sym_DQUOTE, + ACTIONS(126), 1, + sym_positive_digits, + ACTIONS(128), 1, + aux_sym_variable_identifier_token1, + STATE(178), 1, + sym_expression, + STATE(205), 1, + sym_digits, + ACTIONS(120), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(124), 2, + sym_float_literal, + sym_unit, + STATE(151), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2602] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(116), 1, + anon_sym_let, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(122), 1, + anon_sym_DQUOTE, + ACTIONS(126), 1, + sym_positive_digits, + ACTIONS(128), 1, + aux_sym_variable_identifier_token1, + STATE(160), 1, + sym_expression, + STATE(205), 1, + sym_digits, + ACTIONS(120), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(124), 2, + sym_float_literal, + sym_unit, + STATE(151), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2654] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(132), 1, + anon_sym_let, + ACTIONS(134), 1, + anon_sym_LPAREN, + ACTIONS(138), 1, + anon_sym_DQUOTE, + ACTIONS(142), 1, + sym_positive_digits, + ACTIONS(144), 1, + aux_sym_variable_identifier_token1, + STATE(78), 1, + sym_expression, + STATE(218), 1, + sym_digits, + ACTIONS(136), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(140), 2, + sym_float_literal, + sym_unit, + STATE(60), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2706] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(132), 1, + anon_sym_let, + ACTIONS(134), 1, + anon_sym_LPAREN, + ACTIONS(138), 1, + anon_sym_DQUOTE, + ACTIONS(142), 1, + sym_positive_digits, + ACTIONS(144), 1, + aux_sym_variable_identifier_token1, + STATE(76), 1, + sym_expression, + STATE(218), 1, + sym_digits, + ACTIONS(136), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(140), 2, + sym_float_literal, + sym_unit, + STATE(60), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2758] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(116), 1, + anon_sym_let, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(122), 1, + anon_sym_DQUOTE, + ACTIONS(126), 1, + sym_positive_digits, + ACTIONS(128), 1, + aux_sym_variable_identifier_token1, + STATE(170), 1, + sym_expression, + STATE(205), 1, + sym_digits, + ACTIONS(120), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(124), 2, + sym_float_literal, + sym_unit, + STATE(151), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2810] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(116), 1, + anon_sym_let, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(122), 1, + anon_sym_DQUOTE, + ACTIONS(126), 1, + sym_positive_digits, + ACTIONS(128), 1, + aux_sym_variable_identifier_token1, + STATE(171), 1, + sym_expression, + STATE(205), 1, + sym_digits, + ACTIONS(120), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(124), 2, + sym_float_literal, + sym_unit, + STATE(151), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2862] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(116), 1, + anon_sym_let, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(122), 1, + anon_sym_DQUOTE, + ACTIONS(126), 1, + sym_positive_digits, + ACTIONS(128), 1, + aux_sym_variable_identifier_token1, + STATE(172), 1, + sym_expression, + STATE(205), 1, + sym_digits, + ACTIONS(120), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(124), 2, + sym_float_literal, + sym_unit, + STATE(151), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2914] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(116), 1, + anon_sym_let, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(122), 1, + anon_sym_DQUOTE, + ACTIONS(126), 1, + sym_positive_digits, + ACTIONS(128), 1, + aux_sym_variable_identifier_token1, + STATE(173), 1, + sym_expression, + STATE(205), 1, + sym_digits, + ACTIONS(120), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(124), 2, + sym_float_literal, + sym_unit, + STATE(151), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [2966] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(116), 1, + anon_sym_let, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(122), 1, + anon_sym_DQUOTE, + ACTIONS(126), 1, + sym_positive_digits, + ACTIONS(128), 1, + aux_sym_variable_identifier_token1, + STATE(169), 1, + sym_expression, + STATE(205), 1, + sym_digits, + ACTIONS(120), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(124), 2, + sym_float_literal, + sym_unit, + STATE(151), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [3018] = 11, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(31), 1, + anon_sym_DQUOTE, + ACTIONS(35), 1, + sym_positive_digits, + ACTIONS(130), 1, + aux_sym_variable_identifier_token1, + STATE(140), 1, + sym_expression, + STATE(211), 1, + sym_digits, + ACTIONS(29), 2, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + ACTIONS(33), 2, + sym_float_literal, + sym_unit, + STATE(183), 17, + sym_paren_expression, + sym_bool_literal, + sym_function_call, + sym_let_expression, + sym_string_literal, + sym_infix_operation, + sym_int8_literal, + sym_uint8_literal, + sym_int16_literal, + sym_uint16_literal, + sym_int32_literal, + sym_uint32_literal, + sym_int64_literal, + sym_uint64_literal, + sym_int128_literal, + sym_uint128_literal, + sym_variable_identifier, + [3070] = 2, + ACTIONS(148), 12, + anon_sym_let, + anon_sym_EQ, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(146), 15, + ts_builtin_sym_end, + anon_sym_COLON, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3102] = 2, + ACTIONS(152), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(150), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3133] = 2, + ACTIONS(156), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(154), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3164] = 2, + ACTIONS(160), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(158), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3195] = 2, + ACTIONS(164), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(162), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3226] = 2, + ACTIONS(168), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(166), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3257] = 2, + ACTIONS(172), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(170), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3288] = 2, + ACTIONS(148), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(146), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3319] = 2, + ACTIONS(176), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(174), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3350] = 2, + ACTIONS(180), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(178), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3381] = 2, + ACTIONS(184), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(182), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3412] = 2, + ACTIONS(188), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(186), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3443] = 2, + ACTIONS(192), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(190), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3474] = 2, + ACTIONS(196), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(194), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3505] = 2, + ACTIONS(200), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(198), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3536] = 4, + ACTIONS(204), 3, + anon_sym_DQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(148), 5, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(202), 7, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(146), 11, + anon_sym_RPAREN, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [3571] = 2, + ACTIONS(208), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(206), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3602] = 2, + ACTIONS(212), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(210), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3633] = 3, + ACTIONS(218), 1, + anon_sym_CARET, + ACTIONS(216), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(214), 13, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3666] = 8, + ACTIONS(218), 1, + anon_sym_CARET, + ACTIONS(226), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(230), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(232), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(220), 4, + ts_builtin_sym_end, + anon_sym_DQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(228), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(222), 8, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [3709] = 3, + ACTIONS(218), 1, + anon_sym_CARET, + ACTIONS(216), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(214), 13, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3742] = 4, + ACTIONS(218), 1, + anon_sym_CARET, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(214), 10, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + ACTIONS(216), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [3777] = 5, + ACTIONS(218), 1, + anon_sym_CARET, + ACTIONS(226), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(214), 10, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + ACTIONS(216), 10, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [3814] = 7, + ACTIONS(218), 1, + anon_sym_CARET, + ACTIONS(226), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(230), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(228), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(214), 6, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + ACTIONS(216), 8, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [3855] = 2, + ACTIONS(236), 12, + anon_sym_let, + anon_sym_LPAREN, + anon_sym_type, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(234), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3886] = 8, + ACTIONS(218), 1, + anon_sym_CARET, + ACTIONS(226), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(230), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(232), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(224), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(228), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(238), 4, + ts_builtin_sym_end, + anon_sym_DQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(240), 8, anon_sym_let, anon_sym_LPAREN, anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [3929] = 3, + ACTIONS(242), 1, + anon_sym_CARET, + ACTIONS(216), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(214), 13, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3961] = 2, + ACTIONS(168), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(166), 14, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [3991] = 2, + ACTIONS(160), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(158), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [4021] = 2, + ACTIONS(156), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(154), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [4051] = 8, + ACTIONS(242), 1, + anon_sym_CARET, + ACTIONS(250), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(254), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(256), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(248), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(244), 4, + ts_builtin_sym_end, + anon_sym_DQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(252), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(246), 7, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [4093] = 2, + ACTIONS(188), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(186), 14, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [4123] = 2, + ACTIONS(192), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(190), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [4153] = 2, + ACTIONS(164), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(162), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [4183] = 8, + ACTIONS(242), 1, + anon_sym_CARET, + ACTIONS(250), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(254), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(256), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(248), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(238), 4, + ts_builtin_sym_end, + anon_sym_DQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(252), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(240), 7, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [4225] = 2, + ACTIONS(196), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2253] = 2, - ACTIONS(178), 4, + ACTIONS(194), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(180), 10, + [4255] = 2, + ACTIONS(172), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2272] = 2, - ACTIONS(182), 4, + ACTIONS(170), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(184), 10, + [4285] = 2, + ACTIONS(176), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2291] = 2, - ACTIONS(150), 4, + ACTIONS(174), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(152), 10, + [4315] = 2, + ACTIONS(180), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2310] = 2, - ACTIONS(186), 4, + ACTIONS(178), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(188), 10, + [4345] = 2, + ACTIONS(148), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2329] = 2, - ACTIONS(190), 4, - ts_builtin_sym_end, + ACTIONS(146), 14, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [4375] = 8, + ACTIONS(258), 1, + anon_sym_CARET, + ACTIONS(262), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(266), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(268), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(260), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(244), 4, + anon_sym_RPAREN, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(192), 10, + ACTIONS(264), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(246), 7, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [4417] = 2, + ACTIONS(188), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2348] = 2, - ACTIONS(194), 6, + ACTIONS(186), 14, ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(196), 8, + [4447] = 2, + ACTIONS(152), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2367] = 2, - ACTIONS(198), 4, + ACTIONS(150), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(200), 10, + [4477] = 2, + ACTIONS(168), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2386] = 2, - ACTIONS(202), 4, + ACTIONS(166), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(204), 10, + [4507] = 2, + ACTIONS(200), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2405] = 2, - ACTIONS(206), 4, + ACTIONS(198), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(208), 10, + [4537] = 2, + ACTIONS(184), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2424] = 2, - ACTIONS(210), 4, + ACTIONS(182), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(212), 10, + [4567] = 2, + ACTIONS(208), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2443] = 4, - ACTIONS(150), 2, - anon_sym_EQ, - anon_sym_RPAREN, - ACTIONS(152), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(216), 3, + ACTIONS(206), 14, + ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(214), 7, + [4597] = 5, + ACTIONS(242), 1, + anon_sym_CARET, + ACTIONS(250), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(248), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(216), 9, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2466] = 2, - ACTIONS(218), 4, + ACTIONS(214), 10, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(220), 10, + [4633] = 2, + ACTIONS(212), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2485] = 2, - ACTIONS(222), 4, + ACTIONS(210), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(224), 10, + [4663] = 3, + ACTIONS(242), 1, + anon_sym_CARET, + ACTIONS(216), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2504] = 2, - ACTIONS(226), 4, + ACTIONS(214), 13, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [4695] = 4, + ACTIONS(242), 1, + anon_sym_CARET, + ACTIONS(248), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(214), 10, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(228), 10, + ACTIONS(216), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2523] = 3, - ACTIONS(234), 2, + [4729] = 2, + ACTIONS(152), 11, + anon_sym_let, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(230), 4, - ts_builtin_sym_end, + anon_sym_LT, + anon_sym_GT, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(150), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(232), 8, + [4759] = 2, + ACTIONS(200), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2544] = 2, - ACTIONS(236), 6, - ts_builtin_sym_end, - anon_sym_EQ, + ACTIONS(198), 14, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(238), 8, + [4789] = 2, + ACTIONS(184), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2563] = 2, - ACTIONS(240), 4, - ts_builtin_sym_end, + ACTIONS(182), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(242), 10, + [4819] = 2, + ACTIONS(208), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2582] = 2, - ACTIONS(244), 4, - ts_builtin_sym_end, + ACTIONS(206), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(246), 10, + [4849] = 2, + ACTIONS(212), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2601] = 2, - ACTIONS(248), 4, - ts_builtin_sym_end, + ACTIONS(210), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(250), 10, + [4879] = 3, + ACTIONS(258), 1, + anon_sym_CARET, + ACTIONS(216), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2620] = 2, - ACTIONS(252), 6, - ts_builtin_sym_end, - anon_sym_EQ, + ACTIONS(214), 13, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(254), 8, + [4911] = 3, + ACTIONS(258), 1, + anon_sym_CARET, + ACTIONS(216), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2639] = 2, - ACTIONS(256), 4, - ts_builtin_sym_end, + ACTIONS(214), 13, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [4943] = 4, + ACTIONS(258), 1, + anon_sym_CARET, + ACTIONS(260), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(214), 10, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(258), 10, + ACTIONS(216), 11, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2658] = 3, - ACTIONS(234), 2, + [4977] = 5, + ACTIONS(258), 1, + anon_sym_CARET, + ACTIONS(262), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(260), 4, - ts_builtin_sym_end, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(262), 8, + ACTIONS(260), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(216), 9, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2679] = 2, - ACTIONS(264), 6, - ts_builtin_sym_end, - anon_sym_EQ, + ACTIONS(214), 10, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + [5013] = 7, + ACTIONS(258), 1, + anon_sym_CARET, + ACTIONS(262), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(266), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(260), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(264), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(214), 6, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(266), 8, + ACTIONS(216), 7, anon_sym_let, anon_sym_LPAREN, - anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2698] = 2, - ACTIONS(240), 4, - anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(242), 9, + [5053] = 2, + ACTIONS(160), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2716] = 2, - ACTIONS(190), 4, + ACTIONS(158), 14, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(192), 9, + [5083] = 2, + ACTIONS(156), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2734] = 2, - ACTIONS(244), 4, - ts_builtin_sym_end, + ACTIONS(154), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(246), 9, + [5113] = 2, + ACTIONS(236), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2752] = 2, - ACTIONS(190), 4, - ts_builtin_sym_end, + ACTIONS(234), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(192), 9, + [5143] = 2, + ACTIONS(192), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2770] = 2, - ACTIONS(174), 4, - ts_builtin_sym_end, + ACTIONS(190), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(176), 9, + [5173] = 2, + ACTIONS(164), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2788] = 2, - ACTIONS(186), 4, - ts_builtin_sym_end, + ACTIONS(162), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(188), 9, + [5203] = 2, + ACTIONS(196), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2806] = 2, - ACTIONS(206), 4, - ts_builtin_sym_end, + ACTIONS(194), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(208), 9, + [5233] = 2, + ACTIONS(172), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2824] = 2, - ACTIONS(248), 4, - ts_builtin_sym_end, + ACTIONS(170), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(250), 9, + [5263] = 2, + ACTIONS(176), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2842] = 2, - ACTIONS(202), 4, - ts_builtin_sym_end, + ACTIONS(174), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(204), 9, + [5293] = 2, + ACTIONS(180), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2860] = 2, - ACTIONS(198), 4, - ts_builtin_sym_end, + ACTIONS(178), 14, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(200), 9, + [5323] = 2, + ACTIONS(236), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2878] = 2, - ACTIONS(170), 4, + ACTIONS(234), 14, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(172), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + [5353] = 8, + ACTIONS(258), 1, + anon_sym_CARET, + ACTIONS(262), 2, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [2896] = 3, + ACTIONS(266), 2, + anon_sym_LT, + anon_sym_GT, ACTIONS(268), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(260), 4, - ts_builtin_sym_end, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(260), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(238), 4, + anon_sym_RPAREN, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(262), 7, + ACTIONS(264), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(240), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -4738,448 +7230,1334 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2916] = 2, - ACTIONS(218), 4, + [5395] = 7, + ACTIONS(242), 1, + anon_sym_CARET, + ACTIONS(250), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(254), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(248), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(252), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(214), 6, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(220), 9, + ACTIONS(216), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [5435] = 7, + ACTIONS(272), 1, + aux_sym_type_identifier_token1, + STATE(192), 1, + sym_type_identifier, + STATE(221), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(238), 1, + sym_type_reference, + STATE(242), 1, + sym_module_identifier, + STATE(194), 2, + sym_builtin_type, + sym_qualified_type_name, + ACTIONS(270), 17, + aux_sym_builtin_type_token1, + aux_sym_builtin_type_token2, + aux_sym_builtin_type_token3, + aux_sym_builtin_type_token4, + aux_sym_builtin_type_token5, + aux_sym_builtin_type_token6, + aux_sym_builtin_type_token7, + aux_sym_builtin_type_token8, + aux_sym_builtin_type_token9, + aux_sym_builtin_type_token10, + aux_sym_builtin_type_token11, + aux_sym_builtin_type_token12, + aux_sym_builtin_type_token13, + aux_sym_builtin_type_token14, + aux_sym_builtin_type_token15, + aux_sym_builtin_type_token16, + aux_sym_builtin_type_token17, + [5474] = 7, + ACTIONS(272), 1, + aux_sym_type_identifier_token1, + STATE(192), 1, + sym_type_identifier, + STATE(196), 1, + sym_type_reference, + STATE(221), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(242), 1, + sym_module_identifier, + STATE(194), 2, + sym_builtin_type, + sym_qualified_type_name, + ACTIONS(270), 17, + aux_sym_builtin_type_token1, + aux_sym_builtin_type_token2, + aux_sym_builtin_type_token3, + aux_sym_builtin_type_token4, + aux_sym_builtin_type_token5, + aux_sym_builtin_type_token6, + aux_sym_builtin_type_token7, + aux_sym_builtin_type_token8, + aux_sym_builtin_type_token9, + aux_sym_builtin_type_token10, + aux_sym_builtin_type_token11, + aux_sym_builtin_type_token12, + aux_sym_builtin_type_token13, + aux_sym_builtin_type_token14, + aux_sym_builtin_type_token15, + aux_sym_builtin_type_token16, + aux_sym_builtin_type_token17, + [5513] = 7, + ACTIONS(272), 1, + aux_sym_type_identifier_token1, + STATE(192), 1, + sym_type_identifier, + STATE(221), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(242), 1, + sym_module_identifier, + STATE(252), 1, + sym_type_reference, + STATE(194), 2, + sym_builtin_type, + sym_qualified_type_name, + ACTIONS(270), 17, + aux_sym_builtin_type_token1, + aux_sym_builtin_type_token2, + aux_sym_builtin_type_token3, + aux_sym_builtin_type_token4, + aux_sym_builtin_type_token5, + aux_sym_builtin_type_token6, + aux_sym_builtin_type_token7, + aux_sym_builtin_type_token8, + aux_sym_builtin_type_token9, + aux_sym_builtin_type_token10, + aux_sym_builtin_type_token11, + aux_sym_builtin_type_token12, + aux_sym_builtin_type_token13, + aux_sym_builtin_type_token14, + aux_sym_builtin_type_token15, + aux_sym_builtin_type_token16, + aux_sym_builtin_type_token17, + [5552] = 3, + ACTIONS(214), 1, + anon_sym_LF, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(216), 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5574] = 2, + ACTIONS(196), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(194), 13, + anon_sym_RPAREN, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5594] = 2, + ACTIONS(208), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(206), 13, + anon_sym_RPAREN, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5614] = 2, + ACTIONS(212), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(210), 13, + anon_sym_RPAREN, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5634] = 3, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(216), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(214), 12, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5656] = 3, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(216), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(214), 12, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5678] = 4, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(216), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(214), 9, + anon_sym_RPAREN, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5702] = 5, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(216), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(280), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(214), 7, + anon_sym_RPAREN, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5728] = 6, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(280), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(284), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(214), 3, + anon_sym_RPAREN, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(282), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [5756] = 2, + ACTIONS(236), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(234), 13, + anon_sym_RPAREN, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5776] = 7, + ACTIONS(238), 1, + anon_sym_RPAREN, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(280), 2, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [2934] = 3, - ACTIONS(268), 2, + ACTIONS(284), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(286), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(282), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [5806] = 2, + ACTIONS(146), 1, + anon_sym_LF, + ACTIONS(148), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5826] = 6, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(288), 1, + anon_sym_LF, + ACTIONS(292), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(270), 4, + ACTIONS(296), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(294), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + [5854] = 3, + ACTIONS(302), 1, + anon_sym_DOT, + ACTIONS(298), 6, ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RPAREN, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(272), 7, + ACTIONS(300), 8, anon_sym_let, anon_sym_LPAREN, + anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [2954] = 2, - ACTIONS(226), 4, - ts_builtin_sym_end, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(228), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + [5876] = 7, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(304), 1, + anon_sym_RPAREN, + ACTIONS(280), 2, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [2972] = 2, - ACTIONS(178), 4, - ts_builtin_sym_end, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(180), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + ACTIONS(284), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(286), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(282), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [5906] = 6, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(306), 1, + anon_sym_LF, + ACTIONS(292), 2, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [2990] = 2, - ACTIONS(150), 4, + ACTIONS(296), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(294), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + [5934] = 2, + ACTIONS(158), 1, + anon_sym_LF, + ACTIONS(160), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5954] = 2, + ACTIONS(154), 1, + anon_sym_LF, + ACTIONS(156), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5974] = 2, + ACTIONS(148), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(146), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(152), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3008] = 3, - ACTIONS(274), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5994] = 2, + ACTIONS(190), 1, + anon_sym_LF, + ACTIONS(192), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6014] = 2, + ACTIONS(162), 1, + anon_sym_LF, + ACTIONS(164), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(270), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6034] = 2, + ACTIONS(194), 1, + anon_sym_LF, + ACTIONS(196), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6054] = 2, + ACTIONS(170), 1, + anon_sym_LF, + ACTIONS(172), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6074] = 2, + ACTIONS(174), 1, + anon_sym_LF, + ACTIONS(176), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6094] = 2, + ACTIONS(178), 1, + anon_sym_LF, + ACTIONS(180), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6114] = 7, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(308), 1, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(272), 7, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3028] = 2, - ACTIONS(210), 4, - ts_builtin_sym_end, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(212), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + ACTIONS(280), 2, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3046] = 3, - ACTIONS(274), 2, + ACTIONS(284), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(286), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(282), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [6144] = 6, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(310), 1, + anon_sym_LF, + ACTIONS(292), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(260), 4, + ACTIONS(296), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(294), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + [6172] = 7, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(312), 1, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(262), 7, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3066] = 2, - ACTIONS(248), 4, + ACTIONS(280), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(284), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(286), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(282), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [6202] = 2, + ACTIONS(186), 1, + anon_sym_LF, + ACTIONS(188), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6222] = 2, + ACTIONS(150), 1, + anon_sym_LF, + ACTIONS(152), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6242] = 2, + ACTIONS(166), 1, + anon_sym_LF, + ACTIONS(168), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6262] = 2, + ACTIONS(198), 1, + anon_sym_LF, + ACTIONS(200), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6282] = 2, + ACTIONS(182), 1, + anon_sym_LF, + ACTIONS(184), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6302] = 2, + ACTIONS(206), 1, + anon_sym_LF, + ACTIONS(208), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6322] = 2, + ACTIONS(210), 1, + anon_sym_LF, + ACTIONS(212), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6342] = 6, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(314), 1, + anon_sym_LF, + ACTIONS(292), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(296), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(294), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + [6370] = 3, + ACTIONS(214), 1, + anon_sym_LF, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(216), 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6392] = 4, + ACTIONS(214), 1, + anon_sym_LF, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(216), 10, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6416] = 5, + ACTIONS(214), 1, + anon_sym_LF, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(292), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(216), 8, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6442] = 6, + ACTIONS(214), 1, + anon_sym_LF, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(216), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(292), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(294), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + [6470] = 2, + ACTIONS(234), 1, + anon_sym_LF, + ACTIONS(236), 14, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6490] = 7, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(316), 1, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(250), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + ACTIONS(280), 2, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3084] = 2, - ACTIONS(244), 4, + ACTIONS(284), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(286), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(282), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [6520] = 6, + ACTIONS(238), 1, + anon_sym_LF, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(292), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(296), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(294), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + [6548] = 2, + ACTIONS(200), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(198), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(246), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3102] = 2, - ACTIONS(222), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6568] = 6, + ACTIONS(274), 1, + anon_sym_CARET, + ACTIONS(318), 1, + anon_sym_LF, + ACTIONS(292), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(296), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(290), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(294), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + [6596] = 2, + ACTIONS(168), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(166), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(224), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3120] = 2, - ACTIONS(174), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6616] = 2, + ACTIONS(152), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(150), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(176), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3138] = 2, - ACTIONS(206), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6636] = 7, + ACTIONS(276), 1, + anon_sym_CARET, + ACTIONS(320), 1, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(208), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + ACTIONS(280), 2, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3156] = 2, - ACTIONS(202), 4, + ACTIONS(284), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(286), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(278), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(282), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [6666] = 2, + ACTIONS(160), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(158), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(204), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3174] = 2, - ACTIONS(198), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6686] = 2, + ACTIONS(156), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(154), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(200), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3192] = 2, - ACTIONS(170), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6706] = 2, + ACTIONS(192), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(190), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(172), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3210] = 2, - ACTIONS(218), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6726] = 2, + ACTIONS(188), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(186), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(220), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3228] = 2, - ACTIONS(222), 4, - ts_builtin_sym_end, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(224), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6746] = 2, + ACTIONS(164), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(162), 13, + anon_sym_RPAREN, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3246] = 2, - ACTIONS(226), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6766] = 2, + ACTIONS(184), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(182), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(228), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3264] = 2, - ACTIONS(178), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6786] = 2, + ACTIONS(172), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(170), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(180), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3282] = 2, - ACTIONS(182), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6806] = 5, + ACTIONS(324), 1, + anon_sym_let, + ACTIONS(329), 1, + anon_sym_type, + STATE(189), 3, + sym_fn_decl, + sym_type_decl, + aux_sym_source_file_repeat1, + ACTIONS(322), 4, ts_builtin_sym_end, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(184), 9, - anon_sym_let, + ACTIONS(327), 6, anon_sym_LPAREN, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - anon_sym_PLUS, - anon_sym_DASH, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3300] = 2, - ACTIONS(210), 4, + [6832] = 2, + ACTIONS(180), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(178), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(212), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3318] = 2, - ACTIONS(256), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6852] = 2, + ACTIONS(176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(174), 13, anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(258), 9, - anon_sym_let, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_DASH, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [3336] = 2, - ACTIONS(186), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6872] = 2, + ACTIONS(332), 6, + ts_builtin_sym_end, + anon_sym_EQ, anon_sym_RPAREN, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(188), 9, + ACTIONS(334), 8, anon_sym_let, anon_sym_LPAREN, + anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - anon_sym_PLUS, - anon_sym_DASH, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3354] = 2, - ACTIONS(240), 4, + [6891] = 2, + ACTIONS(336), 6, ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RPAREN, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(242), 9, + ACTIONS(338), 8, anon_sym_let, anon_sym_LPAREN, + anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - anon_sym_PLUS, - anon_sym_DASH, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3372] = 2, - ACTIONS(182), 4, + [6910] = 2, + ACTIONS(340), 6, + ts_builtin_sym_end, + anon_sym_EQ, anon_sym_RPAREN, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(184), 9, + ACTIONS(342), 8, anon_sym_let, anon_sym_LPAREN, + anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - anon_sym_PLUS, - anon_sym_DASH, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3390] = 2, - ACTIONS(256), 4, + [6929] = 2, + ACTIONS(344), 6, ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RPAREN, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(258), 9, + ACTIONS(346), 8, anon_sym_let, anon_sym_LPAREN, + anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - anon_sym_PLUS, - anon_sym_DASH, sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3408] = 2, - ACTIONS(276), 4, + [6948] = 2, + ACTIONS(348), 4, ts_builtin_sym_end, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(278), 8, + ACTIONS(350), 8, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5188,12 +8566,12 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3425] = 2, - ACTIONS(282), 3, + [6965] = 2, + ACTIONS(354), 3, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(280), 7, + ACTIONS(352), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -5201,12 +8579,29 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3440] = 2, - ACTIONS(216), 3, + [6980] = 6, + ACTIONS(358), 1, + anon_sym_uy, + ACTIONS(360), 1, + anon_sym_us, + ACTIONS(362), 1, + anon_sym_ul, + ACTIONS(364), 1, + anon_sym_UL, + ACTIONS(366), 1, + anon_sym_Z, + ACTIONS(356), 5, + anon_sym_y, + anon_sym_s, + anon_sym_l, + anon_sym_L, + anon_sym_Q, + [7003] = 2, + ACTIONS(204), 3, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(214), 7, + ACTIONS(202), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -5214,12 +8609,12 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3455] = 2, - ACTIONS(286), 3, + [7018] = 2, + ACTIONS(370), 3, anon_sym_DQUOTE, sym_float_literal, sym_unit, - ACTIONS(284), 7, + ACTIONS(368), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -5227,661 +8622,374 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3470] = 6, - ACTIONS(290), 1, + [7033] = 6, + ACTIONS(372), 1, anon_sym_uy, - ACTIONS(292), 1, + ACTIONS(374), 1, anon_sym_us, - ACTIONS(294), 1, + ACTIONS(376), 1, anon_sym_ul, - ACTIONS(296), 1, + ACTIONS(378), 1, anon_sym_UL, - ACTIONS(298), 1, + ACTIONS(380), 1, anon_sym_Z, - ACTIONS(288), 5, + ACTIONS(356), 5, anon_sym_y, anon_sym_s, anon_sym_l, anon_sym_L, anon_sym_Q, - [3493] = 6, - ACTIONS(300), 1, + [7056] = 6, + ACTIONS(382), 1, anon_sym_uy, - ACTIONS(302), 1, + ACTIONS(384), 1, anon_sym_us, - ACTIONS(304), 1, + ACTIONS(386), 1, anon_sym_ul, - ACTIONS(306), 1, + ACTIONS(388), 1, anon_sym_UL, - ACTIONS(308), 1, + ACTIONS(390), 1, anon_sym_Z, - ACTIONS(288), 5, + ACTIONS(356), 5, anon_sym_y, anon_sym_s, anon_sym_l, anon_sym_L, anon_sym_Q, - [3516] = 6, - ACTIONS(310), 1, + [7079] = 6, + ACTIONS(392), 1, anon_sym_uy, - ACTIONS(312), 1, + ACTIONS(394), 1, anon_sym_us, - ACTIONS(314), 1, + ACTIONS(396), 1, anon_sym_ul, - ACTIONS(316), 1, + ACTIONS(398), 1, anon_sym_UL, - ACTIONS(318), 1, + ACTIONS(400), 1, anon_sym_Z, - ACTIONS(288), 5, + ACTIONS(356), 5, anon_sym_y, anon_sym_s, anon_sym_l, anon_sym_L, anon_sym_Q, - [3539] = 6, - ACTIONS(320), 1, + [7102] = 6, + ACTIONS(402), 1, anon_sym_uy, - ACTIONS(322), 1, + ACTIONS(404), 1, anon_sym_us, - ACTIONS(324), 1, + ACTIONS(406), 1, anon_sym_ul, - ACTIONS(326), 1, + ACTIONS(408), 1, anon_sym_UL, - ACTIONS(328), 1, + ACTIONS(410), 1, anon_sym_Z, - ACTIONS(288), 5, + ACTIONS(356), 5, anon_sym_y, anon_sym_s, anon_sym_l, anon_sym_L, anon_sym_Q, - [3562] = 6, - ACTIONS(330), 1, - anon_sym_uy, - ACTIONS(332), 1, - anon_sym_us, - ACTIONS(334), 1, - anon_sym_ul, - ACTIONS(336), 1, - anon_sym_UL, - ACTIONS(338), 1, - anon_sym_Z, - ACTIONS(288), 5, + [7125] = 5, + ACTIONS(412), 1, anon_sym_y, + ACTIONS(414), 1, anon_sym_s, + ACTIONS(416), 1, anon_sym_l, + ACTIONS(418), 1, anon_sym_L, + ACTIONS(420), 1, anon_sym_Q, - [3585] = 4, - ACTIONS(340), 1, + [7141] = 4, + ACTIONS(422), 1, + anon_sym_COLON, + ACTIONS(424), 1, + anon_sym_LPAREN, + ACTIONS(427), 1, + sym_unit, + STATE(206), 2, + sym_fn_decl_param, + aux_sym_fn_decl_params_repeat1, + [7155] = 4, + ACTIONS(430), 1, + anon_sym_COLON, + ACTIONS(432), 1, + anon_sym_LPAREN, + ACTIONS(434), 1, + sym_unit, + STATE(206), 2, + sym_fn_decl_param, + aux_sym_fn_decl_params_repeat1, + [7169] = 4, + ACTIONS(436), 1, anon_sym_DQUOTE, - STATE(135), 1, + STATE(223), 1, aux_sym_string_content_repeat1, + STATE(251), 1, + sym_string_content, + ACTIONS(438), 2, + aux_sym_string_content_token1, + sym_string_escape_sequence, + [7183] = 5, + ACTIONS(39), 1, + aux_sym_type_identifier_token1, + ACTIONS(440), 1, + aux_sym_variable_identifier_token1, STATE(200), 1, + sym_fn_identifier, + STATE(220), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(242), 1, + sym_module_identifier, + [7199] = 4, + ACTIONS(442), 1, + anon_sym_DQUOTE, + STATE(223), 1, + aux_sym_string_content_repeat1, + STATE(243), 1, sym_string_content, - ACTIONS(342), 2, + ACTIONS(438), 2, aux_sym_string_content_token1, sym_string_escape_sequence, - [3599] = 5, - ACTIONS(344), 1, + [7213] = 5, + ACTIONS(444), 1, anon_sym_y, - ACTIONS(346), 1, + ACTIONS(446), 1, anon_sym_s, - ACTIONS(348), 1, + ACTIONS(448), 1, anon_sym_l, - ACTIONS(350), 1, + ACTIONS(450), 1, anon_sym_L, - ACTIONS(352), 1, + ACTIONS(452), 1, anon_sym_Q, - [3615] = 4, - ACTIONS(354), 1, - anon_sym_DQUOTE, - STATE(135), 1, - aux_sym_string_content_repeat1, - STATE(207), 1, - sym_string_content, - ACTIONS(342), 2, - aux_sym_string_content_token1, - sym_string_escape_sequence, - [3629] = 5, - ACTIONS(356), 1, + [7229] = 1, + ACTIONS(356), 5, anon_sym_y, - ACTIONS(358), 1, anon_sym_s, - ACTIONS(360), 1, anon_sym_l, - ACTIONS(362), 1, anon_sym_L, - ACTIONS(364), 1, anon_sym_Q, - [3645] = 4, - ACTIONS(366), 1, + [7237] = 4, + ACTIONS(454), 1, anon_sym_DQUOTE, - STATE(135), 1, + STATE(223), 1, aux_sym_string_content_repeat1, - STATE(205), 1, + STATE(241), 1, sym_string_content, - ACTIONS(342), 2, + ACTIONS(438), 2, aux_sym_string_content_token1, sym_string_escape_sequence, - [3659] = 5, - ACTIONS(39), 1, - aux_sym_type_identifier_token1, - ACTIONS(368), 1, - aux_sym_variable_identifier_token1, - STATE(111), 1, - sym_fn_identifier, - STATE(132), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(204), 1, - sym_module_identifier, - [3675] = 5, - ACTIONS(370), 1, + [7251] = 5, + ACTIONS(456), 1, anon_sym_y, - ACTIONS(372), 1, + ACTIONS(458), 1, anon_sym_s, - ACTIONS(374), 1, + ACTIONS(460), 1, anon_sym_l, - ACTIONS(376), 1, + ACTIONS(462), 1, anon_sym_L, - ACTIONS(378), 1, + ACTIONS(464), 1, anon_sym_Q, - [3691] = 4, - ACTIONS(380), 1, - anon_sym_LPAREN, - ACTIONS(382), 1, - sym_unit, - STATE(211), 1, - sym_fn_decl_params, - STATE(130), 2, - sym_fn_decl_param, - aux_sym_fn_decl_params_repeat1, - [3705] = 5, - ACTIONS(384), 1, + [7267] = 5, + ACTIONS(466), 1, anon_sym_y, - ACTIONS(386), 1, + ACTIONS(468), 1, anon_sym_s, - ACTIONS(388), 1, + ACTIONS(470), 1, anon_sym_l, - ACTIONS(390), 1, + ACTIONS(472), 1, anon_sym_L, - ACTIONS(392), 1, + ACTIONS(474), 1, anon_sym_Q, - [3721] = 4, - ACTIONS(394), 1, + [7283] = 4, + ACTIONS(432), 1, + anon_sym_LPAREN, + ACTIONS(476), 1, + sym_unit, + STATE(237), 1, + sym_fn_decl_params, + STATE(207), 2, + sym_fn_decl_param, + aux_sym_fn_decl_params_repeat1, + [7297] = 4, + ACTIONS(478), 1, anon_sym_DQUOTE, - STATE(135), 1, + STATE(223), 1, aux_sym_string_content_repeat1, - STATE(197), 1, + STATE(253), 1, sym_string_content, - ACTIONS(342), 2, + ACTIONS(438), 2, aux_sym_string_content_token1, sym_string_escape_sequence, - [3735] = 1, - ACTIONS(288), 5, - anon_sym_y, - anon_sym_s, - anon_sym_l, - anon_sym_L, - anon_sym_Q, - [3743] = 5, - ACTIONS(396), 1, + [7311] = 5, + ACTIONS(480), 1, anon_sym_y, - ACTIONS(398), 1, + ACTIONS(482), 1, anon_sym_s, - ACTIONS(400), 1, + ACTIONS(484), 1, anon_sym_l, - ACTIONS(402), 1, + ACTIONS(486), 1, anon_sym_L, - ACTIONS(404), 1, + ACTIONS(488), 1, anon_sym_Q, - [3759] = 4, - ACTIONS(406), 1, - anon_sym_COLON, - ACTIONS(408), 1, - anon_sym_LPAREN, - ACTIONS(411), 1, - sym_unit, - STATE(129), 2, - sym_fn_decl_param, - aux_sym_fn_decl_params_repeat1, - [3773] = 4, - ACTIONS(380), 1, - anon_sym_LPAREN, - ACTIONS(414), 1, - anon_sym_COLON, - ACTIONS(416), 1, - sym_unit, - STATE(129), 2, - sym_fn_decl_param, - aux_sym_fn_decl_params_repeat1, - [3787] = 4, - ACTIONS(418), 1, + [7327] = 4, + ACTIONS(490), 1, anon_sym_DQUOTE, - STATE(135), 1, + STATE(223), 1, aux_sym_string_content_repeat1, - STATE(213), 1, + STATE(247), 1, sym_string_content, - ACTIONS(342), 2, + ACTIONS(438), 2, aux_sym_string_content_token1, sym_string_escape_sequence, - [3801] = 4, - ACTIONS(420), 1, + [7341] = 4, + ACTIONS(492), 1, aux_sym_variable_identifier_token1, - ACTIONS(422), 1, + ACTIONS(494), 1, aux_sym_type_identifier_token1, - STATE(132), 1, + STATE(220), 1, aux_sym_qualified_fn_name_repeat1, - STATE(204), 1, + STATE(242), 1, sym_module_identifier, - [3814] = 4, - ACTIONS(425), 1, + [7354] = 4, + ACTIONS(497), 1, aux_sym_type_identifier_token1, - STATE(61), 1, + STATE(195), 1, sym_type_identifier, - STATE(132), 1, + STATE(220), 1, aux_sym_qualified_fn_name_repeat1, - STATE(204), 1, + STATE(242), 1, sym_module_identifier, - [3827] = 3, - ACTIONS(427), 1, + [7367] = 3, + ACTIONS(499), 1, anon_sym_DQUOTE, - STATE(134), 1, + STATE(222), 1, aux_sym_string_content_repeat1, - ACTIONS(429), 2, + ACTIONS(501), 2, aux_sym_string_content_token1, sym_string_escape_sequence, - [3838] = 3, - ACTIONS(432), 1, + [7378] = 3, + ACTIONS(504), 1, anon_sym_DQUOTE, - STATE(134), 1, + STATE(222), 1, aux_sym_string_content_repeat1, - ACTIONS(434), 2, + ACTIONS(506), 2, aux_sym_string_content_token1, sym_string_escape_sequence, - [3849] = 2, - ACTIONS(244), 1, - anon_sym_LF, - ACTIONS(246), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3857] = 1, - ACTIONS(198), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [3863] = 2, - ACTIONS(206), 1, - anon_sym_LF, - ACTIONS(208), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3871] = 2, - ACTIONS(174), 1, - anon_sym_LF, - ACTIONS(176), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3879] = 2, - ACTIONS(222), 1, - anon_sym_LF, - ACTIONS(224), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3887] = 2, - ACTIONS(436), 1, - anon_sym_LF, - ACTIONS(438), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3895] = 2, - ACTIONS(248), 1, - anon_sym_LF, - ACTIONS(250), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3903] = 2, - ACTIONS(198), 1, - anon_sym_LF, - ACTIONS(200), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3911] = 2, - ACTIONS(260), 1, - anon_sym_LF, - ACTIONS(438), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3919] = 2, - ACTIONS(442), 1, + [7389] = 2, + ACTIONS(510), 1, anon_sym_LPAREN, - ACTIONS(440), 2, + ACTIONS(508), 2, anon_sym_COLON, sym_unit, - [3927] = 2, - ACTIONS(170), 1, - anon_sym_LF, - ACTIONS(172), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3935] = 2, - ACTIONS(218), 1, - anon_sym_LF, - ACTIONS(220), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3943] = 1, - ACTIONS(190), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [3949] = 1, - ACTIONS(186), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [3955] = 2, - ACTIONS(226), 1, - anon_sym_LF, - ACTIONS(228), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3963] = 2, - ACTIONS(178), 1, - anon_sym_LF, - ACTIONS(180), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3971] = 2, - ACTIONS(210), 1, - anon_sym_LF, - ACTIONS(212), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3979] = 2, - ACTIONS(256), 1, - anon_sym_LF, - ACTIONS(258), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3987] = 2, - ACTIONS(240), 1, - anon_sym_LF, - ACTIONS(242), 2, - anon_sym_PLUS, - anon_sym_DASH, - [3995] = 2, - ACTIONS(182), 1, - anon_sym_LF, - ACTIONS(184), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4003] = 1, - ACTIONS(150), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4009] = 2, - ACTIONS(186), 1, - anon_sym_LF, - ACTIONS(188), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4017] = 2, - ACTIONS(190), 1, - anon_sym_LF, - ACTIONS(192), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4025] = 3, - ACTIONS(444), 1, + [7397] = 3, + ACTIONS(512), 1, aux_sym_variable_identifier_token1, - STATE(124), 1, + STATE(216), 1, sym_fn_identifier, - STATE(199), 1, + STATE(236), 1, sym_variable_identifier, - [4035] = 2, - ACTIONS(150), 1, - anon_sym_LF, - ACTIONS(152), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4043] = 1, - ACTIONS(182), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4049] = 2, - ACTIONS(260), 1, - anon_sym_RPAREN, - ACTIONS(446), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4057] = 2, - ACTIONS(448), 1, - anon_sym_LF, - ACTIONS(438), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4065] = 2, - ACTIONS(450), 1, - anon_sym_RPAREN, - ACTIONS(446), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4073] = 1, - ACTIONS(248), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4079] = 1, - ACTIONS(244), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4085] = 1, - ACTIONS(222), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4091] = 1, - ACTIONS(174), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4097] = 2, - ACTIONS(452), 1, - anon_sym_RPAREN, - ACTIONS(446), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4105] = 1, - ACTIONS(240), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4111] = 1, - ACTIONS(256), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4117] = 2, - ACTIONS(454), 1, - anon_sym_LF, - ACTIONS(438), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4125] = 1, - ACTIONS(206), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4131] = 1, - ACTIONS(202), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4137] = 2, - ACTIONS(202), 1, - anon_sym_LF, - ACTIONS(204), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4145] = 2, - ACTIONS(456), 1, - anon_sym_RPAREN, - ACTIONS(446), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4153] = 1, - ACTIONS(210), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4159] = 1, - ACTIONS(170), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4165] = 2, - ACTIONS(458), 1, - anon_sym_LF, - ACTIONS(438), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4173] = 1, - ACTIONS(218), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4179] = 1, - ACTIONS(226), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4185] = 1, - ACTIONS(178), 3, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - [4191] = 2, - ACTIONS(460), 1, - anon_sym_RPAREN, - ACTIONS(446), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4199] = 2, - ACTIONS(462), 1, - anon_sym_LF, - ACTIONS(438), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4207] = 2, - ACTIONS(464), 1, - anon_sym_RPAREN, - ACTIONS(446), 2, - anon_sym_PLUS, - anon_sym_DASH, - [4215] = 2, - ACTIONS(466), 1, + [7407] = 2, + ACTIONS(514), 1, aux_sym_variable_identifier_token1, - STATE(199), 1, + STATE(239), 1, sym_variable_identifier, - [4222] = 2, - ACTIONS(466), 1, + [7414] = 2, + ACTIONS(514), 1, aux_sym_variable_identifier_token1, - STATE(203), 1, + STATE(250), 1, sym_variable_identifier, - [4229] = 2, - ACTIONS(466), 1, + [7421] = 2, + ACTIONS(514), 1, aux_sym_variable_identifier_token1, - STATE(210), 1, + STATE(249), 1, sym_variable_identifier, - [4236] = 2, - ACTIONS(466), 1, + [7428] = 2, + ACTIONS(514), 1, aux_sym_variable_identifier_token1, - STATE(209), 1, + STATE(248), 1, sym_variable_identifier, - [4243] = 2, - ACTIONS(468), 1, - aux_sym_type_identifier_token1, - STATE(195), 1, - sym_type_identifier, - [4250] = 2, - ACTIONS(368), 1, + [7435] = 2, + ACTIONS(440), 1, aux_sym_variable_identifier_token1, - STATE(124), 1, + STATE(216), 1, sym_fn_identifier, - [4257] = 2, - ACTIONS(466), 1, + [7442] = 2, + ACTIONS(514), 1, aux_sym_variable_identifier_token1, - STATE(208), 1, + STATE(236), 1, sym_variable_identifier, - [4264] = 1, - ACTIONS(420), 2, + [7449] = 2, + ACTIONS(516), 1, + aux_sym_type_identifier_token1, + STATE(240), 1, + sym_type_identifier, + [7456] = 1, + ACTIONS(492), 2, aux_sym_variable_identifier_token1, aux_sym_type_identifier_token1, - [4269] = 2, - ACTIONS(466), 1, + [7461] = 2, + ACTIONS(514), 1, aux_sym_variable_identifier_token1, - STATE(206), 1, + STATE(246), 1, sym_variable_identifier, - [4276] = 1, - ACTIONS(470), 1, - anon_sym_EQ, - [4280] = 1, - ACTIONS(158), 1, - anon_sym_DOT, - [4284] = 1, - ACTIONS(472), 1, - anon_sym_DQUOTE, - [4288] = 1, - ACTIONS(474), 1, + [7468] = 1, + ACTIONS(518), 1, ts_builtin_sym_end, - [4292] = 1, - ACTIONS(476), 1, + [7472] = 1, + ACTIONS(520), 1, anon_sym_EQ, - [4296] = 1, - ACTIONS(478), 1, - anon_sym_DQUOTE, - [4300] = 1, - ACTIONS(480), 1, - anon_sym_RPAREN, - [4304] = 1, - ACTIONS(482), 1, + [7476] = 1, + ACTIONS(522), 1, + anon_sym_COLON, + [7480] = 1, + ACTIONS(524), 1, anon_sym_EQ, - [4308] = 1, - ACTIONS(484), 1, + [7484] = 1, + ACTIONS(526), 1, anon_sym_COLON, - [4312] = 1, - ACTIONS(486), 1, + [7488] = 1, + ACTIONS(528), 1, + anon_sym_EQ, + [7492] = 1, + ACTIONS(530), 1, + anon_sym_DQUOTE, + [7496] = 1, + ACTIONS(532), 1, anon_sym_DOT, - [4316] = 1, - ACTIONS(488), 1, + [7500] = 1, + ACTIONS(534), 1, anon_sym_DQUOTE, - [4320] = 1, - ACTIONS(490), 1, + [7504] = 1, + ACTIONS(298), 1, anon_sym_EQ, - [4324] = 1, - ACTIONS(492), 1, - anon_sym_DQUOTE, - [4328] = 1, - ACTIONS(494), 1, + [7508] = 1, + ACTIONS(302), 1, + anon_sym_DOT, + [7512] = 1, + ACTIONS(536), 1, anon_sym_EQ, - [4332] = 1, - ACTIONS(496), 1, + [7516] = 1, + ACTIONS(538), 1, + anon_sym_DQUOTE, + [7520] = 1, + ACTIONS(540), 1, anon_sym_EQ, - [4336] = 1, - ACTIONS(498), 1, + [7524] = 1, + ACTIONS(542), 1, anon_sym_EQ, - [4340] = 1, - ACTIONS(500), 1, - anon_sym_COLON, - [4344] = 1, - ACTIONS(154), 1, + [7528] = 1, + ACTIONS(544), 1, anon_sym_EQ, - [4348] = 1, - ACTIONS(502), 1, + [7532] = 1, + ACTIONS(546), 1, + anon_sym_DQUOTE, + [7536] = 1, + ACTIONS(548), 1, + anon_sym_RPAREN, + [7540] = 1, + ACTIONS(550), 1, anon_sym_DQUOTE, }; @@ -5923,426 +9031,490 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(36)] = 1926, [SMALL_STATE(37)] = 1978, [SMALL_STATE(38)] = 2030, - [SMALL_STATE(39)] = 2069, - [SMALL_STATE(40)] = 2108, - [SMALL_STATE(41)] = 2147, - [SMALL_STATE(42)] = 2167, - [SMALL_STATE(43)] = 2189, - [SMALL_STATE(44)] = 2215, - [SMALL_STATE(45)] = 2234, - [SMALL_STATE(46)] = 2253, - [SMALL_STATE(47)] = 2272, - [SMALL_STATE(48)] = 2291, - [SMALL_STATE(49)] = 2310, - [SMALL_STATE(50)] = 2329, - [SMALL_STATE(51)] = 2348, - [SMALL_STATE(52)] = 2367, - [SMALL_STATE(53)] = 2386, - [SMALL_STATE(54)] = 2405, - [SMALL_STATE(55)] = 2424, - [SMALL_STATE(56)] = 2443, - [SMALL_STATE(57)] = 2466, - [SMALL_STATE(58)] = 2485, - [SMALL_STATE(59)] = 2504, - [SMALL_STATE(60)] = 2523, - [SMALL_STATE(61)] = 2544, - [SMALL_STATE(62)] = 2563, - [SMALL_STATE(63)] = 2582, - [SMALL_STATE(64)] = 2601, - [SMALL_STATE(65)] = 2620, - [SMALL_STATE(66)] = 2639, - [SMALL_STATE(67)] = 2658, - [SMALL_STATE(68)] = 2679, - [SMALL_STATE(69)] = 2698, - [SMALL_STATE(70)] = 2716, - [SMALL_STATE(71)] = 2734, - [SMALL_STATE(72)] = 2752, - [SMALL_STATE(73)] = 2770, - [SMALL_STATE(74)] = 2788, - [SMALL_STATE(75)] = 2806, - [SMALL_STATE(76)] = 2824, - [SMALL_STATE(77)] = 2842, - [SMALL_STATE(78)] = 2860, - [SMALL_STATE(79)] = 2878, - [SMALL_STATE(80)] = 2896, - [SMALL_STATE(81)] = 2916, - [SMALL_STATE(82)] = 2934, - [SMALL_STATE(83)] = 2954, - [SMALL_STATE(84)] = 2972, - [SMALL_STATE(85)] = 2990, - [SMALL_STATE(86)] = 3008, - [SMALL_STATE(87)] = 3028, - [SMALL_STATE(88)] = 3046, - [SMALL_STATE(89)] = 3066, - [SMALL_STATE(90)] = 3084, - [SMALL_STATE(91)] = 3102, - [SMALL_STATE(92)] = 3120, - [SMALL_STATE(93)] = 3138, - [SMALL_STATE(94)] = 3156, - [SMALL_STATE(95)] = 3174, - [SMALL_STATE(96)] = 3192, - [SMALL_STATE(97)] = 3210, - [SMALL_STATE(98)] = 3228, - [SMALL_STATE(99)] = 3246, - [SMALL_STATE(100)] = 3264, - [SMALL_STATE(101)] = 3282, - [SMALL_STATE(102)] = 3300, - [SMALL_STATE(103)] = 3318, - [SMALL_STATE(104)] = 3336, - [SMALL_STATE(105)] = 3354, - [SMALL_STATE(106)] = 3372, - [SMALL_STATE(107)] = 3390, - [SMALL_STATE(108)] = 3408, - [SMALL_STATE(109)] = 3425, - [SMALL_STATE(110)] = 3440, - [SMALL_STATE(111)] = 3455, - [SMALL_STATE(112)] = 3470, - [SMALL_STATE(113)] = 3493, - [SMALL_STATE(114)] = 3516, - [SMALL_STATE(115)] = 3539, - [SMALL_STATE(116)] = 3562, - [SMALL_STATE(117)] = 3585, - [SMALL_STATE(118)] = 3599, - [SMALL_STATE(119)] = 3615, - [SMALL_STATE(120)] = 3629, - [SMALL_STATE(121)] = 3645, - [SMALL_STATE(122)] = 3659, - [SMALL_STATE(123)] = 3675, - [SMALL_STATE(124)] = 3691, - [SMALL_STATE(125)] = 3705, - [SMALL_STATE(126)] = 3721, - [SMALL_STATE(127)] = 3735, - [SMALL_STATE(128)] = 3743, - [SMALL_STATE(129)] = 3759, - [SMALL_STATE(130)] = 3773, - [SMALL_STATE(131)] = 3787, - [SMALL_STATE(132)] = 3801, - [SMALL_STATE(133)] = 3814, - [SMALL_STATE(134)] = 3827, - [SMALL_STATE(135)] = 3838, - [SMALL_STATE(136)] = 3849, - [SMALL_STATE(137)] = 3857, - [SMALL_STATE(138)] = 3863, - [SMALL_STATE(139)] = 3871, - [SMALL_STATE(140)] = 3879, - [SMALL_STATE(141)] = 3887, - [SMALL_STATE(142)] = 3895, - [SMALL_STATE(143)] = 3903, - [SMALL_STATE(144)] = 3911, - [SMALL_STATE(145)] = 3919, - [SMALL_STATE(146)] = 3927, - [SMALL_STATE(147)] = 3935, - [SMALL_STATE(148)] = 3943, - [SMALL_STATE(149)] = 3949, - [SMALL_STATE(150)] = 3955, - [SMALL_STATE(151)] = 3963, - [SMALL_STATE(152)] = 3971, - [SMALL_STATE(153)] = 3979, - [SMALL_STATE(154)] = 3987, - [SMALL_STATE(155)] = 3995, - [SMALL_STATE(156)] = 4003, - [SMALL_STATE(157)] = 4009, - [SMALL_STATE(158)] = 4017, - [SMALL_STATE(159)] = 4025, - [SMALL_STATE(160)] = 4035, - [SMALL_STATE(161)] = 4043, - [SMALL_STATE(162)] = 4049, - [SMALL_STATE(163)] = 4057, - [SMALL_STATE(164)] = 4065, - [SMALL_STATE(165)] = 4073, - [SMALL_STATE(166)] = 4079, - [SMALL_STATE(167)] = 4085, - [SMALL_STATE(168)] = 4091, - [SMALL_STATE(169)] = 4097, - [SMALL_STATE(170)] = 4105, - [SMALL_STATE(171)] = 4111, - [SMALL_STATE(172)] = 4117, - [SMALL_STATE(173)] = 4125, - [SMALL_STATE(174)] = 4131, - [SMALL_STATE(175)] = 4137, - [SMALL_STATE(176)] = 4145, - [SMALL_STATE(177)] = 4153, - [SMALL_STATE(178)] = 4159, - [SMALL_STATE(179)] = 4165, - [SMALL_STATE(180)] = 4173, - [SMALL_STATE(181)] = 4179, - [SMALL_STATE(182)] = 4185, - [SMALL_STATE(183)] = 4191, - [SMALL_STATE(184)] = 4199, - [SMALL_STATE(185)] = 4207, - [SMALL_STATE(186)] = 4215, - [SMALL_STATE(187)] = 4222, - [SMALL_STATE(188)] = 4229, - [SMALL_STATE(189)] = 4236, - [SMALL_STATE(190)] = 4243, - [SMALL_STATE(191)] = 4250, - [SMALL_STATE(192)] = 4257, - [SMALL_STATE(193)] = 4264, - [SMALL_STATE(194)] = 4269, - [SMALL_STATE(195)] = 4276, - [SMALL_STATE(196)] = 4280, - [SMALL_STATE(197)] = 4284, - [SMALL_STATE(198)] = 4288, - [SMALL_STATE(199)] = 4292, - [SMALL_STATE(200)] = 4296, - [SMALL_STATE(201)] = 4300, - [SMALL_STATE(202)] = 4304, - [SMALL_STATE(203)] = 4308, - [SMALL_STATE(204)] = 4312, - [SMALL_STATE(205)] = 4316, - [SMALL_STATE(206)] = 4320, - [SMALL_STATE(207)] = 4324, - [SMALL_STATE(208)] = 4328, - [SMALL_STATE(209)] = 4332, - [SMALL_STATE(210)] = 4336, - [SMALL_STATE(211)] = 4340, - [SMALL_STATE(212)] = 4344, - [SMALL_STATE(213)] = 4348, + [SMALL_STATE(39)] = 2082, + [SMALL_STATE(40)] = 2134, + [SMALL_STATE(41)] = 2186, + [SMALL_STATE(42)] = 2238, + [SMALL_STATE(43)] = 2290, + [SMALL_STATE(44)] = 2342, + [SMALL_STATE(45)] = 2394, + [SMALL_STATE(46)] = 2446, + [SMALL_STATE(47)] = 2498, + [SMALL_STATE(48)] = 2550, + [SMALL_STATE(49)] = 2602, + [SMALL_STATE(50)] = 2654, + [SMALL_STATE(51)] = 2706, + [SMALL_STATE(52)] = 2758, + [SMALL_STATE(53)] = 2810, + [SMALL_STATE(54)] = 2862, + [SMALL_STATE(55)] = 2914, + [SMALL_STATE(56)] = 2966, + [SMALL_STATE(57)] = 3018, + [SMALL_STATE(58)] = 3070, + [SMALL_STATE(59)] = 3102, + [SMALL_STATE(60)] = 3133, + [SMALL_STATE(61)] = 3164, + [SMALL_STATE(62)] = 3195, + [SMALL_STATE(63)] = 3226, + [SMALL_STATE(64)] = 3257, + [SMALL_STATE(65)] = 3288, + [SMALL_STATE(66)] = 3319, + [SMALL_STATE(67)] = 3350, + [SMALL_STATE(68)] = 3381, + [SMALL_STATE(69)] = 3412, + [SMALL_STATE(70)] = 3443, + [SMALL_STATE(71)] = 3474, + [SMALL_STATE(72)] = 3505, + [SMALL_STATE(73)] = 3536, + [SMALL_STATE(74)] = 3571, + [SMALL_STATE(75)] = 3602, + [SMALL_STATE(76)] = 3633, + [SMALL_STATE(77)] = 3666, + [SMALL_STATE(78)] = 3709, + [SMALL_STATE(79)] = 3742, + [SMALL_STATE(80)] = 3777, + [SMALL_STATE(81)] = 3814, + [SMALL_STATE(82)] = 3855, + [SMALL_STATE(83)] = 3886, + [SMALL_STATE(84)] = 3929, + [SMALL_STATE(85)] = 3961, + [SMALL_STATE(86)] = 3991, + [SMALL_STATE(87)] = 4021, + [SMALL_STATE(88)] = 4051, + [SMALL_STATE(89)] = 4093, + [SMALL_STATE(90)] = 4123, + [SMALL_STATE(91)] = 4153, + [SMALL_STATE(92)] = 4183, + [SMALL_STATE(93)] = 4225, + [SMALL_STATE(94)] = 4255, + [SMALL_STATE(95)] = 4285, + [SMALL_STATE(96)] = 4315, + [SMALL_STATE(97)] = 4345, + [SMALL_STATE(98)] = 4375, + [SMALL_STATE(99)] = 4417, + [SMALL_STATE(100)] = 4447, + [SMALL_STATE(101)] = 4477, + [SMALL_STATE(102)] = 4507, + [SMALL_STATE(103)] = 4537, + [SMALL_STATE(104)] = 4567, + [SMALL_STATE(105)] = 4597, + [SMALL_STATE(106)] = 4633, + [SMALL_STATE(107)] = 4663, + [SMALL_STATE(108)] = 4695, + [SMALL_STATE(109)] = 4729, + [SMALL_STATE(110)] = 4759, + [SMALL_STATE(111)] = 4789, + [SMALL_STATE(112)] = 4819, + [SMALL_STATE(113)] = 4849, + [SMALL_STATE(114)] = 4879, + [SMALL_STATE(115)] = 4911, + [SMALL_STATE(116)] = 4943, + [SMALL_STATE(117)] = 4977, + [SMALL_STATE(118)] = 5013, + [SMALL_STATE(119)] = 5053, + [SMALL_STATE(120)] = 5083, + [SMALL_STATE(121)] = 5113, + [SMALL_STATE(122)] = 5143, + [SMALL_STATE(123)] = 5173, + [SMALL_STATE(124)] = 5203, + [SMALL_STATE(125)] = 5233, + [SMALL_STATE(126)] = 5263, + [SMALL_STATE(127)] = 5293, + [SMALL_STATE(128)] = 5323, + [SMALL_STATE(129)] = 5353, + [SMALL_STATE(130)] = 5395, + [SMALL_STATE(131)] = 5435, + [SMALL_STATE(132)] = 5474, + [SMALL_STATE(133)] = 5513, + [SMALL_STATE(134)] = 5552, + [SMALL_STATE(135)] = 5574, + [SMALL_STATE(136)] = 5594, + [SMALL_STATE(137)] = 5614, + [SMALL_STATE(138)] = 5634, + [SMALL_STATE(139)] = 5656, + [SMALL_STATE(140)] = 5678, + [SMALL_STATE(141)] = 5702, + [SMALL_STATE(142)] = 5728, + [SMALL_STATE(143)] = 5756, + [SMALL_STATE(144)] = 5776, + [SMALL_STATE(145)] = 5806, + [SMALL_STATE(146)] = 5826, + [SMALL_STATE(147)] = 5854, + [SMALL_STATE(148)] = 5876, + [SMALL_STATE(149)] = 5906, + [SMALL_STATE(150)] = 5934, + [SMALL_STATE(151)] = 5954, + [SMALL_STATE(152)] = 5974, + [SMALL_STATE(153)] = 5994, + [SMALL_STATE(154)] = 6014, + [SMALL_STATE(155)] = 6034, + [SMALL_STATE(156)] = 6054, + [SMALL_STATE(157)] = 6074, + [SMALL_STATE(158)] = 6094, + [SMALL_STATE(159)] = 6114, + [SMALL_STATE(160)] = 6144, + [SMALL_STATE(161)] = 6172, + [SMALL_STATE(162)] = 6202, + [SMALL_STATE(163)] = 6222, + [SMALL_STATE(164)] = 6242, + [SMALL_STATE(165)] = 6262, + [SMALL_STATE(166)] = 6282, + [SMALL_STATE(167)] = 6302, + [SMALL_STATE(168)] = 6322, + [SMALL_STATE(169)] = 6342, + [SMALL_STATE(170)] = 6370, + [SMALL_STATE(171)] = 6392, + [SMALL_STATE(172)] = 6416, + [SMALL_STATE(173)] = 6442, + [SMALL_STATE(174)] = 6470, + [SMALL_STATE(175)] = 6490, + [SMALL_STATE(176)] = 6520, + [SMALL_STATE(177)] = 6548, + [SMALL_STATE(178)] = 6568, + [SMALL_STATE(179)] = 6596, + [SMALL_STATE(180)] = 6616, + [SMALL_STATE(181)] = 6636, + [SMALL_STATE(182)] = 6666, + [SMALL_STATE(183)] = 6686, + [SMALL_STATE(184)] = 6706, + [SMALL_STATE(185)] = 6726, + [SMALL_STATE(186)] = 6746, + [SMALL_STATE(187)] = 6766, + [SMALL_STATE(188)] = 6786, + [SMALL_STATE(189)] = 6806, + [SMALL_STATE(190)] = 6832, + [SMALL_STATE(191)] = 6852, + [SMALL_STATE(192)] = 6872, + [SMALL_STATE(193)] = 6891, + [SMALL_STATE(194)] = 6910, + [SMALL_STATE(195)] = 6929, + [SMALL_STATE(196)] = 6948, + [SMALL_STATE(197)] = 6965, + [SMALL_STATE(198)] = 6980, + [SMALL_STATE(199)] = 7003, + [SMALL_STATE(200)] = 7018, + [SMALL_STATE(201)] = 7033, + [SMALL_STATE(202)] = 7056, + [SMALL_STATE(203)] = 7079, + [SMALL_STATE(204)] = 7102, + [SMALL_STATE(205)] = 7125, + [SMALL_STATE(206)] = 7141, + [SMALL_STATE(207)] = 7155, + [SMALL_STATE(208)] = 7169, + [SMALL_STATE(209)] = 7183, + [SMALL_STATE(210)] = 7199, + [SMALL_STATE(211)] = 7213, + [SMALL_STATE(212)] = 7229, + [SMALL_STATE(213)] = 7237, + [SMALL_STATE(214)] = 7251, + [SMALL_STATE(215)] = 7267, + [SMALL_STATE(216)] = 7283, + [SMALL_STATE(217)] = 7297, + [SMALL_STATE(218)] = 7311, + [SMALL_STATE(219)] = 7327, + [SMALL_STATE(220)] = 7341, + [SMALL_STATE(221)] = 7354, + [SMALL_STATE(222)] = 7367, + [SMALL_STATE(223)] = 7378, + [SMALL_STATE(224)] = 7389, + [SMALL_STATE(225)] = 7397, + [SMALL_STATE(226)] = 7407, + [SMALL_STATE(227)] = 7414, + [SMALL_STATE(228)] = 7421, + [SMALL_STATE(229)] = 7428, + [SMALL_STATE(230)] = 7435, + [SMALL_STATE(231)] = 7442, + [SMALL_STATE(232)] = 7449, + [SMALL_STATE(233)] = 7456, + [SMALL_STATE(234)] = 7461, + [SMALL_STATE(235)] = 7468, + [SMALL_STATE(236)] = 7472, + [SMALL_STATE(237)] = 7476, + [SMALL_STATE(238)] = 7480, + [SMALL_STATE(239)] = 7484, + [SMALL_STATE(240)] = 7488, + [SMALL_STATE(241)] = 7492, + [SMALL_STATE(242)] = 7496, + [SMALL_STATE(243)] = 7500, + [SMALL_STATE(244)] = 7504, + [SMALL_STATE(245)] = 7508, + [SMALL_STATE(246)] = 7512, + [SMALL_STATE(247)] = 7516, + [SMALL_STATE(248)] = 7520, + [SMALL_STATE(249)] = 7524, + [SMALL_STATE(250)] = 7528, + [SMALL_STATE(251)] = 7532, + [SMALL_STATE(252)] = 7536, + [SMALL_STATE(253)] = 7540, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225), [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), [23] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234), [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), - [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(186), + [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(231), [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(5), - [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(72), - [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(126), - [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(74), - [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(127), - [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(113), - [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(41), - [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), + [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(86), + [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(208), + [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(87), + [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(212), + [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(198), + [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(58), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), - [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(192), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(229), [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(7), - [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(70), - [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(117), - [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(104), - [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(115), - [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(85), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(119), + [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(213), + [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(120), + [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(204), + [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(97), [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), - [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228), [118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), - [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), - [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188), - [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), - [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_identifier, 1), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_identifier, 1), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_identifier, 1), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_identifier, 1), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_identifier, 1), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [162] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(191), - [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), - [167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(190), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int16_literal, 2, .production_id = 2), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int16_literal, 2, .production_id = 2), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paren_expression, 3, .production_id = 3), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_paren_expression, 3, .production_id = 3), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint64_literal, 2, .production_id = 2), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint64_literal, 2, .production_id = 2), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, .production_id = 1), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, .production_id = 1), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_name, 1), - [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_name, 1), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int32_literal, 2, .production_id = 2), - [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int32_literal, 2, .production_id = 2), - [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int64_literal, 2, .production_id = 2), - [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int64_literal, 2, .production_id = 2), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int128_literal, 2, .production_id = 2), - [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int128_literal, 2, .production_id = 2), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint32_literal, 2, .production_id = 2), - [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint32_literal, 2, .production_id = 2), - [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_identifier, 1), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_identifier, 1), - [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int8_literal, 2, .production_id = 2), - [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int8_literal, 2, .production_id = 2), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, .production_id = 4), - [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, .production_id = 4), - [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint128_literal, 2, .production_id = 2), - [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint128_literal, 2, .production_id = 2), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl, 7, .production_id = 10), - [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_decl, 7, .production_id = 10), - [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_name, 2), - [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_name, 2), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint8_literal, 2, .production_id = 2), - [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint8_literal, 2, .production_id = 2), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_operation, 3, .production_id = 5), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_operation, 3, .production_id = 5), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 6), - [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 6), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), - [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint16_literal, 2, .production_id = 2), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint16_literal, 2, .production_id = 2), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 8), - [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 8), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_reference, 1), - [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_reference, 1), - [268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 1), - [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 1), - [274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_decl, 4, .production_id = 7), - [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_decl, 4, .production_id = 7), - [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_fn_name, 1), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_fn_name, 1), - [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_fn_name, 2), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_fn_name, 2), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_digits, 1), - [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), - [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), - [408] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), SHIFT_REPEAT(187), - [411] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), SHIFT_REPEAT(129), - [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl_params, 1), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_qualified_fn_name_repeat1, 2), - [422] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_qualified_fn_name_repeat1, 2), SHIFT_REPEAT(196), - [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), - [429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(134), - [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl_param, 5, .production_id = 9), - [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_decl_param, 5, .production_id = 9), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [474] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227), + [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), + [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_identifier, 1), + [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_identifier, 1), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int16_literal, 2, .production_id = 2), + [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int16_literal, 2, .production_id = 2), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1), + [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint8_literal, 2, .production_id = 2), + [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint8_literal, 2, .production_id = 2), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int32_literal, 2, .production_id = 2), + [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int32_literal, 2, .production_id = 2), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint32_literal, 2, .production_id = 2), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint32_literal, 2, .production_id = 2), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint64_literal, 2, .production_id = 2), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint64_literal, 2, .production_id = 2), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint128_literal, 2, .production_id = 2), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint128_literal, 2, .production_id = 2), + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int128_literal, 2, .production_id = 2), + [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int128_literal, 2, .production_id = 2), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int8_literal, 2, .production_id = 2), + [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int8_literal, 2, .production_id = 2), + [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, .production_id = 1), + [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, .production_id = 1), + [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint16_literal, 2, .production_id = 2), + [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint16_literal, 2, .production_id = 2), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int64_literal, 2, .production_id = 2), + [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int64_literal, 2, .production_id = 2), + [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_identifier, 1), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_identifier, 1), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paren_expression, 3, .production_id = 3), + [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_paren_expression, 3, .production_id = 3), + [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, .production_id = 4), + [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, .production_id = 4), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_operation, 3, .production_id = 5), + [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_operation, 3, .production_id = 5), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl, 7, .production_id = 10), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_decl, 7, .production_id = 10), + [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 6), + [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 6), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 8), + [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 8), + [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 1), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 1), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), + [272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), + [274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_identifier, 1), + [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_identifier, 1), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_identifier, 1), + [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(230), + [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), + [329] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(232), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_name, 1), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_name, 1), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_reference, 1), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_reference, 1), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_name, 2), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_name, 2), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_decl, 4, .production_id = 7), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_decl, 4, .production_id = 7), + [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_fn_name, 1), + [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_fn_name, 1), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_digits, 1), + [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_fn_name, 2), + [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_fn_name, 2), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), + [424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), SHIFT_REPEAT(226), + [427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), SHIFT_REPEAT(206), + [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl_params, 1), + [432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [454] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [478] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_qualified_fn_name_repeat1, 2), + [494] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_qualified_fn_name_repeat1, 2), SHIFT_REPEAT(245), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), + [501] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(222), + [504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl_param, 5, .production_id = 9), + [510] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_decl_param, 5, .production_id = 9), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [518] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), }; #ifdef __cplusplus diff --git a/tree-sitter-darklang/test/corpus/exhaustive/exprs/binary_operation.txt b/tree-sitter-darklang/test/corpus/exhaustive/exprs/binary_operation.txt new file mode 100644 index 0000000000..74858b9022 --- /dev/null +++ b/tree-sitter-darklang/test/corpus/exhaustive/exprs/binary_operation.txt @@ -0,0 +1,34 @@ +================== +logical AND +================== + +true && true + +--- + +(source_file + (expression + (infix_operation + (expression + (bool_literal)) + (operator) + (expression + (bool_literal))))) + + + +================== +logical OR +================== +true || true + +--- + +(source_file + (expression + (infix_operation + (expression + (bool_literal)) + (operator) + (expression + (bool_literal))))) diff --git a/tree-sitter-darklang/test/corpus/exhaustive/exprs/fn_calls.txt b/tree-sitter-darklang/test/corpus/exhaustive/exprs/fn_calls.txt index 26b0f0cf49..dd12324556 100644 --- a/tree-sitter-darklang/test/corpus/exhaustive/exprs/fn_calls.txt +++ b/tree-sitter-darklang/test/corpus/exhaustive/exprs/fn_calls.txt @@ -43,6 +43,56 @@ a + b + c ) +================== +infix * has higher precedence than infix + +i.e `a + b * c` should be parsed as `a + (b * c)` +================== + +a + b * c + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) + ) + ) +) + + +================== +infix ^ has higher precedence than infix * +i.e. `a * b ^ c` should be parsed as `a * (b ^ c)` +================== +a * b ^ c + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) + ) + ) +) + ================== basic function call (hacky) ================== From 34632ad25ffb20029147676727deae9d51be3aac Mon Sep 17 00:00:00 2001 From: Ocean Date: Tue, 12 Mar 2024 11:23:05 +0000 Subject: [PATCH 2/4] Delete comment --- tree-sitter-darklang/grammar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tree-sitter-darklang/grammar.js b/tree-sitter-darklang/grammar.js index fb00faedb3..09f8d62868 100644 --- a/tree-sitter-darklang/grammar.js +++ b/tree-sitter-darklang/grammar.js @@ -209,7 +209,7 @@ module.exports = grammar({ seq( field("left", $.expression), field("operator", alias(logicalOperators, $.operator)), - field("right", $.expression), // TODO maybe optional + field("right", $.expression), ), ), ), From 72deabd092da1883d8cdfc887124a9a5002d89a4 Mon Sep 17 00:00:00 2001 From: Ocean Date: Tue, 12 Mar 2024 14:39:53 +0000 Subject: [PATCH 3/4] Add some infix tests + some refactorings --- packages/darklang/languageTools/parser.dark | 57 ++++++-- .../darklang/languageTools/writtenTypes.dark | 6 +- .../writtenTypesToProgramTypes.dark | 94 +++++------- .../test/corpus/exhaustive/exprs/fn_calls.txt | 135 ++++++++++++++++++ 4 files changed, 217 insertions(+), 75 deletions(-) diff --git a/packages/darklang/languageTools/parser.dark b/packages/darklang/languageTools/parser.dark index 9e624447f3..fee8100d5e 100644 --- a/packages/darklang/languageTools/parser.dark +++ b/packages/darklang/languageTools/parser.dark @@ -657,21 +657,48 @@ module Darklang = match operatorNode with | Ok operatorNode -> match getText operatorNode with - | "+" -> WrittenTypes.InfixOperator.ArithmeticPlus - | "-" -> WrittenTypes.InfixOperator.ArithmeticMinus - | "*" -> WrittenTypes.InfixOperator.ArithmeticMultiply - | "/" -> WrittenTypes.InfixOperator.ArithmeticDivide - | "%" -> WrittenTypes.InfixOperator.ArithmeticModulo - | "^" -> WrittenTypes.InfixOperator.ArithmeticPower - | ">" -> WrittenTypes.InfixOperator.ComparisonGreaterThan - | ">=" -> WrittenTypes.InfixOperator.ComparisonGreaterThanOrEqual - | "<" -> WrittenTypes.InfixOperator.ComparisonLessThan - | "<=" -> WrittenTypes.InfixOperator.ComparisonLessThanOrEqual - | "==" -> WrittenTypes.InfixOperator.ComparisonEquals - | "!=" -> WrittenTypes.InfixOperator.ComparisonNotEquals - | "++" -> WrittenTypes.InfixOperator.StringConcat - | "&&" -> WrittenTypes.BinaryOperator.BinOpAnd - | "||" -> WrittenTypes.BinaryOperator.BinOpOr + | "+" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ArithmeticPlus + | "-" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ArithmeticMinus + | "*" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ArithmeticMultiply + | "/" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ArithmeticDivide + | "%" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ArithmeticModulo + | "^" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ArithmeticPower + | ">" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ComparisonGreaterThan + | ">=" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ComparisonGreaterThanOrEqual + | "<" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ComparisonLessThan + | "<=" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ComparisonLessThanOrEqual + | "==" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ComparisonEquals + | "!=" -> + WrittenTypes.Infix.InfixOperator + WrittenTypes.InfixOperator.ComparisonNotEquals + | "&&" -> + WrittenTypes.Infix.BinaryOperator + WrittenTypes.BinaryOperator.BinOpAnd + | "||" -> + WrittenTypes.Infix.BinaryOperator + WrittenTypes.BinaryOperator.BinOpOr | _ -> (WrittenTypes.Unparseable { source = node }) |> Stdlib.Result.Result.Error diff --git a/packages/darklang/languageTools/writtenTypes.dark b/packages/darklang/languageTools/writtenTypes.dark index 8e2b67ec16..6c92a107b1 100644 --- a/packages/darklang/languageTools/writtenTypes.dark +++ b/packages/darklang/languageTools/writtenTypes.dark @@ -74,6 +74,10 @@ module Darklang = // Expressions type LetPattern = LPVariable of SourceRange * name: String + type Infix = + | InfixOperator of InfixOperator + | BinaryOperator of BinaryOperator + type InfixOperator = | ArithmeticPlus | ArithmeticMinus @@ -156,7 +160,7 @@ module Darklang = | EInfix of SourceRange * - op: (SourceRange * InfixOperator) * + op: (SourceRange * Infix) * left: Expr * right: Expr diff --git a/packages/darklang/languageTools/writtenTypesToProgramTypes.dark b/packages/darklang/languageTools/writtenTypesToProgramTypes.dark index 3b6a877ede..19e493e125 100644 --- a/packages/darklang/languageTools/writtenTypesToProgramTypes.dark +++ b/packages/darklang/languageTools/writtenTypesToProgramTypes.dark @@ -136,6 +136,40 @@ module Darklang = deprecated = ProgramTypes.Deprecation.NotDeprecated } + module InfixFnName = + let toPT (infix: WrittenTypes.InfixOperator) : ProgramTypes.InfixFnName = + match infix with + | ArithmeticPlus -> ProgramTypes.InfixFnName.ArithmeticPlus + | ArithmeticMinus -> ProgramTypes.InfixFnName.ArithmeticMinus + | ArithmeticMultiply -> ProgramTypes.InfixFnName.ArithmeticMultiply + | ArithmeticDivide -> ProgramTypes.InfixFnName.ArithmeticDivide + | ArithmeticModulo -> ProgramTypes.InfixFnName.ArithmeticModulo + | ArithmeticPower -> ProgramTypes.InfixFnName.ArithmeticPower + | ComparisonGreaterThan -> ProgramTypes.InfixFnName.ComparisonGreaterThan + | ComparisonGreaterThanOrEqual -> + ProgramTypes.InfixFnName.ComparisonGreaterThanOrEqual + | ComparisonLessThan -> ProgramTypes.InfixFnName.ComparisonLessThan + | ComparisonLessThanOrEqual -> + ProgramTypes.InfixFnName.ComparisonLessThanOrEqual + | ComparisonEquals -> ProgramTypes.InfixFnName.ComparisonEquals + | ComparisonNotEquals -> ProgramTypes.InfixFnName.ComparisonNotEquals + | StringConcat -> ProgramTypes.InfixFnName.StringConcat + + + module BinaryOperation = + let toPT + (binop: WrittenTypes.BinaryOperator) + : ProgramTypes.BinaryOperation = + match binop with + | BinOpAnd -> ProgramTypes.BinaryOperation.BinOpAnd + | BinOpOr -> ProgramTypes.BinaryOperation.BinOpOr + + + module Infix = + let toPT (infix: WrittenTypes.Infix) : ProgramTypes.Infix = + match infix with + | InfixOperator op -> ProgramTypes.Infix.InfixFnCall(InfixFnName.toPT op) + | BinaryOperator op -> ProgramTypes.Infix.BinOp(BinaryOperation.toPT op) module Expr = module LetPattern = @@ -187,65 +221,7 @@ module Darklang = // fn calls | EInfix(_, (_, op), left, right) -> - let infix = - match op with - | ArithmeticPlus -> - ProgramTypes.InfixFnName.ArithmeticPlus - |> ProgramTypes.Infix.InfixFnCall - - | ArithmeticMinus -> - ProgramTypes.InfixFnName.ArithmeticMinus - |> ProgramTypes.Infix.InfixFnCall - - | ArithmeticMultiply -> - ProgramTypes.InfixFnName.ArithmeticMultiply - |> ProgramTypes.Infix.InfixFnCall - - | ArithmeticDivide -> - ProgramTypes.InfixFnName.ArithmeticDivide - |> ProgramTypes.Infix.InfixFnCall - - | ArithmeticModulo -> - ProgramTypes.InfixFnName.ArithmeticModulo - |> ProgramTypes.Infix.InfixFnCall - - | ArithmeticPower -> - ProgramTypes.InfixFnName.ArithmeticPower - |> ProgramTypes.Infix.InfixFnCall - - | ComparisonGreaterThan -> - ProgramTypes.InfixFnName.ComparisonGreaterThan - |> ProgramTypes.Infix.InfixFnCall - - | ComparisonGreaterThanOrEqual -> - ProgramTypes.InfixFnName.ComparisonGreaterThanOrEqual - |> ProgramTypes.Infix.InfixFnCall - - | ComparisonLessThan -> - ProgramTypes.InfixFnName.ComparisonLessThan - |> ProgramTypes.Infix.InfixFnCall - - | ComparisonLessThanOrEqual -> - ProgramTypes.InfixFnName.ComparisonLessThanOrEqual - |> ProgramTypes.Infix.InfixFnCall - - | ComparisonEquals -> - ProgramTypes.InfixFnName.ComparisonEquals - |> ProgramTypes.Infix.InfixFnCall - - | ComparisonNotEquals -> - ProgramTypes.InfixFnName.ComparisonNotEquals - |> ProgramTypes.Infix.InfixFnCall - - | StringConcat -> - ProgramTypes.InfixFnName.StringConcat - |> ProgramTypes.Infix.InfixFnCall - - | BinOpAnd -> - ProgramTypes.BinaryOperation.BinOpAnd |> ProgramTypes.Infix.BinOp - - | BinOpOr -> - ProgramTypes.BinaryOperation.BinOpOr |> ProgramTypes.Infix.BinOp + let infix = Infix.toPT op ProgramTypes.Expr.EInfix( gid (), diff --git a/tree-sitter-darklang/test/corpus/exhaustive/exprs/fn_calls.txt b/tree-sitter-darklang/test/corpus/exhaustive/exprs/fn_calls.txt index dd12324556..e08c09174f 100644 --- a/tree-sitter-darklang/test/corpus/exhaustive/exprs/fn_calls.txt +++ b/tree-sitter-darklang/test/corpus/exhaustive/exprs/fn_calls.txt @@ -93,6 +93,141 @@ a * b ^ c ) ) + + +================== +comparison operator > +================== + +a > b + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) +) + + +================== +comparison operator < +================== + +a < b + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) +) + + +================== +comparison operator >= +================== + +a >= b + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) +) + + +================== +comparison operator <= +================== + +a <= b + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) +) + + +================== +comparison operator == +================== + +a == b + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) +) + + +================== +comparison operator != +================== + +a != b + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) +) + + +================== +exponent operator ^ +================== + +a ^ b + +--- + +(source_file + (expression + (infix_operation + (expression (variable_identifier)) + (operator) + (expression (variable_identifier)) + ) + ) +) + + ================== basic function call (hacky) ================== From 85bea814c211335b85f1bac92a42a4f2530d2bdc Mon Sep 17 00:00:00 2001 From: Ocean Date: Tue, 12 Mar 2024 15:02:10 +0000 Subject: [PATCH 4/4] Rename InfixOperator and BinaryOperator --- packages/darklang/languageTools/parser.dark | 54 +++++++++---------- .../darklang/languageTools/writtenTypes.dark | 8 +-- .../writtenTypesToProgramTypes.dark | 8 +-- 3 files changed, 34 insertions(+), 36 deletions(-) diff --git a/packages/darklang/languageTools/parser.dark b/packages/darklang/languageTools/parser.dark index fee8100d5e..71ef40d707 100644 --- a/packages/darklang/languageTools/parser.dark +++ b/packages/darklang/languageTools/parser.dark @@ -658,47 +658,45 @@ module Darklang = | Ok operatorNode -> match getText operatorNode with | "+" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ArithmeticPlus + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ArithmeticPlus | "-" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ArithmeticMinus + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ArithmeticMinus | "*" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ArithmeticMultiply + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ArithmeticMultiply | "/" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ArithmeticDivide + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ArithmeticDivide | "%" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ArithmeticModulo + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ArithmeticModulo | "^" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ArithmeticPower + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ArithmeticPower | ">" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ComparisonGreaterThan + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ComparisonGreaterThan | ">=" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ComparisonGreaterThanOrEqual + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ComparisonGreaterThanOrEqual | "<" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ComparisonLessThan + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ComparisonLessThan | "<=" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ComparisonLessThanOrEqual + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ComparisonLessThanOrEqual | "==" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ComparisonEquals + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ComparisonEquals | "!=" -> - WrittenTypes.Infix.InfixOperator - WrittenTypes.InfixOperator.ComparisonNotEquals + WrittenTypes.Infix.InfixFnCall + WrittenTypes.InfixFnName.ComparisonNotEquals | "&&" -> - WrittenTypes.Infix.BinaryOperator - WrittenTypes.BinaryOperator.BinOpAnd + WrittenTypes.Infix.BinOp WrittenTypes.BinaryOperation.BinOpAnd | "||" -> - WrittenTypes.Infix.BinaryOperator - WrittenTypes.BinaryOperator.BinOpOr + WrittenTypes.Infix.BinOp WrittenTypes.BinaryOperation.BinOpOr | _ -> (WrittenTypes.Unparseable { source = node }) |> Stdlib.Result.Result.Error diff --git a/packages/darklang/languageTools/writtenTypes.dark b/packages/darklang/languageTools/writtenTypes.dark index 6c92a107b1..4776d73638 100644 --- a/packages/darklang/languageTools/writtenTypes.dark +++ b/packages/darklang/languageTools/writtenTypes.dark @@ -75,10 +75,10 @@ module Darklang = type LetPattern = LPVariable of SourceRange * name: String type Infix = - | InfixOperator of InfixOperator - | BinaryOperator of BinaryOperator + | InfixFnCall of InfixFnName + | BinOp of BinaryOperation - type InfixOperator = + type InfixFnName = | ArithmeticPlus | ArithmeticMinus | ArithmeticMultiply @@ -93,7 +93,7 @@ module Darklang = | ComparisonNotEquals | StringConcat - type BinaryOperator = + type BinaryOperation = | BinOpAnd | BinOpOr diff --git a/packages/darklang/languageTools/writtenTypesToProgramTypes.dark b/packages/darklang/languageTools/writtenTypesToProgramTypes.dark index 19e493e125..415ba2519e 100644 --- a/packages/darklang/languageTools/writtenTypesToProgramTypes.dark +++ b/packages/darklang/languageTools/writtenTypesToProgramTypes.dark @@ -137,7 +137,7 @@ module Darklang = module InfixFnName = - let toPT (infix: WrittenTypes.InfixOperator) : ProgramTypes.InfixFnName = + let toPT (infix: WrittenTypes.InfixFnName) : ProgramTypes.InfixFnName = match infix with | ArithmeticPlus -> ProgramTypes.InfixFnName.ArithmeticPlus | ArithmeticMinus -> ProgramTypes.InfixFnName.ArithmeticMinus @@ -158,7 +158,7 @@ module Darklang = module BinaryOperation = let toPT - (binop: WrittenTypes.BinaryOperator) + (binop: WrittenTypes.BinaryOperation) : ProgramTypes.BinaryOperation = match binop with | BinOpAnd -> ProgramTypes.BinaryOperation.BinOpAnd @@ -168,8 +168,8 @@ module Darklang = module Infix = let toPT (infix: WrittenTypes.Infix) : ProgramTypes.Infix = match infix with - | InfixOperator op -> ProgramTypes.Infix.InfixFnCall(InfixFnName.toPT op) - | BinaryOperator op -> ProgramTypes.Infix.BinOp(BinaryOperation.toPT op) + | InfixFnCall op -> ProgramTypes.Infix.InfixFnCall(InfixFnName.toPT op) + | BinOp op -> ProgramTypes.Infix.BinOp(BinaryOperation.toPT op) module Expr = module LetPattern =