diff --git a/backend/testfiles/execution/stdlib/parser.dark b/backend/testfiles/execution/stdlib/parser.dark index 55547f8b23..33014d73f1 100644 --- a/backend/testfiles/execution/stdlib/parser.dark +++ b/backend/testfiles/execution/stdlib/parser.dark @@ -264,6 +264,11 @@ module TextToTextRoundtripping = ("\"hello\"" |> roundtripCliScript) = "\"hello\"" ("\"hello\\tworld\"" |> roundtripCliScript) = "\"hello\\tworld\"" + // char literals + ("'a'" |> roundtripCliScript) = "'a'" + ("'\\n'" |> roundtripCliScript) = "'\\n'" + ("'\t'" |> roundtripCliScript) = "'\t'" + // variables and let bindings ("assumedlyAVariableName" |> roundtripCliScript) = "assumedlyAVariableName" // TODO: this is ugly diff --git a/packages/darklang/languageTools/parser.dark b/packages/darklang/languageTools/parser.dark index 71ef40d707..59fc94cb47 100644 --- a/packages/darklang/languageTools/parser.dark +++ b/packages/darklang/languageTools/parser.dark @@ -580,6 +580,39 @@ module Darklang = (WrittenTypes.Unparseable { source = node }) |> Stdlib.Result.Result.Error + let parseCharLiteral + (node: ParsedNode) + : Stdlib.Result.Result = + if node.typ == "char_literal" then + let openQuoteNode = + (findNodeByFieldName node "symbol_open_single_quote") + |> Stdlib.Option.toResult + "No symbol_open_single_quote node found in char_literal" + + let charNode = + match findNodeByFieldName node "content" with + | Some charPart -> + Stdlib.Option.Option.Some((charPart.sourceRange, charPart.text)) + | None -> Stdlib.Option.Option.None + + let closeQuoteNode = + (findNodeByFieldName node "symbol_close_single_quote") + |> Stdlib.Option.toResult + "No symbol_close_single_quote node found in char_literal" + + match openQuoteNode, closeQuoteNode with + | Ok openQuoteNode, Ok closeQuoteNode -> + (WrittenTypes.Expr.EChar( + node.sourceRange, + charNode, + openQuoteNode.sourceRange, + closeQuoteNode.sourceRange + )) + |> Stdlib.Result.Result.Ok + + | _ -> + (WrittenTypes.Unparseable { source = node }) + |> Stdlib.Result.Result.Error let parseLetExpr (node: ParsedNode) @@ -804,6 +837,7 @@ module Darklang = | "uint128_literal" -> parseIntLiteral node | "float_literal" -> parseFloatLiteral node | "string_literal" -> parseStringLiteral node + | "char_literal" -> parseCharLiteral node // assigning and accessing variables | "let_expression" -> parseLetExpr node diff --git a/packages/darklang/languageTools/semanticTokens.dark b/packages/darklang/languageTools/semanticTokens.dark index 8ffce87afe..baac6a9fed 100644 --- a/packages/darklang/languageTools/semanticTokens.dark +++ b/packages/darklang/languageTools/semanticTokens.dark @@ -231,6 +231,18 @@ module Darklang = [ makeToken symbolCloseQuote TokenType.Symbol ] ] |> Stdlib.List.flatten + // 'a' + | EChar(range, _contentsMaybe, symbolOpenQuote, symbolCloseQuote) -> + [ // ' + [ makeToken symbolOpenQuote TokenType.Symbol ] + + // a + [ makeToken range TokenType.String ] + + // ' + [ makeToken symbolCloseQuote TokenType.Symbol ] ] + |> Stdlib.List.flatten + // let x = 2 // x + 1 | ELet(range, lp, expr, body, keywordLet, symbolEquals) -> diff --git a/packages/darklang/languageTools/writtenTypes.dark b/packages/darklang/languageTools/writtenTypes.dark index 4776d73638..cbc2c47ed1 100644 --- a/packages/darklang/languageTools/writtenTypes.dark +++ b/packages/darklang/languageTools/writtenTypes.dark @@ -147,6 +147,11 @@ module Darklang = contents: Stdlib.Option.Option * symbolOpenQuote: SourceRange * symbolCloseQuote: SourceRange + | EChar of + SourceRange * + contents: Stdlib.Option.Option * + symbolOpenQuote: SourceRange * + symbolCloseQuote: SourceRange | ELet of SourceRange * diff --git a/packages/darklang/languageTools/writtenTypesToProgramTypes.dark b/packages/darklang/languageTools/writtenTypesToProgramTypes.dark index 415ba2519e..3809a9c8de 100644 --- a/packages/darklang/languageTools/writtenTypesToProgramTypes.dark +++ b/packages/darklang/languageTools/writtenTypesToProgramTypes.dark @@ -206,6 +206,10 @@ module Darklang = gid (), [ ProgramTypes.StringSegment.StringText s ] ) + | EChar(_, c, _, _) -> + match c with + | None -> ProgramTypes.Expr.EChar(gid (), "") + | Some((_, c)) -> ProgramTypes.Expr.EChar(gid (), c) // declaring and accessing variables | ELet(_, pat, rhs, body, _, _) -> diff --git a/packages/darklang/prettyPrinter/programTypes.dark b/packages/darklang/prettyPrinter/programTypes.dark index 56465cc3fc..c2a4f4c3b4 100644 --- a/packages/darklang/prettyPrinter/programTypes.dark +++ b/packages/darklang/prettyPrinter/programTypes.dark @@ -718,7 +718,7 @@ module Darklang = $"{signPart}{whole}.{remainderPart}" - | EChar(_id, c) -> "\"" ++ c ++ "\"" + | EChar(_id, c) -> "'" ++ c ++ "'" | EString(_id, segments) -> match segments with diff --git a/tree-sitter-darklang/grammar.js b/tree-sitter-darklang/grammar.js index 09f8d62868..edfbe3fbb4 100644 --- a/tree-sitter-darklang/grammar.js +++ b/tree-sitter-darklang/grammar.js @@ -82,6 +82,7 @@ module.exports = grammar({ $.uint128_literal, $.float_literal, $.string_literal, + $.char_literal, $.let_expression, $.variable_identifier, @@ -129,6 +130,7 @@ module.exports = grammar({ // // Strings + // TODO: maybe add support for multiline strings (""") string_literal: $ => choice( seq( @@ -146,12 +148,30 @@ module.exports = grammar({ choice( // higher precedence than escape sequences token.immediate(prec(1, /[^\\"\n]+/)), - $.string_escape_sequence, + $.char_or_string_escape_sequence, ), ), - string_escape_sequence: _ => + + // + // Characters + char_literal: $ => + seq( + field("symbol_open_single_quote", alias("'", $.symbol)), + field("content", $.character), + field("symbol_close_single_quote", alias("'", $.symbol)), + ), + character: $ => + choice( + // higher precedence than escape sequences + token.immediate(prec(1, /[^'\\\n]/)), + $.char_or_string_escape_sequence, + ), + + char_or_string_escape_sequence: _ => token.immediate(seq("\\", /(\"|\\|\/|b|f|n|r|t|u)/)), + // + // Infix operations infix_operation: $ => // given `1 + 2 * 3`, this will parse as `1 + (2 * 3)` choice( @@ -214,6 +234,8 @@ module.exports = grammar({ ), ), + // + // Integers //CLEANUP: we are using .NET suffixes for integers (e.g. `1L` for Int64) temporarily until we remove the old parser. int8_literal: $ => seq(field("digits", $.digits), field("suffix", alias("y", $.symbol))), @@ -260,11 +282,14 @@ module.exports = grammar({ field("suffix", alias("Z", $.symbol)), ), - float_literal: $ => /[+-]?[0-9]+\.[0-9]+/, digits: $ => choice($.positive_digits, $.negative_digits), negative_digits: $ => /-\d+/, positive_digits: $ => /\d+/, + // + // Floats + float_literal: $ => /[+-]?[0-9]+\.[0-9]+/, + // // Common type_reference: $ => choice($.builtin_type, $.qualified_type_name), diff --git a/tree-sitter-darklang/src/grammar.json b/tree-sitter-darklang/src/grammar.json index 93b2cb4454..f26c97fe85 100644 --- a/tree-sitter-darklang/src/grammar.json +++ b/tree-sitter-darklang/src/grammar.json @@ -291,6 +291,10 @@ "type": "SYMBOL", "name": "string_literal" }, + { + "type": "SYMBOL", + "name": "char_literal" + }, { "type": "SYMBOL", "name": "let_expression" @@ -563,12 +567,71 @@ }, { "type": "SYMBOL", - "name": "string_escape_sequence" + "name": "char_or_string_escape_sequence" } ] } }, - "string_escape_sequence": { + "char_literal": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "symbol_open_single_quote", + "content": { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'" + }, + "named": true, + "value": "symbol" + } + }, + { + "type": "FIELD", + "name": "content", + "content": { + "type": "SYMBOL", + "name": "character" + } + }, + { + "type": "FIELD", + "name": "symbol_close_single_quote", + "content": { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'" + }, + "named": true, + "value": "symbol" + } + } + ] + }, + "character": { + "type": "CHOICE", + "members": [ + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "PATTERN", + "value": "[^'\\\\\\n]" + } + } + }, + { + "type": "SYMBOL", + "name": "char_or_string_escape_sequence" + } + ] + }, + "char_or_string_escape_sequence": { "type": "IMMEDIATE_TOKEN", "content": { "type": "SEQ", @@ -1142,10 +1205,6 @@ } ] }, - "float_literal": { - "type": "PATTERN", - "value": "[+-]?[0-9]+\\.[0-9]+" - }, "digits": { "type": "CHOICE", "members": [ @@ -1167,6 +1226,10 @@ "type": "PATTERN", "value": "\\d+" }, + "float_literal": { + "type": "PATTERN", + "value": "[+-]?[0-9]+\\.[0-9]+" + }, "type_reference": { "type": "CHOICE", "members": [ diff --git a/tree-sitter-darklang/src/node-types.json b/tree-sitter-darklang/src/node-types.json index 7d278908df..da5e886964 100644 --- a/tree-sitter-darklang/src/node-types.json +++ b/tree-sitter-darklang/src/node-types.json @@ -9,6 +9,57 @@ "named": true, "fields": {} }, + { + "type": "char_literal", + "named": true, + "fields": { + "content": { + "multiple": false, + "required": true, + "types": [ + { + "type": "character", + "named": true + } + ] + }, + "symbol_close_single_quote": { + "multiple": false, + "required": true, + "types": [ + { + "type": "symbol", + "named": true + } + ] + }, + "symbol_open_single_quote": { + "multiple": false, + "required": true, + "types": [ + { + "type": "symbol", + "named": true + } + ] + } + } + }, + { + "type": "character", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "char_or_string_escape_sequence", + "named": true + } + ] + } + }, { "type": "digits", "named": true, @@ -40,6 +91,10 @@ "type": "bool_literal", "named": true }, + { + "type": "char_literal", + "named": true + }, { "type": "float_literal", "named": true @@ -658,7 +713,7 @@ "required": false, "types": [ { - "type": "string_escape_sequence", + "type": "char_or_string_escape_sequence", "named": true } ] @@ -909,6 +964,10 @@ "type": "\n", "named": false }, + { + "type": "char_or_string_escape_sequence", + "named": true + }, { "type": "float_literal", "named": true @@ -929,10 +988,6 @@ "type": "positive_digits", "named": true }, - { - "type": "string_escape_sequence", - "named": true - }, { "type": "symbol", "named": true diff --git a/tree-sitter-darklang/src/parser.c b/tree-sitter-darklang/src/parser.c index ec29689dd5..eddf505679 100644 --- a/tree-sitter-darklang/src/parser.c +++ b/tree-sitter-darklang/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 254 +#define STATE_COUNT 270 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 98 +#define SYMBOL_COUNT 102 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 61 +#define TOKEN_COUNT 63 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 23 +#define FIELD_COUNT 25 #define MAX_ALIAS_SEQUENCE_LENGTH 7 -#define PRODUCTION_ID_COUNT 11 +#define PRODUCTION_ID_COUNT 12 enum { anon_sym_let = 1, @@ -28,92 +28,96 @@ enum { anon_sym_LF = 9, anon_sym_DQUOTE = 10, aux_sym_string_content_token1 = 11, - sym_string_escape_sequence = 12, - 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, + anon_sym_SQUOTE = 12, + aux_sym_character_token1 = 13, + sym_char_or_string_escape_sequence = 14, + anon_sym_CARET = 15, + anon_sym_STAR = 16, + anon_sym_SLASH = 17, + anon_sym_PERCENT = 18, + anon_sym_PLUS = 19, + anon_sym_DASH = 20, + anon_sym_EQ_EQ = 21, + anon_sym_BANG_EQ = 22, + anon_sym_LT = 23, + anon_sym_LT_EQ = 24, + anon_sym_GT = 25, + anon_sym_GT_EQ = 26, + anon_sym_AMP_AMP = 27, + anon_sym_PIPE_PIPE = 28, + anon_sym_y = 29, + anon_sym_uy = 30, + anon_sym_s = 31, + anon_sym_us = 32, + anon_sym_l = 33, + anon_sym_ul = 34, + anon_sym_L = 35, + anon_sym_UL = 36, + anon_sym_Q = 37, + anon_sym_Z = 38, + sym_negative_digits = 39, + sym_positive_digits = 40, + sym_float_literal = 41, + aux_sym_builtin_type_token1 = 42, + aux_sym_builtin_type_token2 = 43, + aux_sym_builtin_type_token3 = 44, + aux_sym_builtin_type_token4 = 45, + aux_sym_builtin_type_token5 = 46, + aux_sym_builtin_type_token6 = 47, + aux_sym_builtin_type_token7 = 48, + aux_sym_builtin_type_token8 = 49, + aux_sym_builtin_type_token9 = 50, + aux_sym_builtin_type_token10 = 51, + aux_sym_builtin_type_token11 = 52, + aux_sym_builtin_type_token12 = 53, + aux_sym_builtin_type_token13 = 54, + aux_sym_builtin_type_token14 = 55, + aux_sym_builtin_type_token15 = 56, + aux_sym_builtin_type_token16 = 57, + aux_sym_builtin_type_token17 = 58, + anon_sym_DOT = 59, + aux_sym_variable_identifier_token1 = 60, + aux_sym_type_identifier_token1 = 61, + sym_unit = 62, + sym_source_file = 63, + sym_fn_decl = 64, + sym_fn_decl_params = 65, + sym_fn_decl_param = 66, + sym_type_decl = 67, + sym_expression = 68, + sym_paren_expression = 69, + sym_bool_literal = 70, + sym_function_call = 71, + sym_let_expression = 72, + sym_string_literal = 73, + sym_string_content = 74, + sym_char_literal = 75, + sym_character = 76, + sym_infix_operation = 77, + sym_int8_literal = 78, + sym_uint8_literal = 79, + sym_int16_literal = 80, + sym_uint16_literal = 81, + sym_int32_literal = 82, + sym_uint32_literal = 83, + sym_int64_literal = 84, + sym_uint64_literal = 85, + sym_int128_literal = 86, + sym_uint128_literal = 87, + sym_digits = 88, + sym_type_reference = 89, + sym_builtin_type = 90, + sym_qualified_fn_name = 91, + sym_qualified_type_name = 92, + sym_variable_identifier = 93, + sym_fn_identifier = 94, + sym_type_identifier = 95, + sym_module_identifier = 96, + aux_sym_source_file_repeat1 = 97, + aux_sym_source_file_repeat2 = 98, + aux_sym_fn_decl_params_repeat1 = 99, + aux_sym_string_content_repeat1 = 100, + aux_sym_qualified_fn_name_repeat1 = 101, }; static const char * const ts_symbol_names[] = { @@ -129,7 +133,9 @@ static const char * const ts_symbol_names[] = { [anon_sym_LF] = "\n", [anon_sym_DQUOTE] = "symbol", [aux_sym_string_content_token1] = "string_content_token1", - [sym_string_escape_sequence] = "string_escape_sequence", + [anon_sym_SQUOTE] = "symbol", + [aux_sym_character_token1] = "character_token1", + [sym_char_or_string_escape_sequence] = "char_or_string_escape_sequence", [anon_sym_CARET] = "operator", [anon_sym_STAR] = "operator", [anon_sym_SLASH] = "operator", @@ -154,9 +160,9 @@ static const char * const ts_symbol_names[] = { [anon_sym_UL] = "symbol", [anon_sym_Q] = "symbol", [anon_sym_Z] = "symbol", - [sym_float_literal] = "float_literal", [sym_negative_digits] = "negative_digits", [sym_positive_digits] = "positive_digits", + [sym_float_literal] = "float_literal", [aux_sym_builtin_type_token1] = "builtin_type_token1", [aux_sym_builtin_type_token2] = "builtin_type_token2", [aux_sym_builtin_type_token3] = "builtin_type_token3", @@ -190,6 +196,8 @@ static const char * const ts_symbol_names[] = { [sym_let_expression] = "let_expression", [sym_string_literal] = "string_literal", [sym_string_content] = "string_content", + [sym_char_literal] = "char_literal", + [sym_character] = "character", [sym_infix_operation] = "infix_operation", [sym_int8_literal] = "int8_literal", [sym_uint8_literal] = "uint8_literal", @@ -230,7 +238,9 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LF] = anon_sym_LF, [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_SQUOTE] = anon_sym_COLON, + [aux_sym_character_token1] = aux_sym_character_token1, + [sym_char_or_string_escape_sequence] = sym_char_or_string_escape_sequence, [anon_sym_CARET] = anon_sym_CARET, [anon_sym_STAR] = anon_sym_CARET, [anon_sym_SLASH] = anon_sym_CARET, @@ -255,9 +265,9 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_UL] = anon_sym_COLON, [anon_sym_Q] = anon_sym_COLON, [anon_sym_Z] = anon_sym_COLON, - [sym_float_literal] = sym_float_literal, [sym_negative_digits] = sym_negative_digits, [sym_positive_digits] = sym_positive_digits, + [sym_float_literal] = sym_float_literal, [aux_sym_builtin_type_token1] = aux_sym_builtin_type_token1, [aux_sym_builtin_type_token2] = aux_sym_builtin_type_token2, [aux_sym_builtin_type_token3] = aux_sym_builtin_type_token3, @@ -291,6 +301,8 @@ static const TSSymbol ts_symbol_map[] = { [sym_let_expression] = sym_let_expression, [sym_string_literal] = sym_string_literal, [sym_string_content] = sym_string_content, + [sym_char_literal] = sym_char_literal, + [sym_character] = sym_character, [sym_infix_operation] = sym_infix_operation, [sym_int8_literal] = sym_int8_literal, [sym_uint8_literal] = sym_uint8_literal, @@ -367,7 +379,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [sym_string_escape_sequence] = { + [anon_sym_SQUOTE] = { + .visible = true, + .named = true, + }, + [aux_sym_character_token1] = { + .visible = false, + .named = false, + }, + [sym_char_or_string_escape_sequence] = { .visible = true, .named = true, }, @@ -467,15 +487,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_float_literal] = { + [sym_negative_digits] = { .visible = true, .named = true, }, - [sym_negative_digits] = { + [sym_positive_digits] = { .visible = true, .named = true, }, - [sym_positive_digits] = { + [sym_float_literal] = { .visible = true, .named = true, }, @@ -611,6 +631,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_char_literal] = { + .visible = true, + .named = true, + }, + [sym_character] = { + .visible = true, + .named = true, + }, [sym_infix_operation] = { .visible = true, .named = true, @@ -731,12 +759,14 @@ enum { field_right = 15, field_suffix = 16, field_symbol_close_quote = 17, - field_symbol_colon = 18, - field_symbol_equals = 19, - field_symbol_left_paren = 20, - field_symbol_open_quote = 21, - field_symbol_right_paren = 22, - field_typ = 23, + field_symbol_close_single_quote = 18, + field_symbol_colon = 19, + field_symbol_equals = 20, + field_symbol_left_paren = 21, + field_symbol_open_quote = 22, + field_symbol_open_single_quote = 23, + field_symbol_right_paren = 24, + field_typ = 25, }; static const char * const ts_field_names[] = { @@ -758,10 +788,12 @@ static const char * const ts_field_names[] = { [field_right] = "right", [field_suffix] = "suffix", [field_symbol_close_quote] = "symbol_close_quote", + [field_symbol_close_single_quote] = "symbol_close_single_quote", [field_symbol_colon] = "symbol_colon", [field_symbol_equals] = "symbol_equals", [field_symbol_left_paren] = "symbol_left_paren", [field_symbol_open_quote] = "symbol_open_quote", + [field_symbol_open_single_quote] = "symbol_open_single_quote", [field_symbol_right_paren] = "symbol_right_paren", [field_typ] = "typ", }; @@ -772,11 +804,12 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [3] = {.index = 4, .length = 3}, [4] = {.index = 7, .length = 3}, [5] = {.index = 10, .length = 3}, - [6] = {.index = 13, .length = 4}, - [7] = {.index = 17, .length = 4}, - [8] = {.index = 21, .length = 5}, - [9] = {.index = 26, .length = 5}, - [10] = {.index = 31, .length = 7}, + [6] = {.index = 13, .length = 3}, + [7] = {.index = 16, .length = 4}, + [8] = {.index = 20, .length = 4}, + [9] = {.index = 24, .length = 5}, + [10] = {.index = 29, .length = 5}, + [11] = {.index = 34, .length = 7}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -795,32 +828,36 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_symbol_close_quote, 2}, {field_symbol_open_quote, 0}, [10] = + {field_content, 1}, + {field_symbol_close_single_quote, 2}, + {field_symbol_open_single_quote, 0}, + [13] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [13] = + [16] = {field_args, 2}, {field_fn, 1}, {field_symbol_left_paren, 0}, {field_symbol_right_paren, 3}, - [17] = + [20] = {field_keyword_type, 0}, {field_name, 1}, {field_symbol_equals, 2}, {field_typ, 3}, - [21] = + [24] = {field_body, 5}, {field_expr, 3}, {field_identifier, 1}, {field_keyword_let, 0}, {field_symbol_equals, 2}, - [26] = + [29] = {field_identifier, 1}, {field_symbol_colon, 2}, {field_symbol_left_paren, 0}, {field_symbol_right_paren, 4}, {field_typ, 3}, - [31] = + [34] = {field_body, 6}, {field_keyword_let, 0}, {field_name, 1}, @@ -848,14 +885,14 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [6] = 3, [7] = 3, [8] = 8, - [9] = 9, - [10] = 8, + [9] = 8, + [10] = 10, [11] = 11, [12] = 12, - [13] = 9, - [14] = 9, - [15] = 9, - [16] = 9, + [13] = 11, + [14] = 11, + [15] = 11, + [16] = 11, [17] = 17, [18] = 17, [19] = 17, @@ -864,47 +901,47 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [22] = 22, [23] = 23, [24] = 24, - [25] = 22, - [26] = 23, + [25] = 25, + [26] = 26, [27] = 27, - [28] = 22, - [29] = 22, - [30] = 30, - [31] = 31, - [32] = 32, + [28] = 23, + [29] = 29, + [30] = 25, + [31] = 26, + [32] = 27, [33] = 23, - [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, + [34] = 22, + [35] = 29, + [36] = 25, + [37] = 26, + [38] = 27, + [39] = 29, + [40] = 22, + [41] = 25, + [42] = 27, + [43] = 26, + [44] = 23, + [45] = 22, + [46] = 29, + [47] = 29, + [48] = 22, + [49] = 49, [50] = 24, - [51] = 23, + [51] = 24, [52] = 24, - [53] = 35, - [54] = 31, - [55] = 30, - [56] = 27, - [57] = 35, + [53] = 23, + [54] = 27, + [55] = 25, + [56] = 26, + [57] = 24, [58] = 58, [59] = 59, [60] = 60, [61] = 61, [62] = 62, - [63] = 63, + [63] = 58, [64] = 64, - [65] = 58, + [65] = 65, [66] = 66, [67] = 67, [68] = 68, @@ -923,176 +960,192 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [81] = 81, [82] = 82, [83] = 83, - [84] = 78, - [85] = 63, - [86] = 61, - [87] = 60, - [88] = 88, - [89] = 69, + [84] = 84, + [85] = 73, + [86] = 59, + [87] = 76, + [88] = 79, + [89] = 75, [90] = 70, - [91] = 62, - [92] = 83, - [93] = 71, + [91] = 77, + [92] = 76, + [93] = 80, [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, + [95] = 68, + [96] = 81, + [97] = 82, + [98] = 84, + [99] = 60, + [100] = 77, + [101] = 58, + [102] = 102, + [103] = 83, + [104] = 102, + [105] = 62, + [106] = 61, + [107] = 68, + [108] = 65, + [109] = 66, + [110] = 71, + [111] = 78, + [112] = 69, + [113] = 59, + [114] = 79, + [115] = 83, + [116] = 60, + [117] = 84, + [118] = 82, + [119] = 81, + [120] = 80, + [121] = 73, [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] = 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, + [123] = 69, + [124] = 61, + [125] = 62, + [126] = 74, + [127] = 64, + [128] = 65, + [129] = 66, + [130] = 71, + [131] = 74, + [132] = 75, + [133] = 78, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 137, + [138] = 138, + [139] = 59, + [140] = 140, + [141] = 79, + [142] = 83, + [143] = 60, + [144] = 84, + [145] = 82, + [146] = 81, + [147] = 80, + [148] = 73, + [149] = 70, + [150] = 69, + [151] = 68, [152] = 58, - [153] = 70, - [154] = 62, - [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, + [153] = 153, + [154] = 61, + [155] = 62, + [156] = 58, + [157] = 64, + [158] = 65, + [159] = 66, + [160] = 71, + [161] = 74, + [162] = 75, + [163] = 163, + [164] = 77, + [165] = 76, + [166] = 153, + [167] = 163, + [168] = 76, + [169] = 77, [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] = 194, - [195] = 195, - [196] = 196, - [197] = 197, + [171] = 59, + [172] = 79, + [173] = 83, + [174] = 60, + [175] = 84, + [176] = 82, + [177] = 81, + [178] = 80, + [179] = 73, + [180] = 70, + [181] = 69, + [182] = 153, + [183] = 68, + [184] = 75, + [185] = 74, + [186] = 71, + [187] = 66, + [188] = 65, + [189] = 64, + [190] = 62, + [191] = 61, + [192] = 163, + [193] = 153, + [194] = 163, + [195] = 163, + [196] = 153, + [197] = 78, [198] = 198, [199] = 199, [200] = 200, - [201] = 198, - [202] = 198, - [203] = 198, - [204] = 198, + [201] = 201, + [202] = 202, + [203] = 203, + [204] = 204, [205] = 205, - [206] = 206, - [207] = 207, - [208] = 208, - [209] = 209, - [210] = 208, - [211] = 205, - [212] = 212, - [213] = 208, - [214] = 205, - [215] = 205, - [216] = 216, - [217] = 208, - [218] = 205, - [219] = 208, + [206] = 205, + [207] = 205, + [208] = 205, + [209] = 205, + [210] = 210, + [211] = 211, + [212] = 210, + [213] = 213, + [214] = 210, + [215] = 215, + [216] = 211, + [217] = 211, + [218] = 211, + [219] = 210, [220] = 220, - [221] = 221, + [221] = 210, [222] = 222, - [223] = 223, + [223] = 211, [224] = 224, [225] = 225, [226] = 226, [227] = 227, - [228] = 227, - [229] = 227, - [230] = 230, - [231] = 227, - [232] = 232, + [228] = 228, + [229] = 229, + [230] = 229, + [231] = 229, + [232] = 229, [233] = 233, - [234] = 227, - [235] = 235, + [234] = 234, + [235] = 229, [236] = 236, [237] = 237, - [238] = 238, + [238] = 237, [239] = 239, - [240] = 240, - [241] = 241, + [240] = 237, + [241] = 237, [242] = 242, - [243] = 241, - [244] = 244, + [243] = 243, + [244] = 237, [245] = 245, - [246] = 236, - [247] = 241, - [248] = 236, - [249] = 236, - [250] = 236, - [251] = 241, + [246] = 246, + [247] = 247, + [248] = 247, + [249] = 245, + [250] = 250, + [251] = 247, [252] = 252, - [253] = 241, + [253] = 245, + [254] = 254, + [255] = 255, + [256] = 247, + [257] = 245, + [258] = 245, + [259] = 259, + [260] = 260, + [261] = 247, + [262] = 246, + [263] = 263, + [264] = 246, + [265] = 246, + [266] = 246, + [267] = 267, + [268] = 268, + [269] = 269, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1100,286 +1153,293 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(70); + if (eof) ADVANCE(71); if (lookahead == '!') ADVANCE(17); - if (lookahead == '"') ADVANCE(84); - if (lookahead == '%') ADVANCE(91); + if (lookahead == '"') ADVANCE(85); + if (lookahead == '%') ADVANCE(94); 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 == '\'') ADVANCE(88); + if (lookahead == '(') ADVANCE(76); + if (lookahead == ')') ADVANCE(77); + if (lookahead == '*') ADVANCE(92); + if (lookahead == '+') ADVANCE(96); + if (lookahead == '-') ADVANCE(98); + if (lookahead == '.') ADVANCE(154); + if (lookahead == '/') ADVANCE(93); + if (lookahead == ':') ADVANCE(73); + if (lookahead == '<') ADVANCE(101); + if (lookahead == '=') ADVANCE(75); + if (lookahead == '>') ADVANCE(103); + if (lookahead == 'B') ADVANCE(46); + if (lookahead == 'C') ADVANCE(33); + if (lookahead == 'D') ADVANCE(23); + if (lookahead == 'F') ADVANCE(41); + if (lookahead == 'I') ADVANCE(44); + if (lookahead == 'L') ADVANCE(113); + if (lookahead == 'Q') ADVANCE(115); + if (lookahead == 'S') ADVANCE(54); 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 == 'Z') ADVANCE(116); + if (lookahead == '\\') ADVANCE(62); + if (lookahead == '^') ADVANCE(91); + if (lookahead == 'f') ADVANCE(22); + if (lookahead == 'l') ADVANCE(111); + if (lookahead == 's') ADVANCE(109); + if (lookahead == 't') ADVANCE(50); + if (lookahead == 'u') ADVANCE(38); + if (lookahead == 'y') ADVANCE(107); + if (lookahead == '|') ADVANCE(61); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(65) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + lookahead == ' ') SKIP(66) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); END_STATE(); case 1: - if (lookahead == '\n') ADVANCE(83); + if (lookahead == '\n') ADVANCE(84); if (lookahead == '!') ADVANCE(17); - if (lookahead == '%') ADVANCE(91); + if (lookahead == '%') ADVANCE(94); 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(92); + if (lookahead == '+') ADVANCE(95); + if (lookahead == '-') ADVANCE(97); + if (lookahead == '/') ADVANCE(93); + if (lookahead == '<') ADVANCE(101); if (lookahead == '=') ADVANCE(18); - if (lookahead == '>') ADVANCE(100); - if (lookahead == '^') ADVANCE(88); - if (lookahead == '|') ADVANCE(60); + if (lookahead == '>') ADVANCE(103); + if (lookahead == '^') ADVANCE(91); + if (lookahead == '|') ADVANCE(61); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(1) END_STATE(); case 2: if (lookahead == '\n') SKIP(4) - if (lookahead == '"') ADVANCE(84); - if (lookahead == '\\') ADVANCE(61); + if (lookahead == '"') ADVANCE(85); + if (lookahead == '\\') ADVANCE(62); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(85); - if (lookahead != 0) ADVANCE(86); + lookahead == ' ') ADVANCE(86); + if (lookahead != 0) ADVANCE(87); END_STATE(); case 3: if (lookahead == '!') ADVANCE(17); - if (lookahead == '%') ADVANCE(91); + if (lookahead == '%') ADVANCE(94); 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(77); + if (lookahead == '*') ADVANCE(92); + if (lookahead == '+') ADVANCE(95); + if (lookahead == '-') ADVANCE(97); + if (lookahead == '/') ADVANCE(93); + if (lookahead == '<') ADVANCE(101); if (lookahead == '=') ADVANCE(18); - if (lookahead == '>') ADVANCE(100); - if (lookahead == '^') ADVANCE(88); - if (lookahead == '|') ADVANCE(60); + if (lookahead == '>') ADVANCE(103); + if (lookahead == '^') ADVANCE(91); + if (lookahead == '|') ADVANCE(61); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(3) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(206); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(209); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(84); + if (lookahead == '"') ADVANCE(85); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(4) END_STATE(); case 5: - if (lookahead == '&') ADVANCE(102); + if (lookahead == '&') ADVANCE(105); END_STATE(); case 6: - if (lookahead == '.') ADVANCE(64); + if (lookahead == '.') ADVANCE(65); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 7: if (lookahead == '1') ADVANCE(9); if (lookahead == '3') ADVANCE(10); if (lookahead == '6') ADVANCE(13); - if (lookahead == '8') ADVANCE(121); + if (lookahead == '8') ADVANCE(124); END_STATE(); case 8: if (lookahead == '1') ADVANCE(12); if (lookahead == '3') ADVANCE(11); if (lookahead == '6') ADVANCE(14); - if (lookahead == '8') ADVANCE(123); + if (lookahead == '8') ADVANCE(126); END_STATE(); case 9: if (lookahead == '2') ADVANCE(15); - if (lookahead == '6') ADVANCE(125); + if (lookahead == '6') ADVANCE(128); END_STATE(); case 10: - if (lookahead == '2') ADVANCE(129); + if (lookahead == '2') ADVANCE(132); END_STATE(); case 11: - if (lookahead == '2') ADVANCE(131); + if (lookahead == '2') ADVANCE(134); END_STATE(); case 12: if (lookahead == '2') ADVANCE(16); - if (lookahead == '6') ADVANCE(127); + if (lookahead == '6') ADVANCE(130); END_STATE(); case 13: - if (lookahead == '4') ADVANCE(133); + if (lookahead == '4') ADVANCE(136); END_STATE(); case 14: - if (lookahead == '4') ADVANCE(135); + if (lookahead == '4') ADVANCE(138); END_STATE(); case 15: - if (lookahead == '8') ADVANCE(137); + if (lookahead == '8') ADVANCE(140); END_STATE(); case 16: - if (lookahead == '8') ADVANCE(139); + if (lookahead == '8') ADVANCE(142); END_STATE(); case 17: - if (lookahead == '=') ADVANCE(97); + if (lookahead == '=') ADVANCE(100); END_STATE(); case 18: - if (lookahead == '=') ADVANCE(96); + if (lookahead == '=') ADVANCE(99); END_STATE(); case 19: - if (lookahead == 'I') ADVANCE(44); - if (lookahead == 'L') ADVANCE(111); - if (lookahead == 'n') ADVANCE(36); - if (lookahead == 'u') ADVANCE(33); + if (lookahead == 'I') ADVANCE(45); + if (lookahead == 'L') ADVANCE(114); + if (lookahead == 'n') ADVANCE(37); + if (lookahead == 'u') ADVANCE(34); END_STATE(); case 20: - if (lookahead == 'T') ADVANCE(34); + if (lookahead == 'T') ADVANCE(35); END_STATE(); case 21: - if (lookahead == 'a') ADVANCE(38); + if (lookahead == '\\') ADVANCE(62); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '\'') ADVANCE(89); END_STATE(); case 22: - if (lookahead == 'a') ADVANCE(54); + if (lookahead == 'a') ADVANCE(39); END_STATE(); case 23: - if (lookahead == 'a') ADVANCE(50); + if (lookahead == 'a') ADVANCE(55); END_STATE(); case 24: - if (lookahead == 'a') ADVANCE(57); + if (lookahead == 'a') ADVANCE(51); END_STATE(); case 25: - if (lookahead == 'd') ADVANCE(149); + if (lookahead == 'a') ADVANCE(58); END_STATE(); case 26: - if (lookahead == 'e') ADVANCE(20); + if (lookahead == 'd') ADVANCE(152); END_STATE(); case 27: - if (lookahead == 'e') ADVANCE(79); + if (lookahead == 'e') ADVANCE(20); END_STATE(); case 28: - if (lookahead == 'e') ADVANCE(77); + if (lookahead == 'e') ADVANCE(80); END_STATE(); case 29: - if (lookahead == 'e') ADVANCE(81); + if (lookahead == 'e') ADVANCE(78); END_STATE(); case 30: - if (lookahead == 'e') ADVANCE(147); + if (lookahead == 'e') ADVANCE(82); END_STATE(); case 31: - if (lookahead == 'g') ADVANCE(145); + if (lookahead == 'e') ADVANCE(150); END_STATE(); case 32: - if (lookahead == 'h') ADVANCE(23); + if (lookahead == 'g') ADVANCE(148); END_STATE(); case 33: - if (lookahead == 'i') ADVANCE(25); + if (lookahead == 'h') ADVANCE(24); END_STATE(); case 34: - if (lookahead == 'i') ADVANCE(41); + if (lookahead == 'i') ADVANCE(26); END_STATE(); case 35: if (lookahead == 'i') ADVANCE(42); END_STATE(); case 36: - if (lookahead == 'i') ADVANCE(56); + if (lookahead == 'i') ADVANCE(43); END_STATE(); case 37: - if (lookahead == 'l') ADVANCE(109); - if (lookahead == 's') ADVANCE(107); - if (lookahead == 'y') ADVANCE(105); + if (lookahead == 'i') ADVANCE(57); END_STATE(); case 38: - if (lookahead == 'l') ADVANCE(52); + if (lookahead == 'l') ADVANCE(112); + if (lookahead == 's') ADVANCE(110); + if (lookahead == 'y') ADVANCE(108); END_STATE(); case 39: - if (lookahead == 'l') ADVANCE(119); + if (lookahead == 'l') ADVANCE(53); END_STATE(); case 40: - if (lookahead == 'l') ADVANCE(47); + if (lookahead == 'l') ADVANCE(122); END_STATE(); case 41: - if (lookahead == 'm') ADVANCE(30); + if (lookahead == 'l') ADVANCE(48); END_STATE(); case 42: - if (lookahead == 'n') ADVANCE(31); + if (lookahead == 'm') ADVANCE(31); END_STATE(); case 43: - if (lookahead == 'n') ADVANCE(55); + if (lookahead == 'n') ADVANCE(32); END_STATE(); case 44: - if (lookahead == 'n') ADVANCE(58); + if (lookahead == 'n') ADVANCE(56); END_STATE(); case 45: - if (lookahead == 'o') ADVANCE(46); + if (lookahead == 'n') ADVANCE(59); END_STATE(); case 46: - if (lookahead == 'o') ADVANCE(39); + if (lookahead == 'o') ADVANCE(47); END_STATE(); case 47: - if (lookahead == 'o') ADVANCE(24); + if (lookahead == 'o') ADVANCE(40); END_STATE(); case 48: - if (lookahead == 'p') ADVANCE(28); + if (lookahead == 'o') ADVANCE(25); END_STATE(); case 49: - if (lookahead == 'r') ADVANCE(59); - if (lookahead == 'y') ADVANCE(48); + if (lookahead == 'p') ADVANCE(29); END_STATE(); case 50: - if (lookahead == 'r') ADVANCE(143); + if (lookahead == 'r') ADVANCE(60); + if (lookahead == 'y') ADVANCE(49); END_STATE(); case 51: - if (lookahead == 'r') ADVANCE(35); + if (lookahead == 'r') ADVANCE(146); END_STATE(); case 52: - if (lookahead == 's') ADVANCE(29); + if (lookahead == 'r') ADVANCE(36); END_STATE(); case 53: - if (lookahead == 't') ADVANCE(51); + if (lookahead == 's') ADVANCE(30); END_STATE(); case 54: - if (lookahead == 't') ADVANCE(26); + if (lookahead == 't') ADVANCE(52); END_STATE(); case 55: - if (lookahead == 't') ADVANCE(7); + if (lookahead == 't') ADVANCE(27); END_STATE(); case 56: - if (lookahead == 't') ADVANCE(117); + if (lookahead == 't') ADVANCE(7); END_STATE(); case 57: - if (lookahead == 't') ADVANCE(141); + if (lookahead == 't') ADVANCE(120); END_STATE(); case 58: - if (lookahead == 't') ADVANCE(8); + if (lookahead == 't') ADVANCE(144); END_STATE(); case 59: - if (lookahead == 'u') ADVANCE(27); + if (lookahead == 't') ADVANCE(8); END_STATE(); case 60: - if (lookahead == '|') ADVANCE(103); + if (lookahead == 'u') ADVANCE(28); END_STATE(); case 61: + if (lookahead == '|') ADVANCE(106); + END_STATE(); + case 62: if (lookahead == '"' || lookahead == '/' || lookahead == '\\' || @@ -1388,970 +1448,981 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 'n' || lookahead == 'r' || lookahead == 't' || - lookahead == 'u') ADVANCE(87); - END_STATE(); - case 62: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); + lookahead == 'u') ADVANCE(90); END_STATE(); case 63: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 64: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(117); 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(65) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(119); END_STATE(); case 66: - if (eof) ADVANCE(70); + if (eof) ADVANCE(71); if (lookahead == '!') ADVANCE(17); - if (lookahead == '"') ADVANCE(84); - if (lookahead == '%') ADVANCE(91); + if (lookahead == '"') ADVANCE(85); + if (lookahead == '%') ADVANCE(94); 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 == '\'') ADVANCE(88); + if (lookahead == '(') ADVANCE(76); + if (lookahead == ')') ADVANCE(77); + if (lookahead == '*') ADVANCE(92); + if (lookahead == '+') ADVANCE(96); + if (lookahead == '-') ADVANCE(98); + if (lookahead == '.') ADVANCE(154); + if (lookahead == '/') ADVANCE(93); + if (lookahead == ':') ADVANCE(73); + if (lookahead == '<') ADVANCE(101); + if (lookahead == '=') ADVANCE(75); + if (lookahead == '>') ADVANCE(103); + if (lookahead == 'B') ADVANCE(46); + if (lookahead == 'C') ADVANCE(33); + if (lookahead == 'D') ADVANCE(23); + if (lookahead == 'F') ADVANCE(41); + if (lookahead == 'I') ADVANCE(44); + if (lookahead == 'L') ADVANCE(113); + if (lookahead == 'Q') ADVANCE(115); + if (lookahead == 'S') ADVANCE(54); + if (lookahead == 'U') ADVANCE(19); + if (lookahead == 'Z') ADVANCE(116); + if (lookahead == '^') ADVANCE(91); + if (lookahead == 'f') ADVANCE(22); + if (lookahead == 'l') ADVANCE(111); + if (lookahead == 's') ADVANCE(109); + if (lookahead == 't') ADVANCE(50); + if (lookahead == 'u') ADVANCE(38); + if (lookahead == 'y') ADVANCE(107); + if (lookahead == '|') ADVANCE(61); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(66) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(206); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); END_STATE(); case 67: - if (eof) ADVANCE(70); + if (eof) ADVANCE(71); if (lookahead == '!') ADVANCE(17); - if (lookahead == '"') ADVANCE(84); - if (lookahead == '%') ADVANCE(91); + if (lookahead == '"') ADVANCE(85); + if (lookahead == '%') ADVANCE(94); 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 == '\'') ADVANCE(88); + if (lookahead == '(') ADVANCE(76); + if (lookahead == ')') ADVANCE(77); + if (lookahead == '*') ADVANCE(92); + if (lookahead == '+') ADVANCE(96); + if (lookahead == '-') ADVANCE(98); + if (lookahead == '/') ADVANCE(93); + if (lookahead == ':') ADVANCE(73); + if (lookahead == '<') ADVANCE(101); + if (lookahead == '=') ADVANCE(75); + if (lookahead == '>') ADVANCE(103); + if (lookahead == '^') ADVANCE(91); + if (lookahead == 'f') ADVANCE(155); + if (lookahead == 'l') ADVANCE(156); + if (lookahead == 't') ADVANCE(163); + if (lookahead == '|') ADVANCE(61); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(67) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(209); END_STATE(); case 68: - if (eof) ADVANCE(70); + if (eof) ADVANCE(71); if (lookahead == '!') ADVANCE(17); - if (lookahead == '"') ADVANCE(84); - if (lookahead == '%') ADVANCE(91); + if (lookahead == '"') ADVANCE(85); + if (lookahead == '%') ADVANCE(94); 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(88); + if (lookahead == '(') ADVANCE(76); + if (lookahead == ')') ADVANCE(77); + if (lookahead == '*') ADVANCE(92); + if (lookahead == '+') ADVANCE(96); + if (lookahead == '-') ADVANCE(98); + if (lookahead == '/') ADVANCE(93); + if (lookahead == '<') ADVANCE(101); 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 == '>') ADVANCE(103); + if (lookahead == '^') ADVANCE(91); + if (lookahead == 'f') ADVANCE(155); + if (lookahead == 'l') ADVANCE(156); + if (lookahead == 't') ADVANCE(163); + if (lookahead == '|') ADVANCE(61); 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); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); 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 (eof) ADVANCE(71); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '"') ADVANCE(85); + if (lookahead == '%') ADVANCE(94); + if (lookahead == '&') ADVANCE(5); + if (lookahead == '\'') ADVANCE(88); + if (lookahead == '(') ADVANCE(76); + if (lookahead == '*') ADVANCE(92); + if (lookahead == '+') ADVANCE(96); + if (lookahead == '-') ADVANCE(98); + if (lookahead == '/') ADVANCE(93); + if (lookahead == '<') ADVANCE(101); + if (lookahead == '=') ADVANCE(18); + if (lookahead == '>') ADVANCE(103); + if (lookahead == 'B') ADVANCE(198); + if (lookahead == 'C') ADVANCE(187); + if (lookahead == 'D') ADVANCE(180); + if (lookahead == 'F') ADVANCE(193); + if (lookahead == 'I') ADVANCE(196); + if (lookahead == 'S') ADVANCE(203); + if (lookahead == 'U') ADVANCE(178); + if (lookahead == '^') ADVANCE(91); + if (lookahead == 'f') ADVANCE(155); + if (lookahead == 'l') ADVANCE(156); + if (lookahead == 't') ADVANCE(162); + if (lookahead == '|') ADVANCE(61); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(69) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(209); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 70: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (eof) ADVANCE(71); + if (lookahead == '"') ADVANCE(85); + if (lookahead == '\'') ADVANCE(88); + if (lookahead == '(') ADVANCE(76); + if (lookahead == ')') ADVANCE(77); + if (lookahead == '+') ADVANCE(63); + if (lookahead == '-') ADVANCE(64); + if (lookahead == '.') ADVANCE(154); + if (lookahead == '=') ADVANCE(74); + if (lookahead == 'f') ADVANCE(155); + if (lookahead == 'l') ADVANCE(156); + if (lookahead == 't') ADVANCE(162); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(70) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 71: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 72: ACCEPT_TOKEN(anon_sym_let); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); - END_STATE(); - case 72: - ACCEPT_TOKEN(anon_sym_COLON); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 73: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 74: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(96); END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_LPAREN); - if (lookahead == ')') ADVANCE(207); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(99); END_STATE(); case 76: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_LPAREN); + if (lookahead == ')') ADVANCE(210); END_STATE(); case 77: - ACCEPT_TOKEN(anon_sym_type); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 78: + ACCEPT_TOKEN(anon_sym_type); + END_STATE(); + case 79: ACCEPT_TOKEN(anon_sym_type); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); - case 79: + case 80: ACCEPT_TOKEN(aux_sym_bool_literal_token1); END_STATE(); - case 80: + case 81: ACCEPT_TOKEN(aux_sym_bool_literal_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); - case 81: + case 82: ACCEPT_TOKEN(aux_sym_bool_literal_token2); END_STATE(); - case 82: + case 83: ACCEPT_TOKEN(aux_sym_bool_literal_token2); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); - case 83: + case 84: ACCEPT_TOKEN(anon_sym_LF); - if (lookahead == '\n') ADVANCE(83); + if (lookahead == '\n') ADVANCE(84); END_STATE(); - case 84: + case 85: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 85: + case 86: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(85); + lookahead == ' ') ADVANCE(86); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(86); + lookahead != '\\') ADVANCE(87); END_STATE(); - case 86: + case 87: ACCEPT_TOKEN(aux_sym_string_content_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(86); - END_STATE(); - case 87: - ACCEPT_TOKEN(sym_string_escape_sequence); + lookahead != '\\') ADVANCE(87); END_STATE(); case 88: - ACCEPT_TOKEN(anon_sym_CARET); + ACCEPT_TOKEN(anon_sym_SQUOTE); END_STATE(); case 89: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(aux_sym_character_token1); END_STATE(); case 90: - ACCEPT_TOKEN(anon_sym_SLASH); + ACCEPT_TOKEN(sym_char_or_string_escape_sequence); END_STATE(); case 91: - ACCEPT_TOKEN(anon_sym_PERCENT); + ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 92: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 93: - ACCEPT_TOKEN(anon_sym_PLUS); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); + ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); case 94: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 95: - ACCEPT_TOKEN(anon_sym_DASH); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); + ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 96: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_PLUS); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 97: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 98: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(99); + ACCEPT_TOKEN(anon_sym_DASH); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(117); END_STATE(); case 99: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 100: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(101); + ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 101: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '=') ADVANCE(102); END_STATE(); case 102: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 103: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(104); END_STATE(); case 104: - ACCEPT_TOKEN(anon_sym_y); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 105: - ACCEPT_TOKEN(anon_sym_uy); + ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 106: - ACCEPT_TOKEN(anon_sym_s); + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 107: - ACCEPT_TOKEN(anon_sym_us); + ACCEPT_TOKEN(anon_sym_y); END_STATE(); case 108: - ACCEPT_TOKEN(anon_sym_l); + ACCEPT_TOKEN(anon_sym_uy); END_STATE(); case 109: - ACCEPT_TOKEN(anon_sym_ul); + ACCEPT_TOKEN(anon_sym_s); END_STATE(); case 110: - ACCEPT_TOKEN(anon_sym_L); + ACCEPT_TOKEN(anon_sym_us); END_STATE(); case 111: - ACCEPT_TOKEN(anon_sym_UL); + ACCEPT_TOKEN(anon_sym_l); END_STATE(); case 112: - ACCEPT_TOKEN(anon_sym_Q); + ACCEPT_TOKEN(anon_sym_ul); END_STATE(); case 113: - ACCEPT_TOKEN(anon_sym_Z); + ACCEPT_TOKEN(anon_sym_L); END_STATE(); case 114: - ACCEPT_TOKEN(sym_float_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); + ACCEPT_TOKEN(anon_sym_UL); END_STATE(); case 115: - ACCEPT_TOKEN(sym_negative_digits); - if (lookahead == '.') ADVANCE(64); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); + ACCEPT_TOKEN(anon_sym_Q); END_STATE(); case 116: - ACCEPT_TOKEN(sym_positive_digits); - if (lookahead == '.') ADVANCE(64); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + ACCEPT_TOKEN(anon_sym_Z); END_STATE(); case 117: - ACCEPT_TOKEN(aux_sym_builtin_type_token1); + ACCEPT_TOKEN(sym_negative_digits); + if (lookahead == '.') ADVANCE(65); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(117); END_STATE(); case 118: + ACCEPT_TOKEN(sym_positive_digits); + if (lookahead == '.') ADVANCE(65); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + END_STATE(); + case 119: + ACCEPT_TOKEN(sym_float_literal); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(119); + END_STATE(); + case 120: + ACCEPT_TOKEN(aux_sym_builtin_type_token1); + END_STATE(); + case 121: ACCEPT_TOKEN(aux_sym_builtin_type_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 119: + case 122: ACCEPT_TOKEN(aux_sym_builtin_type_token2); END_STATE(); - case 120: + case 123: ACCEPT_TOKEN(aux_sym_builtin_type_token2); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 121: + case 124: ACCEPT_TOKEN(aux_sym_builtin_type_token3); END_STATE(); - case 122: + case 125: ACCEPT_TOKEN(aux_sym_builtin_type_token3); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 123: + case 126: ACCEPT_TOKEN(aux_sym_builtin_type_token4); END_STATE(); - case 124: + case 127: ACCEPT_TOKEN(aux_sym_builtin_type_token4); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 125: + case 128: ACCEPT_TOKEN(aux_sym_builtin_type_token5); END_STATE(); - case 126: + case 129: ACCEPT_TOKEN(aux_sym_builtin_type_token5); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 127: + case 130: ACCEPT_TOKEN(aux_sym_builtin_type_token6); END_STATE(); - case 128: + case 131: ACCEPT_TOKEN(aux_sym_builtin_type_token6); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 129: + case 132: ACCEPT_TOKEN(aux_sym_builtin_type_token7); END_STATE(); - case 130: + case 133: ACCEPT_TOKEN(aux_sym_builtin_type_token7); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 131: + case 134: ACCEPT_TOKEN(aux_sym_builtin_type_token8); END_STATE(); - case 132: + case 135: ACCEPT_TOKEN(aux_sym_builtin_type_token8); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 133: + case 136: ACCEPT_TOKEN(aux_sym_builtin_type_token9); END_STATE(); - case 134: + case 137: ACCEPT_TOKEN(aux_sym_builtin_type_token9); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 135: + case 138: ACCEPT_TOKEN(aux_sym_builtin_type_token10); END_STATE(); - case 136: + case 139: ACCEPT_TOKEN(aux_sym_builtin_type_token10); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 137: + case 140: ACCEPT_TOKEN(aux_sym_builtin_type_token11); END_STATE(); - case 138: + case 141: ACCEPT_TOKEN(aux_sym_builtin_type_token11); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 139: + case 142: ACCEPT_TOKEN(aux_sym_builtin_type_token12); END_STATE(); - case 140: + case 143: ACCEPT_TOKEN(aux_sym_builtin_type_token12); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 141: + case 144: ACCEPT_TOKEN(aux_sym_builtin_type_token13); END_STATE(); - case 142: + case 145: ACCEPT_TOKEN(aux_sym_builtin_type_token13); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 143: + case 146: ACCEPT_TOKEN(aux_sym_builtin_type_token14); END_STATE(); - case 144: + case 147: ACCEPT_TOKEN(aux_sym_builtin_type_token14); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 145: + case 148: ACCEPT_TOKEN(aux_sym_builtin_type_token15); END_STATE(); - case 146: + case 149: ACCEPT_TOKEN(aux_sym_builtin_type_token15); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 147: + case 150: ACCEPT_TOKEN(aux_sym_builtin_type_token16); END_STATE(); - case 148: + case 151: ACCEPT_TOKEN(aux_sym_builtin_type_token16); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 149: + case 152: ACCEPT_TOKEN(aux_sym_builtin_type_token17); END_STATE(); - case 150: + case 153: ACCEPT_TOKEN(aux_sym_builtin_type_token17); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); - case 151: + case 154: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 152: + case 155: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'a') ADVANCE(157); + if (lookahead == 'a') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); - case 153: + case 156: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'e') ADVANCE(162); + if (lookahead == 'e') ADVANCE(165); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); - case 154: + case 157: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'e') ADVANCE(80); + if (lookahead == 'e') ADVANCE(81); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); - case 155: + case 158: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'e') ADVANCE(78); + if (lookahead == 'e') ADVANCE(79); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); - END_STATE(); - case 156: - ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'e') ADVANCE(82); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); - END_STATE(); - case 157: - ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'l') ADVANCE(161); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); - END_STATE(); - case 158: - ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'p') ADVANCE(155); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 159: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'r') ADVANCE(163); - if (lookahead == 'y') ADVANCE(158); + if (lookahead == 'e') ADVANCE(83); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 160: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'r') ADVANCE(163); + if (lookahead == 'l') ADVANCE(164); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 161: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 's') ADVANCE(156); + if (lookahead == 'p') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 162: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 't') ADVANCE(71); + if (lookahead == 'r') ADVANCE(166); + if (lookahead == 'y') ADVANCE(161); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 163: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); - if (lookahead == 'u') ADVANCE(154); + if (lookahead == 'r') ADVANCE(166); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 164: ACCEPT_TOKEN(aux_sym_variable_identifier_token1); + if (lookahead == 's') ADVANCE(159); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 165: - ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '1') ADVANCE(167); - if (lookahead == '3') ADVANCE(168); - if (lookahead == '6') ADVANCE(171); - if (lookahead == '8') ADVANCE(122); + ACCEPT_TOKEN(aux_sym_variable_identifier_token1); + if (lookahead == 't') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 166: - ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '1') ADVANCE(170); - if (lookahead == '3') ADVANCE(169); - if (lookahead == '6') ADVANCE(172); - if (lookahead == '8') ADVANCE(124); + ACCEPT_TOKEN(aux_sym_variable_identifier_token1); + if (lookahead == 'u') ADVANCE(157); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 167: - ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '2') ADVANCE(173); - if (lookahead == '6') ADVANCE(126); + ACCEPT_TOKEN(aux_sym_variable_identifier_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); case 168: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '2') ADVANCE(130); + if (lookahead == '1') ADVANCE(170); + if (lookahead == '3') ADVANCE(171); + if (lookahead == '6') ADVANCE(174); + if (lookahead == '8') ADVANCE(125); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 169: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '2') ADVANCE(132); + if (lookahead == '1') ADVANCE(173); + if (lookahead == '3') ADVANCE(172); + if (lookahead == '6') ADVANCE(175); + if (lookahead == '8') ADVANCE(127); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 170: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '2') ADVANCE(174); - if (lookahead == '6') ADVANCE(128); + if (lookahead == '2') ADVANCE(176); + if (lookahead == '6') ADVANCE(129); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 171: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '4') ADVANCE(134); + if (lookahead == '2') ADVANCE(133); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 172: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '4') ADVANCE(136); + if (lookahead == '2') ADVANCE(135); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 173: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '8') ADVANCE(138); + if (lookahead == '2') ADVANCE(177); + if (lookahead == '6') ADVANCE(131); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 174: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == '8') ADVANCE(140); + if (lookahead == '4') ADVANCE(137); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 175: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'I') ADVANCE(194); - if (lookahead == 'n') ADVANCE(188); - if (lookahead == 'u') ADVANCE(185); + if (lookahead == '4') ADVANCE(139); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 176: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'T') ADVANCE(186); + if (lookahead == '8') ADVANCE(141); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 177: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'a') ADVANCE(201); + if (lookahead == '8') ADVANCE(143); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 178: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'a') ADVANCE(198); + if (lookahead == 'I') ADVANCE(197); + if (lookahead == 'n') ADVANCE(191); + if (lookahead == 'u') ADVANCE(188); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 179: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'a') ADVANCE(204); + if (lookahead == 'T') ADVANCE(189); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 180: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'd') ADVANCE(150); + if (lookahead == 'a') ADVANCE(204); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 181: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'e') ADVANCE(176); + if (lookahead == 'a') ADVANCE(201); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 182: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'e') ADVANCE(148); + if (lookahead == 'a') ADVANCE(207); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 183: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'g') ADVANCE(146); + if (lookahead == 'd') ADVANCE(153); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 184: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'h') ADVANCE(178); + if (lookahead == 'e') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 185: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'i') ADVANCE(180); + if (lookahead == 'e') ADVANCE(151); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 186: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'i') ADVANCE(191); + if (lookahead == 'g') ADVANCE(149); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 187: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'i') ADVANCE(192); + if (lookahead == 'h') ADVANCE(181); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 188: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'i') ADVANCE(203); + if (lookahead == 'i') ADVANCE(183); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 189: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'l') ADVANCE(120); + if (lookahead == 'i') ADVANCE(194); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 190: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'l') ADVANCE(197); + if (lookahead == 'i') ADVANCE(195); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 191: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'm') ADVANCE(182); + if (lookahead == 'i') ADVANCE(206); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 192: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'n') ADVANCE(183); + if (lookahead == 'l') ADVANCE(123); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 193: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'n') ADVANCE(202); + if (lookahead == 'l') ADVANCE(200); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 194: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'n') ADVANCE(205); + if (lookahead == 'm') ADVANCE(185); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 195: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'o') ADVANCE(196); + if (lookahead == 'n') ADVANCE(186); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 196: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'o') ADVANCE(189); + if (lookahead == 'n') ADVANCE(205); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 197: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'o') ADVANCE(179); + if (lookahead == 'n') ADVANCE(208); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 198: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'r') ADVANCE(144); + if (lookahead == 'o') ADVANCE(199); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 199: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 'r') ADVANCE(187); + if (lookahead == 'o') ADVANCE(192); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 200: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(199); + if (lookahead == 'o') ADVANCE(182); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 201: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(181); + if (lookahead == 'r') ADVANCE(147); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 202: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(165); + if (lookahead == 'r') ADVANCE(190); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 203: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(118); + if (lookahead == 't') ADVANCE(202); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 204: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(142); + if (lookahead == 't') ADVANCE(184); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 205: ACCEPT_TOKEN(aux_sym_type_identifier_token1); - if (lookahead == 't') ADVANCE(166); + if (lookahead == 't') ADVANCE(168); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 206: ACCEPT_TOKEN(aux_sym_type_identifier_token1); + if (lookahead == 't') ADVANCE(121); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(206); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); END_STATE(); case 207: + ACCEPT_TOKEN(aux_sym_type_identifier_token1); + if (lookahead == 't') ADVANCE(145); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); + END_STATE(); + case 208: + ACCEPT_TOKEN(aux_sym_type_identifier_token1); + if (lookahead == 't') ADVANCE(169); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); + END_STATE(); + case 209: + ACCEPT_TOKEN(aux_sym_type_identifier_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(209); + END_STATE(); + case 210: ACCEPT_TOKEN(sym_unit); END_STATE(); default: @@ -2361,173 +2432,173 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [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}, + [1] = {.lex_state = 69}, + [2] = {.lex_state = 69}, + [3] = {.lex_state = 67}, + [4] = {.lex_state = 67}, + [5] = {.lex_state = 67}, + [6] = {.lex_state = 67}, + [7] = {.lex_state = 67}, + [8] = {.lex_state = 67}, + [9] = {.lex_state = 67}, + [10] = {.lex_state = 67}, + [11] = {.lex_state = 67}, + [12] = {.lex_state = 67}, + [13] = {.lex_state = 67}, + [14] = {.lex_state = 67}, + [15] = {.lex_state = 67}, + [16] = {.lex_state = 67}, + [17] = {.lex_state = 67}, + [18] = {.lex_state = 67}, + [19] = {.lex_state = 67}, + [20] = {.lex_state = 67}, + [21] = {.lex_state = 67}, + [22] = {.lex_state = 67}, + [23] = {.lex_state = 67}, + [24] = {.lex_state = 67}, + [25] = {.lex_state = 67}, + [26] = {.lex_state = 67}, + [27] = {.lex_state = 67}, + [28] = {.lex_state = 67}, + [29] = {.lex_state = 67}, + [30] = {.lex_state = 67}, + [31] = {.lex_state = 67}, + [32] = {.lex_state = 67}, + [33] = {.lex_state = 67}, + [34] = {.lex_state = 67}, + [35] = {.lex_state = 67}, + [36] = {.lex_state = 67}, + [37] = {.lex_state = 67}, + [38] = {.lex_state = 67}, + [39] = {.lex_state = 67}, + [40] = {.lex_state = 67}, + [41] = {.lex_state = 67}, + [42] = {.lex_state = 67}, + [43] = {.lex_state = 67}, + [44] = {.lex_state = 67}, + [45] = {.lex_state = 67}, + [46] = {.lex_state = 67}, + [47] = {.lex_state = 67}, + [48] = {.lex_state = 67}, + [49] = {.lex_state = 67}, + [50] = {.lex_state = 67}, + [51] = {.lex_state = 67}, + [52] = {.lex_state = 67}, + [53] = {.lex_state = 67}, + [54] = {.lex_state = 67}, + [55] = {.lex_state = 67}, + [56] = {.lex_state = 67}, + [57] = {.lex_state = 67}, + [58] = {.lex_state = 67}, + [59] = {.lex_state = 69}, + [60] = {.lex_state = 69}, + [61] = {.lex_state = 69}, + [62] = {.lex_state = 69}, + [63] = {.lex_state = 69}, + [64] = {.lex_state = 69}, + [65] = {.lex_state = 69}, + [66] = {.lex_state = 69}, + [67] = {.lex_state = 67}, + [68] = {.lex_state = 69}, + [69] = {.lex_state = 69}, + [70] = {.lex_state = 69}, + [71] = {.lex_state = 69}, + [72] = {.lex_state = 69}, + [73] = {.lex_state = 69}, + [74] = {.lex_state = 69}, + [75] = {.lex_state = 69}, + [76] = {.lex_state = 69}, + [77] = {.lex_state = 69}, + [78] = {.lex_state = 69}, + [79] = {.lex_state = 69}, + [80] = {.lex_state = 69}, + [81] = {.lex_state = 69}, + [82] = {.lex_state = 69}, + [83] = {.lex_state = 69}, + [84] = {.lex_state = 69}, + [85] = {.lex_state = 68}, + [86] = {.lex_state = 68}, + [87] = {.lex_state = 68}, + [88] = {.lex_state = 68}, + [89] = {.lex_state = 68}, + [90] = {.lex_state = 68}, + [91] = {.lex_state = 68}, + [92] = {.lex_state = 68}, + [93] = {.lex_state = 68}, + [94] = {.lex_state = 68}, + [95] = {.lex_state = 68}, + [96] = {.lex_state = 68}, + [97] = {.lex_state = 68}, + [98] = {.lex_state = 68}, + [99] = {.lex_state = 68}, + [100] = {.lex_state = 68}, + [101] = {.lex_state = 68}, + [102] = {.lex_state = 68}, + [103] = {.lex_state = 68}, + [104] = {.lex_state = 68}, + [105] = {.lex_state = 68}, + [106] = {.lex_state = 68}, + [107] = {.lex_state = 68}, + [108] = {.lex_state = 68}, + [109] = {.lex_state = 68}, + [110] = {.lex_state = 68}, + [111] = {.lex_state = 68}, + [112] = {.lex_state = 68}, + [113] = {.lex_state = 68}, + [114] = {.lex_state = 68}, + [115] = {.lex_state = 68}, + [116] = {.lex_state = 68}, + [117] = {.lex_state = 68}, + [118] = {.lex_state = 68}, + [119] = {.lex_state = 68}, + [120] = {.lex_state = 68}, + [121] = {.lex_state = 68}, + [122] = {.lex_state = 68}, + [123] = {.lex_state = 68}, + [124] = {.lex_state = 68}, + [125] = {.lex_state = 68}, + [126] = {.lex_state = 68}, + [127] = {.lex_state = 68}, + [128] = {.lex_state = 68}, + [129] = {.lex_state = 68}, + [130] = {.lex_state = 68}, [131] = {.lex_state = 68}, [132] = {.lex_state = 68}, [133] = {.lex_state = 68}, - [134] = {.lex_state = 1}, - [135] = {.lex_state = 3}, - [136] = {.lex_state = 3}, - [137] = {.lex_state = 3}, - [138] = {.lex_state = 3}, + [134] = {.lex_state = 69}, + [135] = {.lex_state = 69}, + [136] = {.lex_state = 69}, + [137] = {.lex_state = 69}, + [138] = {.lex_state = 70}, [139] = {.lex_state = 3}, - [140] = {.lex_state = 3}, + [140] = {.lex_state = 70}, [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}, + [145] = {.lex_state = 3}, + [146] = {.lex_state = 3}, + [147] = {.lex_state = 3}, [148] = {.lex_state = 3}, - [149] = {.lex_state = 1}, - [150] = {.lex_state = 1}, - [151] = {.lex_state = 1}, - [152] = {.lex_state = 3}, + [149] = {.lex_state = 3}, + [150] = {.lex_state = 3}, + [151] = {.lex_state = 3}, + [152] = {.lex_state = 1}, [153] = {.lex_state = 1}, [154] = {.lex_state = 1}, [155] = {.lex_state = 1}, - [156] = {.lex_state = 1}, + [156] = {.lex_state = 3}, [157] = {.lex_state = 1}, [158] = {.lex_state = 1}, - [159] = {.lex_state = 3}, + [159] = {.lex_state = 1}, [160] = {.lex_state = 1}, - [161] = {.lex_state = 3}, + [161] = {.lex_state = 1}, [162] = {.lex_state = 1}, - [163] = {.lex_state = 1}, - [164] = {.lex_state = 1}, - [165] = {.lex_state = 1}, + [163] = {.lex_state = 3}, + [164] = {.lex_state = 3}, + [165] = {.lex_state = 3}, [166] = {.lex_state = 1}, - [167] = {.lex_state = 1}, + [167] = {.lex_state = 3}, [168] = {.lex_state = 1}, [169] = {.lex_state = 1}, [170] = {.lex_state = 1}, @@ -2535,85 +2606,101 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [172] = {.lex_state = 1}, [173] = {.lex_state = 1}, [174] = {.lex_state = 1}, - [175] = {.lex_state = 3}, + [175] = {.lex_state = 1}, [176] = {.lex_state = 1}, - [177] = {.lex_state = 3}, + [177] = {.lex_state = 1}, [178] = {.lex_state = 1}, - [179] = {.lex_state = 3}, - [180] = {.lex_state = 3}, - [181] = {.lex_state = 3}, - [182] = {.lex_state = 3}, - [183] = {.lex_state = 3}, + [179] = {.lex_state = 1}, + [180] = {.lex_state = 1}, + [181] = {.lex_state = 1}, + [182] = {.lex_state = 1}, + [183] = {.lex_state = 1}, [184] = {.lex_state = 3}, [185] = {.lex_state = 3}, [186] = {.lex_state = 3}, [187] = {.lex_state = 3}, [188] = {.lex_state = 3}, - [189] = {.lex_state = 68}, + [189] = {.lex_state = 3}, [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 = 66}, - [200] = {.lex_state = 66}, - [201] = {.lex_state = 0}, - [202] = {.lex_state = 0}, - [203] = {.lex_state = 0}, - [204] = {.lex_state = 0}, + [192] = {.lex_state = 3}, + [193] = {.lex_state = 1}, + [194] = {.lex_state = 3}, + [195] = {.lex_state = 3}, + [196] = {.lex_state = 1}, + [197] = {.lex_state = 3}, + [198] = {.lex_state = 70}, + [199] = {.lex_state = 70}, + [200] = {.lex_state = 70}, + [201] = {.lex_state = 69}, + [202] = {.lex_state = 67}, + [203] = {.lex_state = 67}, + [204] = {.lex_state = 67}, [205] = {.lex_state = 0}, [206] = {.lex_state = 0}, [207] = {.lex_state = 0}, - [208] = {.lex_state = 2}, - [209] = {.lex_state = 3}, - [210] = {.lex_state = 2}, - [211] = {.lex_state = 0}, + [208] = {.lex_state = 0}, + [209] = {.lex_state = 0}, + [210] = {.lex_state = 0}, + [211] = {.lex_state = 2}, [212] = {.lex_state = 0}, - [213] = {.lex_state = 2}, + [213] = {.lex_state = 0}, [214] = {.lex_state = 0}, [215] = {.lex_state = 0}, - [216] = {.lex_state = 0}, + [216] = {.lex_state = 2}, [217] = {.lex_state = 2}, - [218] = {.lex_state = 0}, - [219] = {.lex_state = 2}, - [220] = {.lex_state = 3}, - [221] = {.lex_state = 66}, - [222] = {.lex_state = 2}, + [218] = {.lex_state = 2}, + [219] = {.lex_state = 0}, + [220] = {.lex_state = 0}, + [221] = {.lex_state = 0}, + [222] = {.lex_state = 0}, [223] = {.lex_state = 2}, - [224] = {.lex_state = 0}, - [225] = {.lex_state = 3}, - [226] = {.lex_state = 3}, - [227] = {.lex_state = 3}, + [224] = {.lex_state = 3}, + [225] = {.lex_state = 2}, + [226] = {.lex_state = 67}, + [227] = {.lex_state = 2}, [228] = {.lex_state = 3}, - [229] = {.lex_state = 3}, - [230] = {.lex_state = 3}, - [231] = {.lex_state = 3}, - [232] = {.lex_state = 66}, - [233] = {.lex_state = 3}, + [229] = {.lex_state = 21}, + [230] = {.lex_state = 21}, + [231] = {.lex_state = 21}, + [232] = {.lex_state = 21}, + [233] = {.lex_state = 0}, [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}, + [235] = {.lex_state = 21}, + [236] = {.lex_state = 3}, + [237] = {.lex_state = 3}, + [238] = {.lex_state = 3}, + [239] = {.lex_state = 3}, + [240] = {.lex_state = 3}, + [241] = {.lex_state = 3}, + [242] = {.lex_state = 3}, + [243] = {.lex_state = 67}, + [244] = {.lex_state = 3}, [245] = {.lex_state = 0}, - [246] = {.lex_state = 69}, + [246] = {.lex_state = 70}, [247] = {.lex_state = 0}, - [248] = {.lex_state = 69}, - [249] = {.lex_state = 69}, - [250] = {.lex_state = 69}, + [248] = {.lex_state = 0}, + [249] = {.lex_state = 0}, + [250] = {.lex_state = 70}, [251] = {.lex_state = 0}, [252] = {.lex_state = 0}, [253] = {.lex_state = 0}, + [254] = {.lex_state = 0}, + [255] = {.lex_state = 0}, + [256] = {.lex_state = 0}, + [257] = {.lex_state = 0}, + [258] = {.lex_state = 0}, + [259] = {.lex_state = 0}, + [260] = {.lex_state = 0}, + [261] = {.lex_state = 0}, + [262] = {.lex_state = 70}, + [263] = {.lex_state = 0}, + [264] = {.lex_state = 70}, + [265] = {.lex_state = 70}, + [266] = {.lex_state = 70}, + [267] = {.lex_state = 70}, + [268] = {.lex_state = 70}, + [269] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2627,7 +2714,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_bool_literal_token1] = ACTIONS(1), [aux_sym_bool_literal_token2] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), - [sym_string_escape_sequence] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), + [sym_char_or_string_escape_sequence] = ACTIONS(1), [anon_sym_CARET] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_SLASH] = ACTIONS(1), @@ -2652,9 +2740,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_UL] = ACTIONS(1), [anon_sym_Q] = ACTIONS(1), [anon_sym_Z] = ACTIONS(1), - [sym_float_literal] = ACTIONS(1), [sym_negative_digits] = ACTIONS(1), [sym_positive_digits] = ACTIONS(1), + [sym_float_literal] = ACTIONS(1), [aux_sym_builtin_type_token1] = ACTIONS(1), [aux_sym_builtin_type_token2] = ACTIONS(1), [aux_sym_builtin_type_token3] = ACTIONS(1), @@ -2676,28 +2764,29 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_unit] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(235), + [sym_source_file] = STATE(252), [sym_fn_decl] = STATE(2), [sym_type_decl] = STATE(2), - [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), + [sym_expression] = STATE(104), + [sym_paren_expression] = STATE(105), + [sym_bool_literal] = STATE(105), + [sym_function_call] = STATE(105), + [sym_let_expression] = STATE(105), + [sym_string_literal] = STATE(105), + [sym_char_literal] = STATE(105), + [sym_infix_operation] = STATE(105), + [sym_int8_literal] = STATE(105), + [sym_uint8_literal] = STATE(105), + [sym_int16_literal] = STATE(105), + [sym_uint16_literal] = STATE(105), + [sym_int32_literal] = STATE(105), + [sym_uint32_literal] = STATE(105), + [sym_int64_literal] = STATE(105), + [sym_uint64_literal] = STATE(105), + [sym_int128_literal] = STATE(105), + [sym_uint128_literal] = STATE(105), + [sym_digits] = STATE(214), + [sym_variable_identifier] = STATE(105), [aux_sym_source_file_repeat1] = STATE(2), [aux_sym_source_file_repeat2] = STATE(12), [ts_builtin_sym_end] = ACTIONS(3), @@ -2707,16 +2796,17 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_bool_literal_token1] = ACTIONS(11), [aux_sym_bool_literal_token2] = ACTIONS(11), [anon_sym_DQUOTE] = ACTIONS(13), - [sym_float_literal] = ACTIONS(15), + [anon_sym_SQUOTE] = ACTIONS(15), [sym_negative_digits] = ACTIONS(17), [sym_positive_digits] = ACTIONS(19), - [aux_sym_variable_identifier_token1] = ACTIONS(21), - [sym_unit] = ACTIONS(15), + [sym_float_literal] = ACTIONS(21), + [aux_sym_variable_identifier_token1] = ACTIONS(23), + [sym_unit] = ACTIONS(21), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 15, + [0] = 16, ACTIONS(5), 1, anon_sym_let, ACTIONS(7), 1, @@ -2725,36 +2815,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(13), 1, anon_sym_DQUOTE, + ACTIONS(15), 1, + anon_sym_SQUOTE, ACTIONS(17), 1, sym_negative_digits, ACTIONS(19), 1, sym_positive_digits, - ACTIONS(21), 1, - aux_sym_variable_identifier_token1, ACTIONS(23), 1, + aux_sym_variable_identifier_token1, + ACTIONS(25), 1, ts_builtin_sym_end, - STATE(11), 1, + STATE(10), 1, aux_sym_source_file_repeat2, - STATE(88), 1, + STATE(104), 1, sym_expression, - STATE(215), 1, + STATE(214), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(189), 3, + STATE(137), 3, sym_fn_decl, sym_type_decl, aux_sym_source_file_repeat1, - STATE(87), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -2767,45 +2860,48 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [66] = 16, + [70] = 17, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, - anon_sym_let, ACTIONS(27), 1, + anon_sym_let, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, ACTIONS(35), 1, - sym_positive_digits, + anon_sym_SQUOTE, ACTIONS(37), 1, + sym_positive_digits, + ACTIONS(41), 1, aux_sym_variable_identifier_token1, - ACTIONS(39), 1, + ACTIONS(43), 1, aux_sym_type_identifier_token1, - STATE(19), 1, + STATE(17), 1, sym_qualified_fn_name, - STATE(161), 1, + STATE(163), 1, sym_expression, - STATE(197), 1, + STATE(204), 1, sym_fn_identifier, - STATE(209), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(211), 1, + STATE(212), 1, sym_digits, - STATE(242), 1, + STATE(224), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(263), 1, sym_module_identifier, - ACTIONS(29), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -2818,45 +2914,48 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [133] = 16, + [141] = 17, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, - anon_sym_let, ACTIONS(27), 1, + anon_sym_let, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, ACTIONS(35), 1, - sym_positive_digits, + anon_sym_SQUOTE, ACTIONS(37), 1, + sym_positive_digits, + ACTIONS(41), 1, aux_sym_variable_identifier_token1, - ACTIONS(39), 1, + ACTIONS(43), 1, aux_sym_type_identifier_token1, - STATE(20), 1, + STATE(18), 1, sym_qualified_fn_name, - STATE(181), 1, + STATE(167), 1, sym_expression, - STATE(197), 1, + STATE(204), 1, sym_fn_identifier, - STATE(209), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(211), 1, + STATE(212), 1, sym_digits, - STATE(242), 1, + STATE(224), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(263), 1, sym_module_identifier, - ACTIONS(29), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -2869,45 +2968,48 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [200] = 16, + [212] = 17, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, - anon_sym_let, ACTIONS(27), 1, + anon_sym_let, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, ACTIONS(35), 1, - sym_positive_digits, + anon_sym_SQUOTE, ACTIONS(37), 1, + sym_positive_digits, + ACTIONS(41), 1, aux_sym_variable_identifier_token1, - ACTIONS(39), 1, + ACTIONS(43), 1, aux_sym_type_identifier_token1, - STATE(17), 1, + STATE(19), 1, sym_qualified_fn_name, - STATE(159), 1, + STATE(192), 1, sym_expression, - STATE(197), 1, + STATE(204), 1, sym_fn_identifier, - STATE(209), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(211), 1, + STATE(212), 1, sym_digits, - STATE(242), 1, + STATE(224), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(263), 1, sym_module_identifier, - ACTIONS(29), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -2920,45 +3022,48 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [267] = 16, + [283] = 17, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, - anon_sym_let, ACTIONS(27), 1, + anon_sym_let, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, ACTIONS(35), 1, - sym_positive_digits, + anon_sym_SQUOTE, ACTIONS(37), 1, + sym_positive_digits, + ACTIONS(41), 1, aux_sym_variable_identifier_token1, - ACTIONS(39), 1, + ACTIONS(43), 1, aux_sym_type_identifier_token1, - STATE(21), 1, + STATE(20), 1, sym_qualified_fn_name, - STATE(148), 1, + STATE(194), 1, sym_expression, - STATE(197), 1, + STATE(204), 1, sym_fn_identifier, - STATE(209), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(211), 1, + STATE(212), 1, sym_digits, - STATE(242), 1, + STATE(224), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(263), 1, sym_module_identifier, - ACTIONS(29), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -2971,45 +3076,48 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [334] = 16, + [354] = 17, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, - anon_sym_let, ACTIONS(27), 1, + anon_sym_let, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, ACTIONS(35), 1, - sym_positive_digits, + anon_sym_SQUOTE, ACTIONS(37), 1, + sym_positive_digits, + ACTIONS(41), 1, aux_sym_variable_identifier_token1, - ACTIONS(39), 1, + ACTIONS(43), 1, aux_sym_type_identifier_token1, - STATE(18), 1, + STATE(21), 1, sym_qualified_fn_name, - STATE(175), 1, + STATE(195), 1, sym_expression, - STATE(197), 1, + STATE(204), 1, sym_fn_identifier, - STATE(209), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(211), 1, + STATE(212), 1, sym_digits, - STATE(242), 1, + STATE(224), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(263), 1, sym_module_identifier, - ACTIONS(29), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3022,39 +3130,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [401] = 13, - ACTIONS(41), 1, - ts_builtin_sym_end, - ACTIONS(43), 1, + [425] = 14, + ACTIONS(45), 1, anon_sym_let, - ACTIONS(46), 1, + ACTIONS(48), 1, anon_sym_LPAREN, - ACTIONS(52), 1, + ACTIONS(51), 1, + anon_sym_RPAREN, + ACTIONS(56), 1, anon_sym_DQUOTE, - ACTIONS(58), 1, + ACTIONS(59), 1, + anon_sym_SQUOTE, + ACTIONS(62), 1, sym_negative_digits, - ACTIONS(61), 1, + ACTIONS(65), 1, sym_positive_digits, - ACTIONS(64), 1, + ACTIONS(71), 1, aux_sym_variable_identifier_token1, STATE(8), 1, aux_sym_source_file_repeat2, - STATE(88), 1, + STATE(102), 1, sym_expression, - STATE(215), 1, + STATE(210), 1, sym_digits, - ACTIONS(49), 2, + ACTIONS(53), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(55), 2, + ACTIONS(68), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3067,39 +3178,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [459] = 13, - ACTIONS(17), 1, + [487] = 14, + ACTIONS(51), 1, + ts_builtin_sym_end, + ACTIONS(62), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(74), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(77), 1, anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_RPAREN, - ACTIONS(75), 1, + ACTIONS(83), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(86), 1, + anon_sym_SQUOTE, + ACTIONS(89), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(95), 1, aux_sym_variable_identifier_token1, - STATE(10), 1, + STATE(9), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(104), 1, sym_expression, STATE(214), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(80), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(92), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3112,39 +3226,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [517] = 13, - ACTIONS(41), 1, - anon_sym_RPAREN, - ACTIONS(58), 1, - sym_negative_digits, - ACTIONS(83), 1, - anon_sym_let, - ACTIONS(86), 1, + [549] = 14, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(92), 1, + ACTIONS(13), 1, anon_sym_DQUOTE, - ACTIONS(98), 1, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, - ACTIONS(101), 1, + ACTIONS(23), 1, aux_sym_variable_identifier_token1, - STATE(10), 1, + ACTIONS(98), 1, + ts_builtin_sym_end, + ACTIONS(100), 1, + anon_sym_let, + STATE(9), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(104), 1, sym_expression, STATE(214), 1, sym_digits, - ACTIONS(89), 2, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(95), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3157,39 +3274,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [575] = 13, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - anon_sym_DQUOTE, + [611] = 14, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(19), 1, - sym_positive_digits, - ACTIONS(21), 1, - aux_sym_variable_identifier_token1, + ACTIONS(102), 1, + anon_sym_let, ACTIONS(104), 1, - ts_builtin_sym_end, + anon_sym_LPAREN, ACTIONS(106), 1, - anon_sym_let, + anon_sym_RPAREN, + ACTIONS(110), 1, + anon_sym_DQUOTE, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, + sym_positive_digits, + ACTIONS(118), 1, + aux_sym_variable_identifier_token1, STATE(8), 1, aux_sym_source_file_repeat2, - STATE(88), 1, + STATE(102), 1, sym_expression, - STATE(215), 1, + STATE(210), 1, sym_digits, - ACTIONS(11), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3202,39 +3322,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [633] = 13, + [673] = 14, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_DQUOTE, + ACTIONS(15), 1, + anon_sym_SQUOTE, ACTIONS(17), 1, sym_negative_digits, ACTIONS(19), 1, sym_positive_digits, - ACTIONS(21), 1, - aux_sym_variable_identifier_token1, ACTIONS(23), 1, + aux_sym_variable_identifier_token1, + ACTIONS(25), 1, ts_builtin_sym_end, - ACTIONS(106), 1, + ACTIONS(100), 1, anon_sym_let, - STATE(8), 1, + STATE(9), 1, aux_sym_source_file_repeat2, - STATE(88), 1, + STATE(104), 1, sym_expression, - STATE(215), 1, + STATE(214), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3247,39 +3370,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [691] = 13, + [735] = 14, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - ACTIONS(108), 1, + ACTIONS(120), 1, anon_sym_RPAREN, - STATE(10), 1, + STATE(8), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3292,39 +3418,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [749] = 13, + [797] = 14, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - ACTIONS(110), 1, + ACTIONS(122), 1, anon_sym_RPAREN, - STATE(10), 1, + STATE(8), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3337,39 +3466,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [807] = 13, + [859] = 14, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - ACTIONS(112), 1, + ACTIONS(124), 1, anon_sym_RPAREN, - STATE(10), 1, + STATE(8), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3382,39 +3514,42 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [865] = 13, + [921] = 14, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - ACTIONS(114), 1, + ACTIONS(126), 1, anon_sym_RPAREN, - STATE(10), 1, + STATE(8), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3427,37 +3562,40 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [923] = 12, + [983] = 13, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - STATE(9), 1, + STATE(13), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3470,37 +3608,40 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [978] = 12, + [1042] = 13, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - STATE(16), 1, + STATE(14), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3513,37 +3654,40 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1033] = 12, + [1101] = 13, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, STATE(15), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3556,37 +3700,40 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1088] = 12, + [1160] = 13, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - STATE(13), 1, + STATE(11), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3599,37 +3746,40 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1143] = 12, + [1219] = 13, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - STATE(14), 1, + STATE(16), 1, aux_sym_source_file_repeat2, - STATE(98), 1, + STATE(102), 1, sym_expression, - STATE(214), 1, + STATE(210), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3642,35 +3792,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1198] = 11, + [1278] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(128), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(130), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(134), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(136), 1, + anon_sym_SQUOTE, + ACTIONS(138), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(142), 1, aux_sym_variable_identifier_token1, - STATE(176), 1, + STATE(81), 1, sym_expression, - STATE(205), 1, + STATE(219), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(132), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(62), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3683,35 +3836,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1250] = 11, - ACTIONS(17), 1, - sym_negative_digits, - ACTIONS(116), 1, - anon_sym_let, - ACTIONS(118), 1, + [1334] = 12, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(13), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(23), 1, aux_sym_variable_identifier_token1, - STATE(134), 1, + ACTIONS(100), 1, + anon_sym_let, + STATE(93), 1, sym_expression, - STATE(205), 1, + STATE(214), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3724,35 +3880,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1302] = 11, + [1390] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(27), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(130), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(139), 1, + STATE(193), 1, sym_expression, - STATE(211), 1, + STATE(221), 1, sym_digits, - ACTIONS(29), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3765,35 +3924,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1354] = 11, + [1446] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(132), 1, + ACTIONS(128), 1, anon_sym_let, - ACTIONS(134), 1, + ACTIONS(130), 1, anon_sym_LPAREN, - ACTIONS(138), 1, + ACTIONS(134), 1, anon_sym_DQUOTE, - ACTIONS(142), 1, + ACTIONS(136), 1, + anon_sym_SQUOTE, + ACTIONS(138), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(142), 1, aux_sym_variable_identifier_token1, - STATE(83), 1, + STATE(68), 1, sym_expression, - STATE(218), 1, + STATE(219), 1, sym_digits, - ACTIONS(136), 2, + ACTIONS(132), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(60), 17, + STATE(62), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3806,35 +3968,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1406] = 11, + [1502] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, + ACTIONS(128), 1, anon_sym_let, - ACTIONS(27), 1, + ACTIONS(130), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(134), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(136), 1, + anon_sym_SQUOTE, + ACTIONS(138), 1, sym_positive_digits, - ACTIONS(130), 1, + ACTIONS(142), 1, aux_sym_variable_identifier_token1, - STATE(138), 1, + STATE(70), 1, sym_expression, - STATE(211), 1, + STATE(219), 1, sym_digits, - ACTIONS(29), 2, + ACTIONS(132), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(62), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3847,35 +4012,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1458] = 11, + [1558] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(128), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(130), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(134), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(136), 1, + anon_sym_SQUOTE, + ACTIONS(138), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(142), 1, aux_sym_variable_identifier_token1, - STATE(149), 1, + STATE(73), 1, sym_expression, - STATE(205), 1, + STATE(219), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(132), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(62), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3888,35 +4056,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1510] = 11, + [1614] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, + ACTIONS(128), 1, anon_sym_let, - ACTIONS(27), 1, + ACTIONS(130), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(134), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(136), 1, + anon_sym_SQUOTE, + ACTIONS(138), 1, sym_positive_digits, - ACTIONS(130), 1, + ACTIONS(142), 1, aux_sym_variable_identifier_token1, - STATE(144), 1, + STATE(80), 1, sym_expression, - STATE(211), 1, + STATE(219), 1, sym_digits, - ACTIONS(29), 2, + ACTIONS(132), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(62), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3929,35 +4100,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1562] = 11, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - anon_sym_DQUOTE, + [1670] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(19), 1, + ACTIONS(128), 1, + anon_sym_let, + ACTIONS(130), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + anon_sym_DQUOTE, + ACTIONS(136), 1, + anon_sym_SQUOTE, + ACTIONS(138), 1, sym_positive_digits, - ACTIONS(21), 1, + ACTIONS(142), 1, aux_sym_variable_identifier_token1, - ACTIONS(106), 1, - anon_sym_let, - STATE(92), 1, + STATE(82), 1, sym_expression, - STATE(215), 1, + STATE(219), 1, sym_digits, - ACTIONS(11), 2, + ACTIONS(132), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(62), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -3970,35 +4144,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1614] = 11, + [1726] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(27), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(130), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(142), 1, + STATE(183), 1, sym_expression, - STATE(211), 1, + STATE(221), 1, sym_digits, - ACTIONS(29), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4011,35 +4188,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1666] = 11, + [1782] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(27), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(130), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(141), 1, + STATE(180), 1, sym_expression, - STATE(211), 1, + STATE(221), 1, sym_digits, - ACTIONS(29), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4052,35 +4232,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1718] = 11, + [1838] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(132), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(134), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(138), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(142), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(77), 1, + STATE(179), 1, sym_expression, - STATE(218), 1, + STATE(221), 1, sym_digits, - ACTIONS(136), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(140), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(60), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4093,35 +4276,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1770] = 11, + [1894] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(114), 1, + STATE(178), 1, sym_expression, - STATE(214), 1, + STATE(221), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4134,35 +4320,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1822] = 11, + [1950] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(115), 1, + STATE(177), 1, sym_expression, - STATE(214), 1, + STATE(221), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4175,35 +4364,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1874] = 11, + [2006] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(116), 1, + STATE(176), 1, sym_expression, - STATE(214), 1, + STATE(221), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4216,35 +4408,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1926] = 11, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - anon_sym_DQUOTE, + [2062] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(19), 1, + ACTIONS(102), 1, + anon_sym_let, + ACTIONS(104), 1, + anon_sym_LPAREN, + ACTIONS(110), 1, + anon_sym_DQUOTE, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(21), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - ACTIONS(106), 1, - anon_sym_let, STATE(107), 1, sym_expression, - STATE(215), 1, + STATE(210), 1, sym_digits, - ACTIONS(11), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4257,35 +4452,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [1978] = 11, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - anon_sym_DQUOTE, + [2118] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(19), 1, + ACTIONS(102), 1, + anon_sym_let, + ACTIONS(104), 1, + anon_sym_LPAREN, + ACTIONS(110), 1, + anon_sym_DQUOTE, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(21), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - ACTIONS(106), 1, - anon_sym_let, - STATE(84), 1, + STATE(122), 1, sym_expression, - STATE(215), 1, + STATE(210), 1, sym_digits, - ACTIONS(11), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4298,35 +4496,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2030] = 11, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - anon_sym_DQUOTE, + [2174] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(19), 1, + ACTIONS(102), 1, + anon_sym_let, + ACTIONS(104), 1, + anon_sym_LPAREN, + ACTIONS(110), 1, + anon_sym_DQUOTE, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(21), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - ACTIONS(106), 1, - anon_sym_let, - STATE(108), 1, + STATE(121), 1, sym_expression, - STATE(215), 1, + STATE(210), 1, sym_digits, - ACTIONS(11), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4339,35 +4540,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2082] = 11, + [2230] = 12, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_DQUOTE, + ACTIONS(15), 1, + anon_sym_SQUOTE, ACTIONS(17), 1, sym_negative_digits, ACTIONS(19), 1, sym_positive_digits, - ACTIONS(21), 1, + ACTIONS(23), 1, aux_sym_variable_identifier_token1, - ACTIONS(106), 1, + ACTIONS(100), 1, anon_sym_let, - STATE(105), 1, + STATE(97), 1, sym_expression, - STATE(215), 1, + STATE(214), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4380,35 +4584,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2134] = 11, + [2286] = 12, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_DQUOTE, + ACTIONS(15), 1, + anon_sym_SQUOTE, ACTIONS(17), 1, sym_negative_digits, ACTIONS(19), 1, sym_positive_digits, - ACTIONS(21), 1, + ACTIONS(23), 1, aux_sym_variable_identifier_token1, - ACTIONS(106), 1, + ACTIONS(100), 1, anon_sym_let, - STATE(130), 1, + STATE(96), 1, sym_expression, - STATE(215), 1, + STATE(214), 1, sym_digits, ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(15), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(87), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4421,35 +4628,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2186] = 11, + [2342] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(67), 1, + ACTIONS(27), 1, anon_sym_let, - ACTIONS(69), 1, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(35), 1, + anon_sym_SQUOTE, + ACTIONS(37), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(160), 1, aux_sym_variable_identifier_token1, - STATE(117), 1, + STATE(151), 1, sym_expression, - STATE(214), 1, + STATE(212), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4462,35 +4672,38 @@ static const uint16_t ts_small_parse_table[] = { 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, + [2398] = 12, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(13), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(23), 1, aux_sym_variable_identifier_token1, - STATE(118), 1, + ACTIONS(100), 1, + anon_sym_let, + STATE(85), 1, sym_expression, STATE(214), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4503,35 +4716,38 @@ static const uint16_t ts_small_parse_table[] = { 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, + [2454] = 12, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(75), 1, + ACTIONS(13), 1, anon_sym_DQUOTE, - ACTIONS(79), 1, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, - ACTIONS(81), 1, + ACTIONS(23), 1, aux_sym_variable_identifier_token1, - STATE(129), 1, + ACTIONS(100), 1, + anon_sym_let, + STATE(90), 1, sym_expression, STATE(214), 1, sym_digits, - ACTIONS(73), 2, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(77), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(120), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4544,35 +4760,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2342] = 11, + [2510] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(132), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(134), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(138), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(142), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - STATE(81), 1, + STATE(120), 1, sym_expression, - STATE(218), 1, + STATE(210), 1, sym_digits, - ACTIONS(136), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(140), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(60), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4585,35 +4804,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2394] = 11, + [2566] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(132), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(134), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(138), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(142), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - STATE(80), 1, + STATE(119), 1, sym_expression, - STATE(218), 1, + STATE(210), 1, sym_digits, - ACTIONS(136), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(140), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(60), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4626,35 +4848,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2446] = 11, + [2622] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(132), 1, + ACTIONS(102), 1, anon_sym_let, - ACTIONS(134), 1, + ACTIONS(104), 1, anon_sym_LPAREN, - ACTIONS(138), 1, + ACTIONS(110), 1, anon_sym_DQUOTE, - ACTIONS(142), 1, + ACTIONS(112), 1, + anon_sym_SQUOTE, + ACTIONS(114), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(118), 1, aux_sym_variable_identifier_token1, - STATE(79), 1, + STATE(118), 1, sym_expression, - STATE(218), 1, + STATE(210), 1, sym_digits, - ACTIONS(136), 2, + ACTIONS(108), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(140), 2, + ACTIONS(116), 2, sym_float_literal, sym_unit, - STATE(60), 17, + STATE(125), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4667,35 +4892,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2498] = 11, + [2678] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(27), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(35), 1, + anon_sym_SQUOTE, + ACTIONS(37), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(160), 1, aux_sym_variable_identifier_token1, - STATE(146), 1, + STATE(145), 1, sym_expression, - STATE(205), 1, + STATE(212), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4708,35 +4936,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2550] = 11, + [2734] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(27), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(35), 1, + anon_sym_SQUOTE, + ACTIONS(37), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(160), 1, aux_sym_variable_identifier_token1, - STATE(178), 1, + STATE(146), 1, sym_expression, - STATE(205), 1, + STATE(212), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4749,35 +4980,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2602] = 11, + [2790] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(128), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(130), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(134), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(136), 1, + anon_sym_SQUOTE, + ACTIONS(138), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(142), 1, aux_sym_variable_identifier_token1, - STATE(160), 1, + STATE(72), 1, sym_expression, - STATE(205), 1, + STATE(219), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(132), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(140), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(62), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4790,35 +5024,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2654] = 11, + [2846] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(132), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(134), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(138), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(142), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(78), 1, + STATE(153), 1, sym_expression, - STATE(218), 1, + STATE(221), 1, sym_digits, - ACTIONS(136), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(140), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(60), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4831,35 +5068,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2706] = 11, + [2902] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(132), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(134), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(138), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(142), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(144), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(76), 1, + STATE(182), 1, sym_expression, - STATE(218), 1, + STATE(221), 1, sym_digits, - ACTIONS(136), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(140), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(60), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4872,35 +5112,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2758] = 11, + [2958] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(170), 1, + STATE(196), 1, sym_expression, - STATE(205), 1, + STATE(221), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4913,35 +5156,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2810] = 11, + [3014] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(27), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(35), 1, + anon_sym_SQUOTE, + ACTIONS(37), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(160), 1, aux_sym_variable_identifier_token1, - STATE(171), 1, + STATE(147), 1, sym_expression, - STATE(205), 1, + STATE(212), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4954,35 +5200,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2862] = 11, + [3070] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(27), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(35), 1, + anon_sym_SQUOTE, + ACTIONS(37), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(160), 1, aux_sym_variable_identifier_token1, - STATE(172), 1, + STATE(148), 1, sym_expression, - STATE(205), 1, + STATE(212), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -4995,35 +5244,38 @@ static const uint16_t ts_small_parse_table[] = { 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, + [3126] = 12, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(13), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + sym_negative_digits, + ACTIONS(19), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(23), 1, aux_sym_variable_identifier_token1, - STATE(173), 1, + ACTIONS(100), 1, + anon_sym_let, + STATE(95), 1, sym_expression, - STATE(205), 1, + STATE(214), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(11), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(21), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(105), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -5036,35 +5288,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [2966] = 11, + [3182] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(116), 1, + ACTIONS(27), 1, anon_sym_let, - ACTIONS(118), 1, + ACTIONS(29), 1, anon_sym_LPAREN, - ACTIONS(122), 1, + ACTIONS(33), 1, anon_sym_DQUOTE, - ACTIONS(126), 1, + ACTIONS(35), 1, + anon_sym_SQUOTE, + ACTIONS(37), 1, sym_positive_digits, - ACTIONS(128), 1, + ACTIONS(160), 1, aux_sym_variable_identifier_token1, - STATE(169), 1, + STATE(149), 1, sym_expression, - STATE(205), 1, + STATE(212), 1, sym_digits, - ACTIONS(120), 2, + ACTIONS(31), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(124), 2, + ACTIONS(39), 2, sym_float_literal, sym_unit, - STATE(151), 17, + STATE(190), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -5077,35 +5332,38 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [3018] = 11, + [3238] = 12, ACTIONS(17), 1, sym_negative_digits, - ACTIONS(25), 1, + ACTIONS(144), 1, anon_sym_let, - ACTIONS(27), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(31), 1, + ACTIONS(150), 1, anon_sym_DQUOTE, - ACTIONS(35), 1, + ACTIONS(152), 1, + anon_sym_SQUOTE, + ACTIONS(154), 1, sym_positive_digits, - ACTIONS(130), 1, + ACTIONS(158), 1, aux_sym_variable_identifier_token1, - STATE(140), 1, + STATE(166), 1, sym_expression, - STATE(211), 1, + STATE(221), 1, sym_digits, - ACTIONS(29), 2, + ACTIONS(148), 2, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, - ACTIONS(33), 2, + ACTIONS(156), 2, sym_float_literal, sym_unit, - STATE(183), 17, + STATE(155), 18, sym_paren_expression, sym_bool_literal, sym_function_call, sym_let_expression, sym_string_literal, + sym_char_literal, sym_infix_operation, sym_int8_literal, sym_uint8_literal, @@ -5118,8 +5376,8 @@ static const uint16_t ts_small_parse_table[] = { sym_int128_literal, sym_uint128_literal, sym_variable_identifier, - [3070] = 2, - ACTIONS(148), 12, + [3294] = 2, + ACTIONS(164), 12, anon_sym_let, anon_sym_EQ, anon_sym_LPAREN, @@ -5132,10 +5390,11 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(146), 15, + ACTIONS(162), 16, ts_builtin_sym_end, anon_sym_COLON, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5148,8 +5407,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3102] = 2, - ACTIONS(152), 12, + [3327] = 2, + ACTIONS(168), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5162,9 +5421,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(150), 14, + ACTIONS(166), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5177,8 +5437,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3133] = 2, - ACTIONS(156), 12, + [3359] = 2, + ACTIONS(172), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5191,9 +5451,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(154), 14, + ACTIONS(170), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5206,8 +5467,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3164] = 2, - ACTIONS(160), 12, + [3391] = 2, + ACTIONS(176), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5220,9 +5481,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(158), 14, + ACTIONS(174), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5235,8 +5497,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3195] = 2, - ACTIONS(164), 12, + [3423] = 2, + ACTIONS(180), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5249,9 +5511,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(162), 14, + ACTIONS(178), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5264,8 +5527,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3226] = 2, - ACTIONS(168), 12, + [3455] = 2, + ACTIONS(164), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5278,9 +5541,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(166), 14, + ACTIONS(162), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5293,8 +5557,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3257] = 2, - ACTIONS(172), 12, + [3487] = 2, + ACTIONS(184), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5307,9 +5571,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(170), 14, + ACTIONS(182), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5322,8 +5587,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3288] = 2, - ACTIONS(148), 12, + [3519] = 2, + ACTIONS(188), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5336,9 +5601,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(146), 14, + ACTIONS(186), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5351,8 +5617,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3319] = 2, - ACTIONS(176), 12, + [3551] = 2, + ACTIONS(192), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5365,9 +5631,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(174), 14, + ACTIONS(190), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5380,23 +5647,28 @@ static const uint16_t ts_small_parse_table[] = { 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, + [3583] = 4, + ACTIONS(196), 4, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(164), 5, + anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_LT, anon_sym_GT, + ACTIONS(194), 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(178), 14, - ts_builtin_sym_end, - anon_sym_DQUOTE, + ACTIONS(162), 11, + anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5407,10 +5679,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, + [3619] = 8, + ACTIONS(202), 1, + anon_sym_CARET, + ACTIONS(206), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(212), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(204), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(208), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(198), 5, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, sym_float_literal, sym_unit, - [3381] = 2, - ACTIONS(184), 12, + ACTIONS(200), 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, + [3663] = 2, + ACTIONS(216), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5423,9 +5729,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(182), 14, + ACTIONS(214), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5438,37 +5745,43 @@ static const uint16_t ts_small_parse_table[] = { 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, + [3695] = 7, + ACTIONS(202), 1, + anon_sym_CARET, + ACTIONS(206), 2, anon_sym_PLUS, anon_sym_DASH, + ACTIONS(210), 2, 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, + ACTIONS(204), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(208), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, + ACTIONS(218), 7, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3443] = 2, - ACTIONS(192), 12, + ACTIONS(220), 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, + [3737] = 2, + ACTIONS(224), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5481,9 +5794,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(190), 14, + ACTIONS(222), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5496,27 +5810,67 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3474] = 2, - ACTIONS(196), 12, + [3769] = 8, + ACTIONS(202), 1, + anon_sym_CARET, + ACTIONS(206), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(212), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(204), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(208), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(226), 5, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(228), 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, + [3813] = 5, + ACTIONS(202), 1, + anon_sym_CARET, + ACTIONS(206), 2, anon_sym_PLUS, anon_sym_DASH, + ACTIONS(204), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(220), 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, - ACTIONS(194), 14, + ACTIONS(218), 11, ts_builtin_sym_end, anon_sym_DQUOTE, - anon_sym_CARET, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, + anon_sym_SQUOTE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -5525,8 +5879,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3505] = 2, - ACTIONS(200), 12, + [3851] = 2, + ACTIONS(232), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5539,9 +5893,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(198), 14, + ACTIONS(230), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5554,27 +5909,24 @@ static const uint16_t ts_small_parse_table[] = { 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, + [3883] = 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(146), 11, - anon_sym_RPAREN, + ACTIONS(234), 15, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5585,8 +5937,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3571] = 2, - ACTIONS(208), 12, + sym_float_literal, + sym_unit, + [3915] = 2, + ACTIONS(240), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5599,9 +5953,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(206), 14, + ACTIONS(238), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5614,8 +5969,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3602] = 2, - ACTIONS(212), 12, + [3947] = 2, + ACTIONS(244), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5628,9 +5983,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(210), 14, + ACTIONS(242), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5643,10 +5999,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3633] = 3, - ACTIONS(218), 1, - anon_sym_CARET, - ACTIONS(216), 12, + [3979] = 2, + ACTIONS(248), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5659,9 +6013,11 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(214), 13, + ACTIONS(246), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, + anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -5673,45 +6029,8 @@ static const uint16_t ts_small_parse_table[] = { 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, + [4011] = 2, + ACTIONS(252), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5724,9 +6043,11 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(214), 13, + ACTIONS(250), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, + anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -5738,16 +6059,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3742] = 4, - ACTIONS(218), 1, + [4043] = 4, + ACTIONS(202), 1, anon_sym_CARET, - ACTIONS(224), 3, + ACTIONS(204), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(214), 10, + ACTIONS(218), 11, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -5756,7 +6078,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(216), 12, + ACTIONS(220), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5769,74 +6091,41 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [3777] = 5, - ACTIONS(218), 1, + [4079] = 3, + ACTIONS(202), 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, + ACTIONS(220), 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, - [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, + ACTIONS(218), 14, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, 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, + [4113] = 3, + ACTIONS(202), 1, + anon_sym_CARET, + ACTIONS(220), 12, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -5849,10 +6138,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(234), 14, + ACTIONS(218), 14, ts_builtin_sym_end, anon_sym_DQUOTE, - anon_sym_CARET, + anon_sym_SQUOTE, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -5864,49 +6153,13 @@ static const uint16_t ts_small_parse_table[] = { 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, + [4147] = 2, + ACTIONS(256), 12, 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, @@ -5914,9 +6167,11 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(214), 13, + ACTIONS(254), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, + anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -5928,10 +6183,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3961] = 2, - ACTIONS(168), 11, + [4179] = 2, + ACTIONS(260), 12, anon_sym_let, anon_sym_LPAREN, + anon_sym_type, aux_sym_bool_literal_token1, aux_sym_bool_literal_token2, anon_sym_PLUS, @@ -5941,9 +6197,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(166), 14, - anon_sym_RPAREN, + ACTIONS(258), 15, + ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -5956,26 +6213,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [3991] = 2, - ACTIONS(160), 11, + [4211] = 5, + ACTIONS(262), 1, + anon_sym_CARET, + ACTIONS(266), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(264), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(220), 9, 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, + ACTIONS(218), 11, ts_builtin_sym_end, anon_sym_DQUOTE, - anon_sym_CARET, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, + anon_sym_SQUOTE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -5984,8 +6245,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4021] = 2, - ACTIONS(156), 11, + [4248] = 2, + ACTIONS(168), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -5997,9 +6258,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(154), 14, + ACTIONS(166), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6012,42 +6274,8 @@ static const uint16_t ts_small_parse_table[] = { 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, + [4279] = 2, + ACTIONS(240), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6059,9 +6287,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(186), 14, + ACTIONS(238), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6074,8 +6303,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4123] = 2, - ACTIONS(192), 11, + [4310] = 2, + ACTIONS(252), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6087,9 +6316,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(190), 14, + ACTIONS(250), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6102,8 +6332,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4153] = 2, - ACTIONS(164), 11, + [4341] = 2, + ACTIONS(236), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6115,9 +6345,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(162), 14, + ACTIONS(234), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6130,33 +6361,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4183] = 8, - ACTIONS(242), 1, + [4372] = 7, + ACTIONS(262), 1, anon_sym_CARET, - ACTIONS(250), 2, + ACTIONS(266), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(254), 2, + ACTIONS(270), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(256), 2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - ACTIONS(248), 3, + ACTIONS(264), 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, + ACTIONS(268), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(240), 7, + ACTIONS(218), 7, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_float_literal, + sym_unit, + ACTIONS(220), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6164,8 +6395,8 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [4225] = 2, - ACTIONS(196), 11, + [4413] = 2, + ACTIONS(244), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6177,9 +6408,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(194), 14, - ts_builtin_sym_end, + ACTIONS(242), 15, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6192,8 +6424,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4255] = 2, - ACTIONS(172), 11, + [4444] = 2, + ACTIONS(240), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6205,9 +6437,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(170), 14, + ACTIONS(238), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6220,26 +6453,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4285] = 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, - ACTIONS(174), 14, - ts_builtin_sym_end, - anon_sym_DQUOTE, + [4475] = 4, + ACTIONS(262), 1, anon_sym_CARET, + ACTIONS(264), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(218), 11, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -6248,8 +6472,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4315] = 2, - ACTIONS(180), 11, + ACTIONS(220), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6261,23 +6484,8 @@ static const uint16_t ts_small_parse_table[] = { 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, - [4345] = 2, - ACTIONS(148), 11, + [4510] = 2, + ACTIONS(184), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6289,9 +6497,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(146), 14, - anon_sym_RPAREN, + ACTIONS(182), 15, + ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6304,33 +6513,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4375] = 8, - ACTIONS(258), 1, + [4541] = 8, + ACTIONS(262), 1, anon_sym_CARET, - ACTIONS(262), 2, + ACTIONS(266), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(266), 2, + ACTIONS(270), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(268), 2, + ACTIONS(272), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(260), 3, + ACTIONS(264), 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(264), 4, + ACTIONS(268), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(246), 7, + ACTIONS(198), 5, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(200), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6338,8 +6548,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [4417] = 2, - ACTIONS(188), 11, + [4584] = 3, + ACTIONS(262), 1, + anon_sym_CARET, + ACTIONS(220), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6351,10 +6563,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(186), 14, + ACTIONS(218), 14, ts_builtin_sym_end, anon_sym_DQUOTE, - anon_sym_CARET, + anon_sym_SQUOTE, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -6366,8 +6578,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4447] = 2, - ACTIONS(152), 11, + [4617] = 3, + ACTIONS(262), 1, + anon_sym_CARET, + ACTIONS(220), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6379,10 +6593,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(150), 14, + ACTIONS(218), 14, ts_builtin_sym_end, anon_sym_DQUOTE, - anon_sym_CARET, + anon_sym_SQUOTE, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -6394,8 +6608,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4477] = 2, - ACTIONS(168), 11, + [4650] = 2, + ACTIONS(260), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6407,9 +6621,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(166), 14, + ACTIONS(258), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6422,8 +6637,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4507] = 2, - ACTIONS(200), 11, + [4681] = 2, + ACTIONS(172), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6435,9 +6650,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(198), 14, + ACTIONS(170), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6450,8 +6666,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4537] = 2, - ACTIONS(184), 11, + [4712] = 2, + ACTIONS(244), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6463,9 +6679,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(182), 14, + ACTIONS(242), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6478,8 +6695,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4567] = 2, - ACTIONS(208), 11, + [4743] = 2, + ACTIONS(164), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6491,9 +6708,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(206), 14, - ts_builtin_sym_end, + ACTIONS(162), 15, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6506,29 +6724,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4597] = 5, - ACTIONS(242), 1, + [4774] = 8, + ACTIONS(278), 1, anon_sym_CARET, - ACTIONS(250), 2, + ACTIONS(282), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(248), 3, + ACTIONS(286), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(288), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(280), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(216), 9, + ACTIONS(284), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(276), 5, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(274), 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, + [4817] = 2, + ACTIONS(256), 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), 10, + ACTIONS(254), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -6537,8 +6788,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4633] = 2, - ACTIONS(212), 11, + [4848] = 8, + ACTIONS(262), 1, + anon_sym_CARET, + ACTIONS(266), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(270), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(272), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(264), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(268), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(276), 5, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(274), 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, + [4891] = 2, + ACTIONS(180), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6550,9 +6836,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(210), 14, + ACTIONS(178), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6565,10 +6852,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4663] = 3, - ACTIONS(242), 1, + [4922] = 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, + ACTIONS(174), 15, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, - ACTIONS(216), 11, + 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, + [4953] = 8, + ACTIONS(278), 1, + anon_sym_CARET, + ACTIONS(282), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(286), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(288), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(280), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(284), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(198), 5, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(200), 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, + [4996] = 2, + ACTIONS(188), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6580,9 +6929,11 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(214), 13, + ACTIONS(186), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, + anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -6594,16 +6945,85 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4695] = 4, - ACTIONS(242), 1, + [5027] = 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), 15, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, - ACTIONS(248), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(214), 10, + 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, + [5058] = 2, + ACTIONS(224), 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(222), 15, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, + 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, + [5089] = 2, + ACTIONS(248), 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(246), 15, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + anon_sym_CARET, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -6612,6 +7032,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, + [5120] = 2, ACTIONS(216), 11, anon_sym_let, anon_sym_LPAREN, @@ -6624,8 +7045,24 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [4729] = 2, - ACTIONS(152), 11, + ACTIONS(214), 15, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + 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, + [5151] = 2, + ACTIONS(168), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6637,9 +7074,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(150), 14, + ACTIONS(166), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6652,8 +7090,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4759] = 2, - ACTIONS(200), 11, + [5182] = 2, + ACTIONS(252), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6665,9 +7103,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(198), 14, + ACTIONS(250), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6680,8 +7119,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4789] = 2, - ACTIONS(184), 11, + [5213] = 2, + ACTIONS(256), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6693,9 +7132,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(182), 14, + ACTIONS(254), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6708,8 +7148,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4819] = 2, - ACTIONS(208), 11, + [5244] = 2, + ACTIONS(172), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6721,9 +7161,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(206), 14, + ACTIONS(170), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6736,8 +7177,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4849] = 2, - ACTIONS(212), 11, + [5275] = 2, + ACTIONS(260), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6749,9 +7190,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(210), 14, + ACTIONS(258), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6764,10 +7206,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4879] = 3, - ACTIONS(258), 1, + [5306] = 3, + ACTIONS(278), 1, anon_sym_CARET, - ACTIONS(216), 11, + ACTIONS(220), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6779,9 +7221,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(214), 13, + ACTIONS(218), 14, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -6793,10 +7236,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4911] = 3, - ACTIONS(258), 1, + [5339] = 3, + ACTIONS(278), 1, anon_sym_CARET, - ACTIONS(216), 11, + ACTIONS(220), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6808,9 +7251,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(214), 13, + ACTIONS(218), 14, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -6822,16 +7266,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [4943] = 4, - ACTIONS(258), 1, + [5372] = 4, + ACTIONS(278), 1, anon_sym_CARET, - ACTIONS(260), 3, + ACTIONS(280), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(214), 10, + ACTIONS(218), 11, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -6840,7 +7285,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(216), 11, + ACTIONS(220), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6852,17 +7297,17 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [4977] = 5, - ACTIONS(258), 1, + [5407] = 5, + ACTIONS(278), 1, anon_sym_CARET, - ACTIONS(262), 2, + ACTIONS(282), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(260), 3, + ACTIONS(280), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(216), 9, + ACTIONS(220), 9, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6872,9 +7317,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(214), 10, + ACTIONS(218), 11, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -6883,32 +7329,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5013] = 7, - ACTIONS(258), 1, + [5444] = 7, + ACTIONS(278), 1, anon_sym_CARET, - ACTIONS(262), 2, + ACTIONS(282), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(266), 2, + ACTIONS(286), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(260), 3, + ACTIONS(280), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(264), 4, + ACTIONS(284), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(214), 6, + ACTIONS(218), 7, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - ACTIONS(216), 7, + ACTIONS(220), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6916,8 +7363,8 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [5053] = 2, - ACTIONS(160), 11, + [5485] = 2, + ACTIONS(216), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6929,9 +7376,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(158), 14, + ACTIONS(214), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6944,8 +7392,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5083] = 2, - ACTIONS(156), 11, + [5516] = 2, + ACTIONS(176), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6957,9 +7405,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(154), 14, + ACTIONS(174), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -6972,8 +7421,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5113] = 2, - ACTIONS(236), 11, + [5547] = 2, + ACTIONS(180), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -6985,9 +7434,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(234), 14, + ACTIONS(178), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7000,8 +7450,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5143] = 2, - ACTIONS(192), 11, + [5578] = 2, + ACTIONS(232), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -7013,9 +7463,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(190), 14, - anon_sym_RPAREN, + ACTIONS(230), 15, + ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7028,8 +7479,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5173] = 2, - ACTIONS(164), 11, + [5609] = 2, + ACTIONS(184), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -7041,9 +7492,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(162), 14, + ACTIONS(182), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7056,8 +7508,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5203] = 2, - ACTIONS(196), 11, + [5640] = 2, + ACTIONS(188), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -7069,9 +7521,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(194), 14, + ACTIONS(186), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7084,8 +7537,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5233] = 2, - ACTIONS(172), 11, + [5671] = 2, + ACTIONS(192), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -7097,9 +7550,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(170), 14, + ACTIONS(190), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7112,8 +7566,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5263] = 2, - ACTIONS(176), 11, + [5702] = 2, + ACTIONS(224), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -7125,9 +7579,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(174), 14, + ACTIONS(222), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7140,8 +7595,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5293] = 2, - ACTIONS(180), 11, + [5733] = 2, + ACTIONS(232), 11, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -7153,9 +7608,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(178), 14, + ACTIONS(230), 15, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7168,7 +7624,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5323] = 2, + [5764] = 2, ACTIONS(236), 11, anon_sym_let, anon_sym_LPAREN, @@ -7181,9 +7637,10 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - ACTIONS(234), 14, - ts_builtin_sym_end, + ACTIONS(234), 15, + anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7196,88 +7653,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_float_literal, sym_unit, - [5353] = 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(238), 4, - anon_sym_RPAREN, - anon_sym_DQUOTE, - sym_float_literal, - sym_unit, - ACTIONS(264), 4, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(240), 7, + [5795] = 2, + ACTIONS(248), 11, 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, - [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, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + ACTIONS(246), 15, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + anon_sym_CARET, 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(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, + [5826] = 7, + ACTIONS(292), 1, aux_sym_type_identifier_token1, - STATE(192), 1, + STATE(200), 1, sym_type_identifier, - STATE(221), 1, - aux_sym_qualified_fn_name_repeat1, - STATE(238), 1, + STATE(201), 1, sym_type_reference, - STATE(242), 1, + STATE(226), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(263), 1, sym_module_identifier, - STATE(194), 2, + STATE(199), 2, sym_builtin_type, sym_qualified_type_name, - ACTIONS(270), 17, + ACTIONS(290), 17, aux_sym_builtin_type_token1, aux_sym_builtin_type_token2, aux_sym_builtin_type_token3, @@ -7295,21 +7714,21 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_builtin_type_token15, aux_sym_builtin_type_token16, aux_sym_builtin_type_token17, - [5474] = 7, - ACTIONS(272), 1, + [5865] = 7, + ACTIONS(292), 1, aux_sym_type_identifier_token1, - STATE(192), 1, + STATE(200), 1, sym_type_identifier, - STATE(196), 1, - sym_type_reference, - STATE(221), 1, + STATE(226), 1, aux_sym_qualified_fn_name_repeat1, - STATE(242), 1, + STATE(259), 1, + sym_type_reference, + STATE(263), 1, sym_module_identifier, - STATE(194), 2, + STATE(199), 2, sym_builtin_type, sym_qualified_type_name, - ACTIONS(270), 17, + ACTIONS(290), 17, aux_sym_builtin_type_token1, aux_sym_builtin_type_token2, aux_sym_builtin_type_token3, @@ -7327,21 +7746,21 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_builtin_type_token15, aux_sym_builtin_type_token16, aux_sym_builtin_type_token17, - [5513] = 7, - ACTIONS(272), 1, + [5904] = 7, + ACTIONS(292), 1, aux_sym_type_identifier_token1, - STATE(192), 1, + STATE(200), 1, sym_type_identifier, - STATE(221), 1, + STATE(226), 1, aux_sym_qualified_fn_name_repeat1, - STATE(242), 1, - sym_module_identifier, - STATE(252), 1, + STATE(250), 1, sym_type_reference, - STATE(194), 2, + STATE(263), 1, + sym_module_identifier, + STATE(199), 2, sym_builtin_type, sym_qualified_type_name, - ACTIONS(270), 17, + ACTIONS(290), 17, aux_sym_builtin_type_token1, aux_sym_builtin_type_token2, aux_sym_builtin_type_token3, @@ -7359,12 +7778,55 @@ static const uint16_t ts_small_parse_table[] = { 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, + [5943] = 5, + ACTIONS(296), 1, + anon_sym_let, + ACTIONS(301), 1, + anon_sym_type, + STATE(137), 3, + sym_fn_decl, + sym_type_decl, + aux_sym_source_file_repeat1, + ACTIONS(294), 5, + ts_builtin_sym_end, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(299), 6, + anon_sym_LPAREN, + aux_sym_bool_literal_token1, + aux_sym_bool_literal_token2, + sym_negative_digits, + sym_positive_digits, + aux_sym_variable_identifier_token1, + [5970] = 3, + ACTIONS(308), 1, + anon_sym_DOT, + ACTIONS(304), 7, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(306), 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, + [5993] = 2, + ACTIONS(168), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(166), 13, + anon_sym_RPAREN, anon_sym_CARET, - ACTIONS(216), 13, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -7372,17 +7834,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_LT, anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6013] = 2, + ACTIONS(310), 7, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + sym_float_literal, + sym_unit, + ACTIONS(312), 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, + [6033] = 2, + ACTIONS(252), 2, + anon_sym_LT, anon_sym_GT, + ACTIONS(250), 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, - [5574] = 2, - ACTIONS(196), 2, + [6053] = 2, + ACTIONS(256), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(194), 13, + ACTIONS(254), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -7396,11 +7892,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5594] = 2, - ACTIONS(208), 2, + [6073] = 2, + ACTIONS(172), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(206), 13, + ACTIONS(170), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -7414,11 +7910,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5614] = 2, - ACTIONS(212), 2, + [6093] = 2, + ACTIONS(260), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(210), 13, + ACTIONS(258), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -7432,13 +7928,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5634] = 3, - ACTIONS(276), 1, + [6113] = 3, + ACTIONS(314), 1, anon_sym_CARET, - ACTIONS(216), 2, + ACTIONS(220), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(214), 12, + ACTIONS(218), 12, anon_sym_RPAREN, anon_sym_STAR, anon_sym_SLASH, @@ -7451,13 +7947,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5656] = 3, - ACTIONS(276), 1, + [6135] = 3, + ACTIONS(314), 1, anon_sym_CARET, - ACTIONS(216), 2, + ACTIONS(220), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(214), 12, + ACTIONS(218), 12, anon_sym_RPAREN, anon_sym_STAR, anon_sym_SLASH, @@ -7470,17 +7966,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5678] = 4, - ACTIONS(276), 1, + [6157] = 4, + ACTIONS(314), 1, anon_sym_CARET, - ACTIONS(216), 2, + ACTIONS(220), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(278), 3, + ACTIONS(316), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(214), 9, + ACTIONS(218), 9, anon_sym_RPAREN, anon_sym_PLUS, anon_sym_DASH, @@ -7490,20 +7986,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5702] = 5, - ACTIONS(276), 1, + [6181] = 5, + ACTIONS(314), 1, anon_sym_CARET, - ACTIONS(216), 2, + ACTIONS(220), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(280), 2, + ACTIONS(318), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(278), 3, + ACTIONS(316), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(214), 7, + ACTIONS(218), 7, anon_sym_RPAREN, anon_sym_EQ_EQ, anon_sym_BANG_EQ, @@ -7511,33 +8007,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5728] = 6, - ACTIONS(276), 1, + [6207] = 6, + ACTIONS(314), 1, anon_sym_CARET, - ACTIONS(280), 2, + ACTIONS(318), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(284), 2, + ACTIONS(322), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(214), 3, + ACTIONS(218), 3, anon_sym_RPAREN, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(278), 3, + ACTIONS(316), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(282), 4, + ACTIONS(320), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [5756] = 2, - ACTIONS(236), 2, + [6235] = 2, + ACTIONS(216), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(234), 13, + ACTIONS(214), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -7551,33 +8047,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5776] = 7, - ACTIONS(238), 1, + [6255] = 7, + ACTIONS(198), 1, anon_sym_RPAREN, - ACTIONS(276), 1, + ACTIONS(314), 1, anon_sym_CARET, - ACTIONS(280), 2, + ACTIONS(318), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(284), 2, + ACTIONS(322), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(286), 2, + ACTIONS(324), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(278), 3, + ACTIONS(316), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(282), 4, + ACTIONS(320), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [5806] = 2, - ACTIONS(146), 1, + [6285] = 2, + ACTIONS(162), 1, anon_sym_LF, - ACTIONS(148), 14, + ACTIONS(164), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7592,96 +8088,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5826] = 6, - ACTIONS(274), 1, - anon_sym_CARET, - ACTIONS(288), 1, + [6305] = 6, + ACTIONS(326), 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, - [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(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, - [5876] = 7, - ACTIONS(276), 1, - anon_sym_CARET, - ACTIONS(304), 1, - anon_sym_RPAREN, - 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, - [5906] = 6, - ACTIONS(274), 1, + ACTIONS(328), 1, anon_sym_CARET, - ACTIONS(306), 1, - anon_sym_LF, - ACTIONS(292), 2, + ACTIONS(332), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(296), 2, + ACTIONS(336), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(290), 3, + ACTIONS(330), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(294), 6, + ACTIONS(334), 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, + [6333] = 2, + ACTIONS(174), 1, anon_sym_LF, - ACTIONS(160), 14, + ACTIONS(176), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7696,10 +8128,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5954] = 2, - ACTIONS(154), 1, + [6353] = 2, + ACTIONS(178), 1, anon_sym_LF, - ACTIONS(156), 14, + ACTIONS(180), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7714,11 +8146,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5974] = 2, - ACTIONS(148), 2, + [6373] = 2, + ACTIONS(164), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(146), 13, + ACTIONS(162), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -7732,10 +8164,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5994] = 2, - ACTIONS(190), 1, + [6393] = 2, + ACTIONS(182), 1, anon_sym_LF, - ACTIONS(192), 14, + ACTIONS(184), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7750,10 +8182,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6014] = 2, - ACTIONS(162), 1, + [6413] = 2, + ACTIONS(186), 1, anon_sym_LF, - ACTIONS(164), 14, + ACTIONS(188), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7768,10 +8200,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6034] = 2, - ACTIONS(194), 1, + [6433] = 2, + ACTIONS(190), 1, anon_sym_LF, - ACTIONS(196), 14, + ACTIONS(192), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7786,10 +8218,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6054] = 2, - ACTIONS(170), 1, + [6453] = 2, + ACTIONS(222), 1, anon_sym_LF, - ACTIONS(172), 14, + ACTIONS(224), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7804,10 +8236,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6074] = 2, - ACTIONS(174), 1, + [6473] = 2, + ACTIONS(230), 1, anon_sym_LF, - ACTIONS(176), 14, + ACTIONS(232), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7822,10 +8254,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6094] = 2, - ACTIONS(178), 1, + [6493] = 2, + ACTIONS(234), 1, anon_sym_LF, - ACTIONS(180), 14, + ACTIONS(236), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7840,78 +8272,114 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6114] = 7, - ACTIONS(276), 1, + [6513] = 7, + ACTIONS(314), 1, anon_sym_CARET, - ACTIONS(308), 1, + ACTIONS(338), 1, anon_sym_RPAREN, - ACTIONS(280), 2, + ACTIONS(318), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(284), 2, + ACTIONS(322), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(286), 2, + ACTIONS(324), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(316), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(320), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [6543] = 2, + ACTIONS(244), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(242), 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, - ACTIONS(278), 3, + [6563] = 2, + ACTIONS(240), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(238), 13, + anon_sym_RPAREN, + anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(282), 4, + anon_sym_PLUS, + anon_sym_DASH, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [6144] = 6, - ACTIONS(274), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6583] = 6, + ACTIONS(328), 1, anon_sym_CARET, - ACTIONS(310), 1, + ACTIONS(340), 1, anon_sym_LF, - ACTIONS(292), 2, + ACTIONS(332), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(296), 2, + ACTIONS(336), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(290), 3, + ACTIONS(330), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(294), 6, + ACTIONS(334), 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, + [6611] = 7, + ACTIONS(314), 1, anon_sym_CARET, - ACTIONS(312), 1, + ACTIONS(342), 1, anon_sym_RPAREN, - ACTIONS(280), 2, + ACTIONS(318), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(284), 2, + ACTIONS(322), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(286), 2, + ACTIONS(324), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(278), 3, + ACTIONS(316), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(282), 4, + ACTIONS(320), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [6202] = 2, - ACTIONS(186), 1, + [6641] = 2, + ACTIONS(238), 1, anon_sym_LF, - ACTIONS(188), 14, + ACTIONS(240), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7926,10 +8394,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6222] = 2, - ACTIONS(150), 1, + [6661] = 2, + ACTIONS(242), 1, anon_sym_LF, - ACTIONS(152), 14, + ACTIONS(244), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7944,10 +8412,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6242] = 2, - ACTIONS(166), 1, + [6681] = 2, + ACTIONS(246), 1, anon_sym_LF, - ACTIONS(168), 14, + ACTIONS(248), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7962,10 +8430,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6262] = 2, - ACTIONS(198), 1, + [6701] = 2, + ACTIONS(166), 1, anon_sym_LF, - ACTIONS(200), 14, + ACTIONS(168), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7980,10 +8448,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6282] = 2, - ACTIONS(182), 1, + [6721] = 2, + ACTIONS(250), 1, anon_sym_LF, - ACTIONS(184), 14, + ACTIONS(252), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -7998,10 +8466,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6302] = 2, - ACTIONS(206), 1, + [6741] = 2, + ACTIONS(254), 1, anon_sym_LF, - ACTIONS(208), 14, + ACTIONS(256), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -8016,10 +8484,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6322] = 2, - ACTIONS(210), 1, + [6761] = 2, + ACTIONS(170), 1, anon_sym_LF, - ACTIONS(212), 14, + ACTIONS(172), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -8034,34 +8502,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6342] = 6, - ACTIONS(274), 1, - anon_sym_CARET, - ACTIONS(314), 1, + [6781] = 2, + ACTIONS(258), 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, + ACTIONS(260), 14, + anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(294), 6, + 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, - [6370] = 3, - ACTIONS(214), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [6801] = 3, + ACTIONS(218), 1, anon_sym_LF, - ACTIONS(274), 1, + ACTIONS(328), 1, anon_sym_CARET, - ACTIONS(216), 13, + ACTIONS(220), 13, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8075,16 +8539,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6392] = 4, - ACTIONS(214), 1, + [6823] = 3, + ACTIONS(218), 1, anon_sym_LF, - ACTIONS(274), 1, + ACTIONS(328), 1, anon_sym_CARET, - ACTIONS(290), 3, + ACTIONS(220), 13, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(216), 10, anon_sym_PLUS, anon_sym_DASH, anon_sym_EQ_EQ, @@ -8095,19 +8558,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6416] = 5, - ACTIONS(214), 1, + [6845] = 4, + ACTIONS(218), 1, anon_sym_LF, - ACTIONS(274), 1, + ACTIONS(328), 1, anon_sym_CARET, - ACTIONS(292), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(290), 3, + ACTIONS(330), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(216), 8, + ACTIONS(220), 10, + anon_sym_PLUS, + anon_sym_DASH, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT, @@ -8116,32 +8578,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6442] = 6, - ACTIONS(214), 1, + [6869] = 5, + ACTIONS(218), 1, anon_sym_LF, - ACTIONS(274), 1, + ACTIONS(328), 1, anon_sym_CARET, - ACTIONS(216), 2, + ACTIONS(332), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(330), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(220), 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, + [6895] = 6, + ACTIONS(218), 1, + anon_sym_LF, + ACTIONS(328), 1, + anon_sym_CARET, + ACTIONS(220), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(292), 2, + ACTIONS(332), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(290), 3, + ACTIONS(330), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(294), 6, + ACTIONS(334), 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, + [6923] = 2, + ACTIONS(214), 1, anon_sym_LF, - ACTIONS(236), 14, + ACTIONS(216), 14, anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, @@ -8156,56 +8639,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6490] = 7, - ACTIONS(276), 1, + [6943] = 6, + ACTIONS(328), 1, anon_sym_CARET, - ACTIONS(316), 1, - anon_sym_RPAREN, - ACTIONS(280), 2, + ACTIONS(344), 1, + anon_sym_LF, + ACTIONS(332), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(284), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(286), 2, + ACTIONS(336), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(278), 3, + ACTIONS(330), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(282), 4, + ACTIONS(334), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + anon_sym_LT, anon_sym_LT_EQ, + anon_sym_GT, anon_sym_GT_EQ, - [6520] = 6, - ACTIONS(238), 1, + [6971] = 6, + ACTIONS(198), 1, anon_sym_LF, - ACTIONS(274), 1, + ACTIONS(328), 1, anon_sym_CARET, - ACTIONS(292), 2, + ACTIONS(332), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(296), 2, + ACTIONS(336), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(290), 3, + ACTIONS(330), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(294), 6, + ACTIONS(334), 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, + [6999] = 2, + ACTIONS(236), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(198), 13, + ACTIONS(234), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -8219,33 +8701,11 @@ static const uint16_t ts_small_parse_table[] = { 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, + [7019] = 2, + ACTIONS(232), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(166), 13, + ACTIONS(230), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -8259,11 +8719,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6616] = 2, - ACTIONS(152), 2, + [7039] = 2, + ACTIONS(224), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(150), 13, + ACTIONS(222), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -8277,34 +8737,29 @@ static const uint16_t ts_small_parse_table[] = { 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, - ACTIONS(280), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(284), 2, + [7059] = 2, + ACTIONS(192), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(286), 2, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - ACTIONS(278), 3, + ACTIONS(190), 13, + anon_sym_RPAREN, + anon_sym_CARET, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(282), 4, + anon_sym_PLUS, + anon_sym_DASH, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [6666] = 2, - ACTIONS(160), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [7079] = 2, + ACTIONS(188), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(158), 13, + ACTIONS(186), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -8318,11 +8773,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6686] = 2, - ACTIONS(156), 2, + [7099] = 2, + ACTIONS(184), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(154), 13, + ACTIONS(182), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -8336,11 +8791,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6706] = 2, - ACTIONS(192), 2, + [7119] = 2, + ACTIONS(180), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(190), 13, + ACTIONS(178), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -8354,11 +8809,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6726] = 2, - ACTIONS(188), 2, + [7139] = 2, + ACTIONS(176), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(186), 13, + ACTIONS(174), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -8372,104 +8827,124 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6746] = 2, - ACTIONS(164), 2, + [7159] = 7, + ACTIONS(314), 1, + anon_sym_CARET, + ACTIONS(346), 1, + anon_sym_RPAREN, + ACTIONS(318), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(322), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(162), 13, - anon_sym_RPAREN, - anon_sym_CARET, + ACTIONS(324), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(316), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(320), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, + [7189] = 6, + ACTIONS(328), 1, + anon_sym_CARET, + ACTIONS(348), 1, + anon_sym_LF, + ACTIONS(332), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(336), 2, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6766] = 2, - ACTIONS(184), 2, + ACTIONS(330), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(334), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_LT, + anon_sym_LT_EQ, anon_sym_GT, - ACTIONS(182), 13, - anon_sym_RPAREN, + anon_sym_GT_EQ, + [7217] = 7, + ACTIONS(314), 1, anon_sym_CARET, + ACTIONS(350), 1, + anon_sym_RPAREN, + ACTIONS(318), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(322), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(324), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(316), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(320), 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, + [7247] = 7, + ACTIONS(314), 1, + anon_sym_CARET, + ACTIONS(352), 1, + anon_sym_RPAREN, + ACTIONS(318), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(322), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(170), 13, - anon_sym_RPAREN, - anon_sym_CARET, + ACTIONS(324), 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(316), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(320), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, + [7277] = 6, + ACTIONS(328), 1, + anon_sym_CARET, + ACTIONS(354), 1, + anon_sym_LF, + ACTIONS(332), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(336), 2, 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(327), 6, - anon_sym_LPAREN, - aux_sym_bool_literal_token1, - aux_sym_bool_literal_token2, - sym_negative_digits, - sym_positive_digits, - aux_sym_variable_identifier_token1, - [6832] = 2, - ACTIONS(180), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(178), 13, - anon_sym_RPAREN, - anon_sym_CARET, + ACTIONS(330), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(334), 6, 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, - [6852] = 2, - ACTIONS(176), 2, + [7305] = 2, + ACTIONS(248), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(174), 13, + ACTIONS(246), 13, anon_sym_RPAREN, anon_sym_CARET, anon_sym_STAR, @@ -8483,32 +8958,16 @@ static const uint16_t ts_small_parse_table[] = { 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(334), 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, - [6891] = 2, - ACTIONS(336), 6, + [7325] = 2, + ACTIONS(356), 7, ts_builtin_sym_end, anon_sym_EQ, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, sym_float_literal, sym_unit, - ACTIONS(338), 8, + ACTIONS(358), 8, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -8517,15 +8976,16 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [6910] = 2, - ACTIONS(340), 6, + [7345] = 2, + ACTIONS(360), 7, ts_builtin_sym_end, anon_sym_EQ, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, sym_float_literal, sym_unit, - ACTIONS(342), 8, + ACTIONS(362), 8, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -8534,15 +8994,16 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [6929] = 2, - ACTIONS(344), 6, + [7365] = 2, + ACTIONS(364), 7, ts_builtin_sym_end, anon_sym_EQ, anon_sym_RPAREN, anon_sym_DQUOTE, + anon_sym_SQUOTE, sym_float_literal, sym_unit, - ACTIONS(346), 8, + ACTIONS(366), 8, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -8551,13 +9012,14 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [6948] = 2, - ACTIONS(348), 4, + [7385] = 2, + ACTIONS(368), 5, ts_builtin_sym_end, anon_sym_DQUOTE, + anon_sym_SQUOTE, sym_float_literal, sym_unit, - ACTIONS(350), 8, + ACTIONS(370), 8, anon_sym_let, anon_sym_LPAREN, anon_sym_type, @@ -8566,12 +9028,13 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [6965] = 2, - ACTIONS(354), 3, + [7403] = 2, + ACTIONS(374), 4, anon_sym_DQUOTE, + anon_sym_SQUOTE, sym_float_literal, sym_unit, - ACTIONS(352), 7, + ACTIONS(372), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -8579,29 +9042,13 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [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, + [7419] = 2, + ACTIONS(196), 4, anon_sym_DQUOTE, + anon_sym_SQUOTE, sym_float_literal, sym_unit, - ACTIONS(202), 7, + ACTIONS(194), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -8609,12 +9056,13 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [7018] = 2, - ACTIONS(370), 3, + [7435] = 2, + ACTIONS(378), 4, anon_sym_DQUOTE, + anon_sym_SQUOTE, sym_float_literal, sym_unit, - ACTIONS(368), 7, + ACTIONS(376), 7, anon_sym_let, anon_sym_LPAREN, aux_sym_bool_literal_token1, @@ -8622,24 +9070,7 @@ static const uint16_t ts_small_parse_table[] = { sym_negative_digits, sym_positive_digits, aux_sym_variable_identifier_token1, - [7033] = 6, - ACTIONS(372), 1, - anon_sym_uy, - ACTIONS(374), 1, - anon_sym_us, - ACTIONS(376), 1, - anon_sym_ul, - ACTIONS(378), 1, - anon_sym_UL, - ACTIONS(380), 1, - anon_sym_Z, - ACTIONS(356), 5, - anon_sym_y, - anon_sym_s, - anon_sym_l, - anon_sym_L, - anon_sym_Q, - [7056] = 6, + [7451] = 6, ACTIONS(382), 1, anon_sym_uy, ACTIONS(384), 1, @@ -8650,13 +9081,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_UL, ACTIONS(390), 1, anon_sym_Z, - ACTIONS(356), 5, + ACTIONS(380), 5, anon_sym_y, anon_sym_s, anon_sym_l, anon_sym_L, anon_sym_Q, - [7079] = 6, + [7474] = 6, ACTIONS(392), 1, anon_sym_uy, ACTIONS(394), 1, @@ -8667,13 +9098,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_UL, ACTIONS(400), 1, anon_sym_Z, - ACTIONS(356), 5, + ACTIONS(380), 5, anon_sym_y, anon_sym_s, anon_sym_l, anon_sym_L, anon_sym_Q, - [7102] = 6, + [7497] = 6, ACTIONS(402), 1, anon_sym_uy, ACTIONS(404), 1, @@ -8684,837 +9115,951 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_UL, ACTIONS(410), 1, anon_sym_Z, - ACTIONS(356), 5, + ACTIONS(380), 5, anon_sym_y, anon_sym_s, anon_sym_l, anon_sym_L, anon_sym_Q, - [7125] = 5, + [7520] = 6, ACTIONS(412), 1, - anon_sym_y, + anon_sym_uy, ACTIONS(414), 1, - anon_sym_s, + anon_sym_us, ACTIONS(416), 1, - anon_sym_l, + anon_sym_ul, ACTIONS(418), 1, - anon_sym_L, + anon_sym_UL, ACTIONS(420), 1, + anon_sym_Z, + ACTIONS(380), 5, + anon_sym_y, + anon_sym_s, + anon_sym_l, + anon_sym_L, anon_sym_Q, - [7141] = 4, + [7543] = 6, ACTIONS(422), 1, - anon_sym_COLON, + anon_sym_uy, 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, + anon_sym_us, + ACTIONS(426), 1, + anon_sym_ul, + ACTIONS(428), 1, + anon_sym_UL, 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(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(438), 2, - aux_sym_string_content_token1, - sym_string_escape_sequence, - [7213] = 5, - ACTIONS(444), 1, + anon_sym_Z, + ACTIONS(380), 5, anon_sym_y, - ACTIONS(446), 1, anon_sym_s, - ACTIONS(448), 1, anon_sym_l, - ACTIONS(450), 1, anon_sym_L, - ACTIONS(452), 1, anon_sym_Q, - [7229] = 1, - ACTIONS(356), 5, + [7566] = 5, + ACTIONS(432), 1, anon_sym_y, + ACTIONS(434), 1, anon_sym_s, + ACTIONS(436), 1, anon_sym_l, + ACTIONS(438), 1, anon_sym_L, + ACTIONS(440), 1, anon_sym_Q, - [7237] = 4, - ACTIONS(454), 1, + [7582] = 4, + ACTIONS(442), 1, anon_sym_DQUOTE, - STATE(223), 1, + STATE(225), 1, aux_sym_string_content_repeat1, - STATE(241), 1, + STATE(245), 1, sym_string_content, - ACTIONS(438), 2, + ACTIONS(444), 2, aux_sym_string_content_token1, - sym_string_escape_sequence, - [7251] = 5, - ACTIONS(456), 1, + sym_char_or_string_escape_sequence, + [7596] = 5, + ACTIONS(446), 1, anon_sym_y, - ACTIONS(458), 1, + ACTIONS(448), 1, anon_sym_s, - ACTIONS(460), 1, + ACTIONS(450), 1, anon_sym_l, - ACTIONS(462), 1, + ACTIONS(452), 1, anon_sym_L, - ACTIONS(464), 1, + ACTIONS(454), 1, anon_sym_Q, - [7267] = 5, - ACTIONS(466), 1, + [7612] = 4, + ACTIONS(456), 1, + anon_sym_LPAREN, + ACTIONS(458), 1, + sym_unit, + STATE(260), 1, + sym_fn_decl_params, + STATE(220), 2, + sym_fn_decl_param, + aux_sym_fn_decl_params_repeat1, + [7626] = 5, + ACTIONS(460), 1, anon_sym_y, - ACTIONS(468), 1, + ACTIONS(462), 1, anon_sym_s, - ACTIONS(470), 1, + ACTIONS(464), 1, anon_sym_l, - ACTIONS(472), 1, + ACTIONS(466), 1, anon_sym_L, - ACTIONS(474), 1, + ACTIONS(468), 1, anon_sym_Q, - [7283] = 4, - ACTIONS(432), 1, + [7642] = 4, + ACTIONS(470), 1, + anon_sym_COLON, + ACTIONS(472), 1, anon_sym_LPAREN, - ACTIONS(476), 1, + ACTIONS(475), 1, sym_unit, - STATE(237), 1, - sym_fn_decl_params, - STATE(207), 2, + STATE(215), 2, sym_fn_decl_param, aux_sym_fn_decl_params_repeat1, - [7297] = 4, + [7656] = 4, ACTIONS(478), 1, anon_sym_DQUOTE, - STATE(223), 1, + STATE(225), 1, aux_sym_string_content_repeat1, - STATE(253), 1, + STATE(258), 1, sym_string_content, - ACTIONS(438), 2, + ACTIONS(444), 2, aux_sym_string_content_token1, - sym_string_escape_sequence, - [7311] = 5, + sym_char_or_string_escape_sequence, + [7670] = 4, ACTIONS(480), 1, - anon_sym_y, + anon_sym_DQUOTE, + STATE(225), 1, + aux_sym_string_content_repeat1, + STATE(249), 1, + sym_string_content, + ACTIONS(444), 2, + aux_sym_string_content_token1, + sym_char_or_string_escape_sequence, + [7684] = 4, ACTIONS(482), 1, - anon_sym_s, + anon_sym_DQUOTE, + STATE(225), 1, + aux_sym_string_content_repeat1, + STATE(257), 1, + sym_string_content, + ACTIONS(444), 2, + aux_sym_string_content_token1, + sym_char_or_string_escape_sequence, + [7698] = 5, ACTIONS(484), 1, - anon_sym_l, + anon_sym_y, ACTIONS(486), 1, - anon_sym_L, + anon_sym_s, ACTIONS(488), 1, - anon_sym_Q, - [7327] = 4, + anon_sym_l, ACTIONS(490), 1, + anon_sym_L, + ACTIONS(492), 1, + anon_sym_Q, + [7714] = 4, + ACTIONS(456), 1, + anon_sym_LPAREN, + ACTIONS(494), 1, + anon_sym_COLON, + ACTIONS(496), 1, + sym_unit, + STATE(215), 2, + sym_fn_decl_param, + aux_sym_fn_decl_params_repeat1, + [7728] = 5, + ACTIONS(498), 1, + anon_sym_y, + ACTIONS(500), 1, + anon_sym_s, + ACTIONS(502), 1, + anon_sym_l, + ACTIONS(504), 1, + anon_sym_L, + ACTIONS(506), 1, + anon_sym_Q, + [7744] = 1, + ACTIONS(380), 5, + anon_sym_y, + anon_sym_s, + anon_sym_l, + anon_sym_L, + anon_sym_Q, + [7752] = 4, + ACTIONS(508), 1, anon_sym_DQUOTE, - STATE(223), 1, + STATE(225), 1, aux_sym_string_content_repeat1, - STATE(247), 1, + STATE(253), 1, sym_string_content, - ACTIONS(438), 2, + ACTIONS(444), 2, aux_sym_string_content_token1, - sym_string_escape_sequence, - [7341] = 4, - ACTIONS(492), 1, - aux_sym_variable_identifier_token1, - ACTIONS(494), 1, + sym_char_or_string_escape_sequence, + [7766] = 5, + ACTIONS(43), 1, aux_sym_type_identifier_token1, - STATE(220), 1, + ACTIONS(510), 1, + aux_sym_variable_identifier_token1, + STATE(202), 1, + sym_fn_identifier, + STATE(228), 1, aux_sym_qualified_fn_name_repeat1, - STATE(242), 1, + STATE(263), 1, sym_module_identifier, - [7354] = 4, - ACTIONS(497), 1, + [7782] = 3, + ACTIONS(512), 1, + anon_sym_DQUOTE, + STATE(227), 1, + aux_sym_string_content_repeat1, + ACTIONS(514), 2, + aux_sym_string_content_token1, + sym_char_or_string_escape_sequence, + [7793] = 4, + ACTIONS(516), 1, aux_sym_type_identifier_token1, - STATE(195), 1, + STATE(198), 1, sym_type_identifier, - STATE(220), 1, + STATE(228), 1, aux_sym_qualified_fn_name_repeat1, - STATE(242), 1, + STATE(263), 1, sym_module_identifier, - [7367] = 3, - ACTIONS(499), 1, - anon_sym_DQUOTE, - STATE(222), 1, - aux_sym_string_content_repeat1, - ACTIONS(501), 2, - aux_sym_string_content_token1, - sym_string_escape_sequence, - [7378] = 3, - ACTIONS(504), 1, + [7806] = 3, + ACTIONS(518), 1, anon_sym_DQUOTE, - STATE(222), 1, + STATE(227), 1, aux_sym_string_content_repeat1, - ACTIONS(506), 2, + ACTIONS(520), 2, aux_sym_string_content_token1, - sym_string_escape_sequence, - [7389] = 2, - ACTIONS(510), 1, + sym_char_or_string_escape_sequence, + [7817] = 4, + ACTIONS(523), 1, + aux_sym_variable_identifier_token1, + ACTIONS(525), 1, + aux_sym_type_identifier_token1, + STATE(228), 1, + aux_sym_qualified_fn_name_repeat1, + STATE(263), 1, + sym_module_identifier, + [7830] = 2, + STATE(251), 1, + sym_character, + ACTIONS(528), 2, + aux_sym_character_token1, + sym_char_or_string_escape_sequence, + [7838] = 2, + STATE(247), 1, + sym_character, + ACTIONS(528), 2, + aux_sym_character_token1, + sym_char_or_string_escape_sequence, + [7846] = 2, + STATE(256), 1, + sym_character, + ACTIONS(528), 2, + aux_sym_character_token1, + sym_char_or_string_escape_sequence, + [7854] = 2, + STATE(248), 1, + sym_character, + ACTIONS(528), 2, + aux_sym_character_token1, + sym_char_or_string_escape_sequence, + [7862] = 2, + ACTIONS(532), 1, anon_sym_LPAREN, - ACTIONS(508), 2, + ACTIONS(530), 2, anon_sym_COLON, sym_unit, - [7397] = 3, - ACTIONS(512), 1, + [7870] = 3, + ACTIONS(534), 1, aux_sym_variable_identifier_token1, - STATE(216), 1, + STATE(213), 1, sym_fn_identifier, - STATE(236), 1, + STATE(246), 1, sym_variable_identifier, - [7407] = 2, - ACTIONS(514), 1, + [7880] = 2, + STATE(261), 1, + sym_character, + ACTIONS(528), 2, + aux_sym_character_token1, + sym_char_or_string_escape_sequence, + [7888] = 2, + ACTIONS(510), 1, aux_sym_variable_identifier_token1, - STATE(239), 1, - sym_variable_identifier, - [7414] = 2, - ACTIONS(514), 1, + STATE(213), 1, + sym_fn_identifier, + [7895] = 2, + ACTIONS(536), 1, aux_sym_variable_identifier_token1, - STATE(250), 1, + STATE(265), 1, sym_variable_identifier, - [7421] = 2, - ACTIONS(514), 1, + [7902] = 2, + ACTIONS(536), 1, aux_sym_variable_identifier_token1, - STATE(249), 1, + STATE(264), 1, sym_variable_identifier, - [7428] = 2, - ACTIONS(514), 1, + [7909] = 1, + ACTIONS(523), 2, aux_sym_variable_identifier_token1, - STATE(248), 1, + aux_sym_type_identifier_token1, + [7914] = 2, + ACTIONS(536), 1, + aux_sym_variable_identifier_token1, + STATE(262), 1, sym_variable_identifier, - [7435] = 2, - ACTIONS(440), 1, + [7921] = 2, + ACTIONS(536), 1, aux_sym_variable_identifier_token1, - STATE(216), 1, - sym_fn_identifier, - [7442] = 2, - ACTIONS(514), 1, + STATE(266), 1, + sym_variable_identifier, + [7928] = 2, + ACTIONS(536), 1, aux_sym_variable_identifier_token1, - STATE(236), 1, + STATE(269), 1, sym_variable_identifier, - [7449] = 2, - ACTIONS(516), 1, + [7935] = 2, + ACTIONS(538), 1, aux_sym_type_identifier_token1, - STATE(240), 1, + STATE(267), 1, sym_type_identifier, - [7456] = 1, - ACTIONS(492), 2, - aux_sym_variable_identifier_token1, - aux_sym_type_identifier_token1, - [7461] = 2, - ACTIONS(514), 1, + [7942] = 2, + ACTIONS(536), 1, aux_sym_variable_identifier_token1, STATE(246), 1, sym_variable_identifier, - [7468] = 1, - ACTIONS(518), 1, - ts_builtin_sym_end, - [7472] = 1, - ACTIONS(520), 1, - anon_sym_EQ, - [7476] = 1, - ACTIONS(522), 1, - anon_sym_COLON, - [7480] = 1, - ACTIONS(524), 1, + [7949] = 1, + ACTIONS(540), 1, + anon_sym_DQUOTE, + [7953] = 1, + ACTIONS(542), 1, anon_sym_EQ, - [7484] = 1, - ACTIONS(526), 1, - anon_sym_COLON, - [7488] = 1, - ACTIONS(528), 1, + [7957] = 1, + ACTIONS(544), 1, + anon_sym_SQUOTE, + [7961] = 1, + ACTIONS(546), 1, + anon_sym_SQUOTE, + [7965] = 1, + ACTIONS(548), 1, + anon_sym_DQUOTE, + [7969] = 1, + ACTIONS(550), 1, anon_sym_EQ, - [7492] = 1, - ACTIONS(530), 1, + [7973] = 1, + ACTIONS(552), 1, + anon_sym_SQUOTE, + [7977] = 1, + ACTIONS(554), 1, + ts_builtin_sym_end, + [7981] = 1, + ACTIONS(556), 1, anon_sym_DQUOTE, - [7496] = 1, - ACTIONS(532), 1, + [7985] = 1, + ACTIONS(558), 1, + anon_sym_SQUOTE, + [7989] = 1, + ACTIONS(308), 1, anon_sym_DOT, - [7500] = 1, - ACTIONS(534), 1, + [7993] = 1, + ACTIONS(560), 1, + anon_sym_SQUOTE, + [7997] = 1, + ACTIONS(562), 1, anon_sym_DQUOTE, - [7504] = 1, - ACTIONS(298), 1, + [8001] = 1, + ACTIONS(564), 1, + anon_sym_DQUOTE, + [8005] = 1, + ACTIONS(566), 1, + anon_sym_RPAREN, + [8009] = 1, + ACTIONS(568), 1, + anon_sym_COLON, + [8013] = 1, + ACTIONS(570), 1, + anon_sym_SQUOTE, + [8017] = 1, + ACTIONS(572), 1, anon_sym_EQ, - [7508] = 1, - ACTIONS(302), 1, + [8021] = 1, + ACTIONS(574), 1, anon_sym_DOT, - [7512] = 1, - ACTIONS(536), 1, + [8025] = 1, + ACTIONS(576), 1, anon_sym_EQ, - [7516] = 1, - ACTIONS(538), 1, - anon_sym_DQUOTE, - [7520] = 1, - ACTIONS(540), 1, + [8029] = 1, + ACTIONS(578), 1, anon_sym_EQ, - [7524] = 1, - ACTIONS(542), 1, + [8033] = 1, + ACTIONS(580), 1, anon_sym_EQ, - [7528] = 1, - ACTIONS(544), 1, + [8037] = 1, + ACTIONS(582), 1, anon_sym_EQ, - [7532] = 1, - ACTIONS(546), 1, - anon_sym_DQUOTE, - [7536] = 1, - ACTIONS(548), 1, - anon_sym_RPAREN, - [7540] = 1, - ACTIONS(550), 1, - anon_sym_DQUOTE, + [8041] = 1, + ACTIONS(304), 1, + anon_sym_EQ, + [8045] = 1, + ACTIONS(584), 1, + anon_sym_COLON, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 66, - [SMALL_STATE(4)] = 133, - [SMALL_STATE(5)] = 200, - [SMALL_STATE(6)] = 267, - [SMALL_STATE(7)] = 334, - [SMALL_STATE(8)] = 401, - [SMALL_STATE(9)] = 459, - [SMALL_STATE(10)] = 517, - [SMALL_STATE(11)] = 575, - [SMALL_STATE(12)] = 633, - [SMALL_STATE(13)] = 691, - [SMALL_STATE(14)] = 749, - [SMALL_STATE(15)] = 807, - [SMALL_STATE(16)] = 865, - [SMALL_STATE(17)] = 923, - [SMALL_STATE(18)] = 978, - [SMALL_STATE(19)] = 1033, - [SMALL_STATE(20)] = 1088, - [SMALL_STATE(21)] = 1143, - [SMALL_STATE(22)] = 1198, - [SMALL_STATE(23)] = 1250, - [SMALL_STATE(24)] = 1302, - [SMALL_STATE(25)] = 1354, - [SMALL_STATE(26)] = 1406, - [SMALL_STATE(27)] = 1458, - [SMALL_STATE(28)] = 1510, - [SMALL_STATE(29)] = 1562, - [SMALL_STATE(30)] = 1614, - [SMALL_STATE(31)] = 1666, - [SMALL_STATE(32)] = 1718, - [SMALL_STATE(33)] = 1770, - [SMALL_STATE(34)] = 1822, - [SMALL_STATE(35)] = 1874, - [SMALL_STATE(36)] = 1926, - [SMALL_STATE(37)] = 1978, - [SMALL_STATE(38)] = 2030, - [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, + [SMALL_STATE(3)] = 70, + [SMALL_STATE(4)] = 141, + [SMALL_STATE(5)] = 212, + [SMALL_STATE(6)] = 283, + [SMALL_STATE(7)] = 354, + [SMALL_STATE(8)] = 425, + [SMALL_STATE(9)] = 487, + [SMALL_STATE(10)] = 549, + [SMALL_STATE(11)] = 611, + [SMALL_STATE(12)] = 673, + [SMALL_STATE(13)] = 735, + [SMALL_STATE(14)] = 797, + [SMALL_STATE(15)] = 859, + [SMALL_STATE(16)] = 921, + [SMALL_STATE(17)] = 983, + [SMALL_STATE(18)] = 1042, + [SMALL_STATE(19)] = 1101, + [SMALL_STATE(20)] = 1160, + [SMALL_STATE(21)] = 1219, + [SMALL_STATE(22)] = 1278, + [SMALL_STATE(23)] = 1334, + [SMALL_STATE(24)] = 1390, + [SMALL_STATE(25)] = 1446, + [SMALL_STATE(26)] = 1502, + [SMALL_STATE(27)] = 1558, + [SMALL_STATE(28)] = 1614, + [SMALL_STATE(29)] = 1670, + [SMALL_STATE(30)] = 1726, + [SMALL_STATE(31)] = 1782, + [SMALL_STATE(32)] = 1838, + [SMALL_STATE(33)] = 1894, + [SMALL_STATE(34)] = 1950, + [SMALL_STATE(35)] = 2006, + [SMALL_STATE(36)] = 2062, + [SMALL_STATE(37)] = 2118, + [SMALL_STATE(38)] = 2174, + [SMALL_STATE(39)] = 2230, + [SMALL_STATE(40)] = 2286, + [SMALL_STATE(41)] = 2342, + [SMALL_STATE(42)] = 2398, + [SMALL_STATE(43)] = 2454, + [SMALL_STATE(44)] = 2510, + [SMALL_STATE(45)] = 2566, + [SMALL_STATE(46)] = 2622, + [SMALL_STATE(47)] = 2678, + [SMALL_STATE(48)] = 2734, + [SMALL_STATE(49)] = 2790, + [SMALL_STATE(50)] = 2846, + [SMALL_STATE(51)] = 2902, + [SMALL_STATE(52)] = 2958, + [SMALL_STATE(53)] = 3014, + [SMALL_STATE(54)] = 3070, + [SMALL_STATE(55)] = 3126, + [SMALL_STATE(56)] = 3182, + [SMALL_STATE(57)] = 3238, + [SMALL_STATE(58)] = 3294, + [SMALL_STATE(59)] = 3327, + [SMALL_STATE(60)] = 3359, + [SMALL_STATE(61)] = 3391, + [SMALL_STATE(62)] = 3423, + [SMALL_STATE(63)] = 3455, + [SMALL_STATE(64)] = 3487, + [SMALL_STATE(65)] = 3519, + [SMALL_STATE(66)] = 3551, + [SMALL_STATE(67)] = 3583, + [SMALL_STATE(68)] = 3619, + [SMALL_STATE(69)] = 3663, + [SMALL_STATE(70)] = 3695, + [SMALL_STATE(71)] = 3737, + [SMALL_STATE(72)] = 3769, + [SMALL_STATE(73)] = 3813, + [SMALL_STATE(74)] = 3851, + [SMALL_STATE(75)] = 3883, + [SMALL_STATE(76)] = 3915, + [SMALL_STATE(77)] = 3947, + [SMALL_STATE(78)] = 3979, + [SMALL_STATE(79)] = 4011, + [SMALL_STATE(80)] = 4043, + [SMALL_STATE(81)] = 4079, + [SMALL_STATE(82)] = 4113, + [SMALL_STATE(83)] = 4147, + [SMALL_STATE(84)] = 4179, + [SMALL_STATE(85)] = 4211, + [SMALL_STATE(86)] = 4248, + [SMALL_STATE(87)] = 4279, + [SMALL_STATE(88)] = 4310, + [SMALL_STATE(89)] = 4341, + [SMALL_STATE(90)] = 4372, + [SMALL_STATE(91)] = 4413, + [SMALL_STATE(92)] = 4444, + [SMALL_STATE(93)] = 4475, + [SMALL_STATE(94)] = 4510, + [SMALL_STATE(95)] = 4541, + [SMALL_STATE(96)] = 4584, + [SMALL_STATE(97)] = 4617, + [SMALL_STATE(98)] = 4650, + [SMALL_STATE(99)] = 4681, + [SMALL_STATE(100)] = 4712, + [SMALL_STATE(101)] = 4743, + [SMALL_STATE(102)] = 4774, + [SMALL_STATE(103)] = 4817, + [SMALL_STATE(104)] = 4848, + [SMALL_STATE(105)] = 4891, + [SMALL_STATE(106)] = 4922, + [SMALL_STATE(107)] = 4953, + [SMALL_STATE(108)] = 4996, + [SMALL_STATE(109)] = 5027, + [SMALL_STATE(110)] = 5058, + [SMALL_STATE(111)] = 5089, + [SMALL_STATE(112)] = 5120, + [SMALL_STATE(113)] = 5151, + [SMALL_STATE(114)] = 5182, + [SMALL_STATE(115)] = 5213, + [SMALL_STATE(116)] = 5244, + [SMALL_STATE(117)] = 5275, + [SMALL_STATE(118)] = 5306, + [SMALL_STATE(119)] = 5339, + [SMALL_STATE(120)] = 5372, + [SMALL_STATE(121)] = 5407, + [SMALL_STATE(122)] = 5444, + [SMALL_STATE(123)] = 5485, + [SMALL_STATE(124)] = 5516, + [SMALL_STATE(125)] = 5547, + [SMALL_STATE(126)] = 5578, + [SMALL_STATE(127)] = 5609, + [SMALL_STATE(128)] = 5640, + [SMALL_STATE(129)] = 5671, + [SMALL_STATE(130)] = 5702, + [SMALL_STATE(131)] = 5733, + [SMALL_STATE(132)] = 5764, + [SMALL_STATE(133)] = 5795, + [SMALL_STATE(134)] = 5826, + [SMALL_STATE(135)] = 5865, + [SMALL_STATE(136)] = 5904, + [SMALL_STATE(137)] = 5943, + [SMALL_STATE(138)] = 5970, + [SMALL_STATE(139)] = 5993, + [SMALL_STATE(140)] = 6013, + [SMALL_STATE(141)] = 6033, + [SMALL_STATE(142)] = 6053, + [SMALL_STATE(143)] = 6073, + [SMALL_STATE(144)] = 6093, + [SMALL_STATE(145)] = 6113, + [SMALL_STATE(146)] = 6135, + [SMALL_STATE(147)] = 6157, + [SMALL_STATE(148)] = 6181, + [SMALL_STATE(149)] = 6207, + [SMALL_STATE(150)] = 6235, + [SMALL_STATE(151)] = 6255, + [SMALL_STATE(152)] = 6285, + [SMALL_STATE(153)] = 6305, + [SMALL_STATE(154)] = 6333, + [SMALL_STATE(155)] = 6353, + [SMALL_STATE(156)] = 6373, + [SMALL_STATE(157)] = 6393, + [SMALL_STATE(158)] = 6413, + [SMALL_STATE(159)] = 6433, + [SMALL_STATE(160)] = 6453, + [SMALL_STATE(161)] = 6473, + [SMALL_STATE(162)] = 6493, + [SMALL_STATE(163)] = 6513, + [SMALL_STATE(164)] = 6543, + [SMALL_STATE(165)] = 6563, + [SMALL_STATE(166)] = 6583, + [SMALL_STATE(167)] = 6611, + [SMALL_STATE(168)] = 6641, + [SMALL_STATE(169)] = 6661, + [SMALL_STATE(170)] = 6681, + [SMALL_STATE(171)] = 6701, + [SMALL_STATE(172)] = 6721, + [SMALL_STATE(173)] = 6741, + [SMALL_STATE(174)] = 6761, + [SMALL_STATE(175)] = 6781, + [SMALL_STATE(176)] = 6801, + [SMALL_STATE(177)] = 6823, + [SMALL_STATE(178)] = 6845, + [SMALL_STATE(179)] = 6869, + [SMALL_STATE(180)] = 6895, + [SMALL_STATE(181)] = 6923, + [SMALL_STATE(182)] = 6943, + [SMALL_STATE(183)] = 6971, + [SMALL_STATE(184)] = 6999, + [SMALL_STATE(185)] = 7019, + [SMALL_STATE(186)] = 7039, + [SMALL_STATE(187)] = 7059, + [SMALL_STATE(188)] = 7079, + [SMALL_STATE(189)] = 7099, + [SMALL_STATE(190)] = 7119, + [SMALL_STATE(191)] = 7139, + [SMALL_STATE(192)] = 7159, + [SMALL_STATE(193)] = 7189, + [SMALL_STATE(194)] = 7217, + [SMALL_STATE(195)] = 7247, + [SMALL_STATE(196)] = 7277, + [SMALL_STATE(197)] = 7305, + [SMALL_STATE(198)] = 7325, + [SMALL_STATE(199)] = 7345, + [SMALL_STATE(200)] = 7365, + [SMALL_STATE(201)] = 7385, + [SMALL_STATE(202)] = 7403, + [SMALL_STATE(203)] = 7419, + [SMALL_STATE(204)] = 7435, + [SMALL_STATE(205)] = 7451, + [SMALL_STATE(206)] = 7474, + [SMALL_STATE(207)] = 7497, + [SMALL_STATE(208)] = 7520, + [SMALL_STATE(209)] = 7543, + [SMALL_STATE(210)] = 7566, + [SMALL_STATE(211)] = 7582, + [SMALL_STATE(212)] = 7596, + [SMALL_STATE(213)] = 7612, + [SMALL_STATE(214)] = 7626, + [SMALL_STATE(215)] = 7642, + [SMALL_STATE(216)] = 7656, + [SMALL_STATE(217)] = 7670, + [SMALL_STATE(218)] = 7684, + [SMALL_STATE(219)] = 7698, + [SMALL_STATE(220)] = 7714, + [SMALL_STATE(221)] = 7728, + [SMALL_STATE(222)] = 7744, + [SMALL_STATE(223)] = 7752, + [SMALL_STATE(224)] = 7766, + [SMALL_STATE(225)] = 7782, + [SMALL_STATE(226)] = 7793, + [SMALL_STATE(227)] = 7806, + [SMALL_STATE(228)] = 7817, + [SMALL_STATE(229)] = 7830, + [SMALL_STATE(230)] = 7838, + [SMALL_STATE(231)] = 7846, + [SMALL_STATE(232)] = 7854, + [SMALL_STATE(233)] = 7862, + [SMALL_STATE(234)] = 7870, + [SMALL_STATE(235)] = 7880, + [SMALL_STATE(236)] = 7888, + [SMALL_STATE(237)] = 7895, + [SMALL_STATE(238)] = 7902, + [SMALL_STATE(239)] = 7909, + [SMALL_STATE(240)] = 7914, + [SMALL_STATE(241)] = 7921, + [SMALL_STATE(242)] = 7928, + [SMALL_STATE(243)] = 7935, + [SMALL_STATE(244)] = 7942, + [SMALL_STATE(245)] = 7949, + [SMALL_STATE(246)] = 7953, + [SMALL_STATE(247)] = 7957, + [SMALL_STATE(248)] = 7961, + [SMALL_STATE(249)] = 7965, + [SMALL_STATE(250)] = 7969, + [SMALL_STATE(251)] = 7973, + [SMALL_STATE(252)] = 7977, + [SMALL_STATE(253)] = 7981, + [SMALL_STATE(254)] = 7985, + [SMALL_STATE(255)] = 7989, + [SMALL_STATE(256)] = 7993, + [SMALL_STATE(257)] = 7997, + [SMALL_STATE(258)] = 8001, + [SMALL_STATE(259)] = 8005, + [SMALL_STATE(260)] = 8009, + [SMALL_STATE(261)] = 8013, + [SMALL_STATE(262)] = 8017, + [SMALL_STATE(263)] = 8021, + [SMALL_STATE(264)] = 8025, + [SMALL_STATE(265)] = 8029, + [SMALL_STATE(266)] = 8033, + [SMALL_STATE(267)] = 8037, + [SMALL_STATE(268)] = 8041, + [SMALL_STATE(269)] = 8045, }; 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(225), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), - [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(234), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [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(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(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(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(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(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(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), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(222), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(240), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(238), + [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(5), + [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(124), + [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(218), + [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(231), + [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(222), + [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(205), + [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(125), + [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(101), + [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(244), + [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(6), + [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(106), + [83] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(216), + [86] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(232), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(209), + [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(105), + [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(58), + [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), + [100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(244), + [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(238), + [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(205), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), + [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), + [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(237), + [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), + [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_identifier, 1), + [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_identifier, 1), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int64_literal, 2, .production_id = 2), + [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int64_literal, 2, .production_id = 2), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, .production_id = 4), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, .production_id = 4), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [182] = {.entry = {.count = 1, .reusable = true}}, 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_uint8_literal, 2, .production_id = 2), + [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint8_literal, 2, .production_id = 2), + [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint16_literal, 2, .production_id = 2), + [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint16_literal, 2, .production_id = 2), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_identifier, 1), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_identifier, 1), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 9), + [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 9), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 7), + [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 7), + [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_operation, 3, .production_id = 6), + [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_operation, 3, .production_id = 6), + [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint32_literal, 2, .production_id = 2), + [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint32_literal, 2, .production_id = 2), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl, 7, .production_id = 11), + [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_decl, 7, .production_id = 11), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint64_literal, 2, .production_id = 2), + [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint64_literal, 2, .production_id = 2), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_uint128_literal, 2, .production_id = 2), + [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_uint128_literal, 2, .production_id = 2), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int8_literal, 2, .production_id = 2), + [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int8_literal, 2, .production_id = 2), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int16_literal, 2, .production_id = 2), + [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int16_literal, 2, .production_id = 2), + [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int32_literal, 2, .production_id = 2), + [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int32_literal, 2, .production_id = 2), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int128_literal, 2, .production_id = 2), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int128_literal, 2, .production_id = 2), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paren_expression, 3, .production_id = 3), + [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_paren_expression, 3, .production_id = 3), + [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3, .production_id = 5), + [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3, .production_id = 5), + [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), [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), + [270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 1), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 1), + [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(236), + [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), + [301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(243), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_identifier, 1), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_identifier, 1), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_identifier, 1), + [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), + [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_name, 2), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_name, 2), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_reference, 1), + [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_reference, 1), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_name, 1), + [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_name, 1), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_decl, 4, .production_id = 8), + [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_decl, 4, .production_id = 8), + [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_fn_name, 2), + [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_fn_name, 2), + [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_fn_name, 1), + [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_fn_name, 1), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_digits, 1), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), + [472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), SHIFT_REPEAT(242), + [475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fn_decl_params_repeat1, 2), SHIFT_REPEAT(215), + [478] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl_params, 1), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157), + [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [512] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [518] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), + [520] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(227), + [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_qualified_fn_name_repeat1, 2), + [525] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_qualified_fn_name_repeat1, 2), SHIFT_REPEAT(255), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_decl_param, 5, .production_id = 10), + [532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_decl_param, 5, .production_id = 10), + [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [554] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 1), + [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), }; #ifdef __cplusplus diff --git a/tree-sitter-darklang/test/corpus/exhaustive/exprs/char.txt b/tree-sitter-darklang/test/corpus/exhaustive/exprs/char.txt new file mode 100644 index 0000000000..d3de62f495 --- /dev/null +++ b/tree-sitter-darklang/test/corpus/exhaustive/exprs/char.txt @@ -0,0 +1,24 @@ +================== +basic char +================== + +'a' + +--- + +(source_file + (expression + (char_literal (symbol) (character) (symbol)))) + + +================== +escape sequence +================== + +'\n' + +--- + +(source_file + (expression + (char_literal (symbol) (character (char_or_string_escape_sequence)) (symbol)))) \ No newline at end of file diff --git a/tree-sitter-darklang/test/corpus/exhaustive/exprs/strings.txt b/tree-sitter-darklang/test/corpus/exhaustive/exprs/strings.txt index c1e57b4a18..d6e27a958f 100644 --- a/tree-sitter-darklang/test/corpus/exhaustive/exprs/strings.txt +++ b/tree-sitter-darklang/test/corpus/exhaustive/exprs/strings.txt @@ -39,7 +39,7 @@ string with escape (expression (string_literal (symbol) - (string_content (string_escape_sequence)) + (string_content (char_or_string_escape_sequence)) (symbol) ) )