diff --git a/grammar.js b/grammar.js index cb36814..b034eb3 100644 --- a/grammar.js +++ b/grammar.js @@ -9,7 +9,14 @@ module.exports = grammar({ ), extras: ($) => choice($.type_struct_inner), _definition: ($) => - choice($.import, $.type_alias, $.type_struct, $.type_enum, $.constant), + choice( + $.import, + $.type_alias, + $.type_struct, + $.type_enum, + $.constant, + $.function + ), // Handles import definitions // use foo @@ -72,9 +79,84 @@ module.exports = grammar({ type_argument: ($) => field("type_argument", choice($.identifier, $.type_definition)), + // Functions + function: ($) => + seq( + optional("pub"), + "fn", + optional($.identifier), + $.function_arguments, + optional(seq("->", $.type_definition)), + block(repeat($.expression)) + ), + + function_arguments: ($) => + seq("(", optional(repeat_separated_by($.function_argument, ",")), ")"), + function_argument: ($) => + seq($.identifier, optional(seq(":", $.type_definition))), + + // Expressions - WIP + expression: ($) => + choice( + $.identifier, + $.access, + $.int, + $.string, + // $.var, + $.function, + $.list, + $.call, + // $.bin_op, + $.bytes, + // $.curvepoint - Add this later. + // $.pipeline, + $.assignment + // $.trace, + // $.trace_if_false, + // $.when, + // $.if, + // $.field_access, + // $.tuple, + // $.pair, + // $.tuple_index, + // $.error_term, + // $.record_update, + // $.unary_op, + // $.logical_op_chain, + ), + + assignment: ($) => choice($.let_assignment, $.expect_assignment), + let_assignment: ($) => + seq( + "let", + $.identifier, + optional(seq(":", $.type_definition)), + "=", + $.expression + ), + expect_assignment: ($) => seq("expect", $.match_pattern, "=", $.expression), + + // Patterns for case and expect + match_pattern: ($) => + seq( + $.type_identifier, + "(", + repeat_separated_by($.match_pattern_argument, ","), + ")" + ), + match_pattern_argument: ($) => choice($.identifier, $.discard), + + list: ($) => seq("[", repeat_separated_by($.expression, ","), "]"), + call: ($) => seq(choice($.identifier, $.access), $.call_arguments), + call_arguments: ($) => + seq("(", optional(repeat_separated_by($.expression, ",")), ")"), + access: ($) => seq($.identifier, ".", choice($.identifier, $.access)), + pipeline: ($) => seq($.expression, "|>", $.expression), + // Constants constant: ($) => seq( + optional("pub"), "const", $.identifier, optional(seq(":", $.type_definition)), @@ -86,7 +168,7 @@ module.exports = grammar({ $.int, $.string, $.bytes - // $.curvepoint - Should this be here? + // $.curvepoint - Add this later. ), base10: (_$) => token(/[0-9]+/), @@ -97,7 +179,7 @@ module.exports = grammar({ string: ($) => seq("@", $.string_inner), bytes: ($) => seq(optional("#"), $.string_inner), string_inner: ($) => seq('"', repeat(choice(/[^\\"]/, $.escape)), '"'), - escape: ($) => token(/\\./), + escape: (_$) => token(/\\./), // Comments module_comment: (_$) => token(seq("////", /.*/)), diff --git a/src/grammar.json b/src/grammar.json index f126cd8..9e55068 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -56,6 +56,10 @@ { "type": "SYMBOL", "name": "constant" + }, + { + "type": "SYMBOL", + "name": "function" } ] }, @@ -563,9 +567,544 @@ ] } }, + "function": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "pub" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "fn" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "function_arguments" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "->" + }, + { + "type": "SYMBOL", + "name": "type_definition" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + } + ] + }, + "function_arguments": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "function_argument" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "function_argument" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "function_argument": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "type_definition" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "access" + }, + { + "type": "SYMBOL", + "name": "int" + }, + { + "type": "SYMBOL", + "name": "string" + }, + { + "type": "SYMBOL", + "name": "function" + }, + { + "type": "SYMBOL", + "name": "list" + }, + { + "type": "SYMBOL", + "name": "call" + }, + { + "type": "SYMBOL", + "name": "bytes" + }, + { + "type": "SYMBOL", + "name": "assignment" + } + ] + }, + "assignment": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "let_assignment" + }, + { + "type": "SYMBOL", + "name": "expect_assignment" + } + ] + }, + "let_assignment": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "let" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "type_definition" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + "expect_assignment": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "expect" + }, + { + "type": "SYMBOL", + "name": "match_pattern" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + "match_pattern": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_identifier" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "match_pattern_argument" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "match_pattern_argument" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "match_pattern_argument": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "discard" + } + ] + }, + "list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "call": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "access" + } + ] + }, + { + "type": "SYMBOL", + "name": "call_arguments" + } + ] + }, + "call_arguments": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "access": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "access" + } + ] + } + ] + }, + "pipeline": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "|>" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, "constant": { "type": "SEQ", "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "pub" + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "const" diff --git a/src/node-types.json b/src/node-types.json index 9a2eb1f..dde8189 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -1,4 +1,42 @@ [ + { + "type": "access", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "access", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "assignment", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expect_assignment", + "named": true + }, + { + "type": "let_assignment", + "named": true + } + ] + } + }, { "type": "bytes", "named": true, @@ -14,6 +52,44 @@ ] } }, + { + "type": "call", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "access", + "named": true + }, + { + "type": "call_arguments", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "call_arguments", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "constant", "named": true, @@ -60,6 +136,138 @@ ] } }, + { + "type": "discard", + "named": true, + "fields": {} + }, + { + "type": "expect_assignment", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "match_pattern", + "named": true + } + ] + } + }, + { + "type": "expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "access", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "bytes", + "named": true + }, + { + "type": "call", + "named": true + }, + { + "type": "function", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "int", + "named": true + }, + { + "type": "list", + "named": true + }, + { + "type": "string", + "named": true + } + ] + } + }, + { + "type": "function", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "function_arguments", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "type_definition", + "named": true + } + ] + } + }, + { + "type": "function_argument", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "type_definition", + "named": true + } + ] + } + }, + { + "type": "function_arguments", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "function_argument", + "named": true + } + ] + } + }, { "type": "identifier", "named": true, @@ -124,6 +332,82 @@ ] } }, + { + "type": "let_assignment", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "type_definition", + "named": true + } + ] + } + }, + { + "type": "list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "match_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "match_pattern_argument", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "match_pattern_argument", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "discard", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, { "type": "module", "named": true, @@ -149,6 +433,10 @@ "type": "definition_comment", "named": true }, + { + "type": "function", + "named": true + }, { "type": "import", "named": true @@ -440,6 +728,10 @@ "type": ",", "named": false }, + { + "type": "->", + "named": false + }, { "type": ".", "named": false @@ -468,6 +760,14 @@ "type": "@", "named": false }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, { "type": "as", "named": false @@ -500,10 +800,26 @@ "type": "escape", "named": true }, + { + "type": "expect", + "named": false + }, + { + "type": "fn", + "named": false + }, + { + "type": "let", + "named": false + }, { "type": "module_comment", "named": true }, + { + "type": "pub", + "named": false + }, { "type": "type", "named": false @@ -516,6 +832,10 @@ "type": "{", "named": false }, + { + "type": "|>", + "named": false + }, { "type": "}", "named": false diff --git a/src/parser.c b/src/parser.c index d02a281..157ea8a 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,14 +6,14 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 109 +#define STATE_COUNT 271 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 60 +#define SYMBOL_COUNT 86 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 30 +#define TOKEN_COUNT 38 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 5 -#define MAX_ALIAS_SEQUENCE_LENGTH 6 +#define MAX_ALIAS_SEQUENCE_LENGTH 9 #define PRODUCTION_ID_COUNT 8 enum { @@ -31,51 +31,77 @@ enum { anon_sym_COLON = 12, anon_sym_LT = 13, anon_sym_GT = 14, - anon_sym_const = 15, - sym_base10 = 16, - sym_base10_underscore = 17, - sym_base16 = 18, - anon_sym_AT = 19, - anon_sym_POUND = 20, - anon_sym_DQUOTE = 21, - aux_sym_string_inner_token1 = 22, - sym_escape = 23, - sym_module_comment = 24, - sym_definition_comment = 25, - sym_comment = 26, - sym__discard_name = 27, - sym__name = 28, - sym__upname = 29, - sym_source_file = 30, - sym__definition = 31, - sym_import = 32, - sym_module = 33, - sym_unqualified_imports = 34, - sym_unqualified_import = 35, - sym_type_alias = 36, - sym_type_enum = 37, - sym_type_enum_variant = 38, - sym_type_struct = 39, - sym_type_struct_inner = 40, - sym_type_struct_fields = 41, - sym_type_struct_field = 42, - sym_type_definition = 43, - sym_type_argument = 44, - sym_constant = 45, - sym_constant_value = 46, - sym_int = 47, - sym_string = 48, - sym_bytes = 49, - sym_string_inner = 50, - sym_identifier = 51, - sym_type_identifier = 52, - aux_sym_source_file_repeat1 = 53, - aux_sym_module_repeat1 = 54, - aux_sym_unqualified_imports_repeat1 = 55, - aux_sym_type_enum_repeat1 = 56, - aux_sym_type_enum_variant_repeat1 = 57, - aux_sym_type_struct_fields_repeat1 = 58, - aux_sym_string_inner_repeat1 = 59, + anon_sym_pub = 15, + anon_sym_fn = 16, + anon_sym_DASH_GT = 17, + anon_sym_let = 18, + anon_sym_expect = 19, + anon_sym_LBRACK = 20, + anon_sym_RBRACK = 21, + anon_sym_PIPE_GT = 22, + anon_sym_const = 23, + sym_base10 = 24, + sym_base10_underscore = 25, + sym_base16 = 26, + anon_sym_AT = 27, + anon_sym_POUND = 28, + anon_sym_DQUOTE = 29, + aux_sym_string_inner_token1 = 30, + sym_escape = 31, + sym_module_comment = 32, + sym_definition_comment = 33, + sym_comment = 34, + sym__discard_name = 35, + sym__name = 36, + sym__upname = 37, + sym_source_file = 38, + sym__definition = 39, + sym_import = 40, + sym_module = 41, + sym_unqualified_imports = 42, + sym_unqualified_import = 43, + sym_type_alias = 44, + sym_type_enum = 45, + sym_type_enum_variant = 46, + sym_type_struct = 47, + sym_type_struct_inner = 48, + sym_type_struct_fields = 49, + sym_type_struct_field = 50, + sym_type_definition = 51, + sym_type_argument = 52, + sym_function = 53, + sym_function_arguments = 54, + sym_function_argument = 55, + sym_expression = 56, + sym_assignment = 57, + sym_let_assignment = 58, + sym_expect_assignment = 59, + sym_match_pattern = 60, + sym_match_pattern_argument = 61, + sym_list = 62, + sym_call = 63, + sym_call_arguments = 64, + sym_access = 65, + sym_constant = 66, + sym_constant_value = 67, + sym_int = 68, + sym_string = 69, + sym_bytes = 70, + sym_string_inner = 71, + sym_identifier = 72, + sym_discard = 73, + sym_type_identifier = 74, + aux_sym_source_file_repeat1 = 75, + aux_sym_module_repeat1 = 76, + aux_sym_unqualified_imports_repeat1 = 77, + aux_sym_type_enum_repeat1 = 78, + aux_sym_type_enum_variant_repeat1 = 79, + aux_sym_type_struct_fields_repeat1 = 80, + aux_sym_function_repeat1 = 81, + aux_sym_function_arguments_repeat1 = 82, + aux_sym_match_pattern_repeat1 = 83, + aux_sym_list_repeat1 = 84, + aux_sym_string_inner_repeat1 = 85, }; static const char * const ts_symbol_names[] = { @@ -94,6 +120,14 @@ static const char * const ts_symbol_names[] = { [anon_sym_COLON] = ":", [anon_sym_LT] = "<", [anon_sym_GT] = ">", + [anon_sym_pub] = "pub", + [anon_sym_fn] = "fn", + [anon_sym_DASH_GT] = "->", + [anon_sym_let] = "let", + [anon_sym_expect] = "expect", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", + [anon_sym_PIPE_GT] = "|>", [anon_sym_const] = "const", [sym_base10] = "base10", [sym_base10_underscore] = "base10_underscore", @@ -124,6 +158,19 @@ static const char * const ts_symbol_names[] = { [sym_type_struct_field] = "type_struct_field", [sym_type_definition] = "type_definition", [sym_type_argument] = "type_argument", + [sym_function] = "function", + [sym_function_arguments] = "function_arguments", + [sym_function_argument] = "function_argument", + [sym_expression] = "expression", + [sym_assignment] = "assignment", + [sym_let_assignment] = "let_assignment", + [sym_expect_assignment] = "expect_assignment", + [sym_match_pattern] = "match_pattern", + [sym_match_pattern_argument] = "match_pattern_argument", + [sym_list] = "list", + [sym_call] = "call", + [sym_call_arguments] = "call_arguments", + [sym_access] = "access", [sym_constant] = "constant", [sym_constant_value] = "constant_value", [sym_int] = "int", @@ -131,6 +178,7 @@ static const char * const ts_symbol_names[] = { [sym_bytes] = "bytes", [sym_string_inner] = "string_inner", [sym_identifier] = "identifier", + [sym_discard] = "discard", [sym_type_identifier] = "type_identifier", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_module_repeat1] = "module_repeat1", @@ -138,6 +186,10 @@ static const char * const ts_symbol_names[] = { [aux_sym_type_enum_repeat1] = "type_enum_repeat1", [aux_sym_type_enum_variant_repeat1] = "type_enum_variant_repeat1", [aux_sym_type_struct_fields_repeat1] = "type_struct_fields_repeat1", + [aux_sym_function_repeat1] = "function_repeat1", + [aux_sym_function_arguments_repeat1] = "function_arguments_repeat1", + [aux_sym_match_pattern_repeat1] = "match_pattern_repeat1", + [aux_sym_list_repeat1] = "list_repeat1", [aux_sym_string_inner_repeat1] = "string_inner_repeat1", }; @@ -157,6 +209,14 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_COLON] = anon_sym_COLON, [anon_sym_LT] = anon_sym_LT, [anon_sym_GT] = anon_sym_GT, + [anon_sym_pub] = anon_sym_pub, + [anon_sym_fn] = anon_sym_fn, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [anon_sym_let] = anon_sym_let, + [anon_sym_expect] = anon_sym_expect, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_PIPE_GT] = anon_sym_PIPE_GT, [anon_sym_const] = anon_sym_const, [sym_base10] = sym_base10, [sym_base10_underscore] = sym_base10_underscore, @@ -187,6 +247,19 @@ static const TSSymbol ts_symbol_map[] = { [sym_type_struct_field] = sym_type_struct_field, [sym_type_definition] = sym_type_definition, [sym_type_argument] = sym_type_argument, + [sym_function] = sym_function, + [sym_function_arguments] = sym_function_arguments, + [sym_function_argument] = sym_function_argument, + [sym_expression] = sym_expression, + [sym_assignment] = sym_assignment, + [sym_let_assignment] = sym_let_assignment, + [sym_expect_assignment] = sym_expect_assignment, + [sym_match_pattern] = sym_match_pattern, + [sym_match_pattern_argument] = sym_match_pattern_argument, + [sym_list] = sym_list, + [sym_call] = sym_call, + [sym_call_arguments] = sym_call_arguments, + [sym_access] = sym_access, [sym_constant] = sym_constant, [sym_constant_value] = sym_constant_value, [sym_int] = sym_int, @@ -194,6 +267,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_bytes] = sym_bytes, [sym_string_inner] = sym_string_inner, [sym_identifier] = sym_identifier, + [sym_discard] = sym_discard, [sym_type_identifier] = sym_type_identifier, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym_module_repeat1] = aux_sym_module_repeat1, @@ -201,6 +275,10 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_type_enum_repeat1] = aux_sym_type_enum_repeat1, [aux_sym_type_enum_variant_repeat1] = aux_sym_type_enum_variant_repeat1, [aux_sym_type_struct_fields_repeat1] = aux_sym_type_struct_fields_repeat1, + [aux_sym_function_repeat1] = aux_sym_function_repeat1, + [aux_sym_function_arguments_repeat1] = aux_sym_function_arguments_repeat1, + [aux_sym_match_pattern_repeat1] = aux_sym_match_pattern_repeat1, + [aux_sym_list_repeat1] = aux_sym_list_repeat1, [aux_sym_string_inner_repeat1] = aux_sym_string_inner_repeat1, }; @@ -265,6 +343,38 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_pub] = { + .visible = true, + .named = false, + }, + [anon_sym_fn] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_let] = { + .visible = true, + .named = false, + }, + [anon_sym_expect] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_GT] = { + .visible = true, + .named = false, + }, [anon_sym_const] = { .visible = true, .named = false, @@ -385,6 +495,58 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_function] = { + .visible = true, + .named = true, + }, + [sym_function_arguments] = { + .visible = true, + .named = true, + }, + [sym_function_argument] = { + .visible = true, + .named = true, + }, + [sym_expression] = { + .visible = true, + .named = true, + }, + [sym_assignment] = { + .visible = true, + .named = true, + }, + [sym_let_assignment] = { + .visible = true, + .named = true, + }, + [sym_expect_assignment] = { + .visible = true, + .named = true, + }, + [sym_match_pattern] = { + .visible = true, + .named = true, + }, + [sym_match_pattern_argument] = { + .visible = true, + .named = true, + }, + [sym_list] = { + .visible = true, + .named = true, + }, + [sym_call] = { + .visible = true, + .named = true, + }, + [sym_call_arguments] = { + .visible = true, + .named = true, + }, + [sym_access] = { + .visible = true, + .named = true, + }, [sym_constant] = { .visible = true, .named = true, @@ -413,6 +575,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_discard] = { + .visible = true, + .named = true, + }, [sym_type_identifier] = { .visible = true, .named = true, @@ -441,6 +607,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_function_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_function_arguments_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_match_pattern_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_list_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_string_inner_repeat1] = { .visible = false, .named = false, @@ -513,21 +695,21 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [5] = 5, [6] = 6, [7] = 7, - [8] = 8, - [9] = 9, + [8] = 4, + [9] = 2, [10] = 10, - [11] = 11, + [11] = 3, [12] = 12, - [13] = 13, + [13] = 12, [14] = 14, [15] = 15, [16] = 16, - [17] = 17, - [18] = 18, - [19] = 19, - [20] = 20, - [21] = 21, - [22] = 22, + [17] = 15, + [18] = 16, + [19] = 6, + [20] = 5, + [21] = 7, + [22] = 10, [23] = 23, [24] = 24, [25] = 25, @@ -537,13 +719,13 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [29] = 29, [30] = 30, [31] = 31, - [32] = 32, + [32] = 28, [33] = 33, - [34] = 34, - [35] = 35, - [36] = 31, + [34] = 30, + [35] = 33, + [36] = 36, [37] = 37, - [38] = 30, + [38] = 38, [39] = 39, [40] = 40, [41] = 41, @@ -558,7 +740,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [50] = 50, [51] = 51, [52] = 52, - [53] = 52, + [53] = 53, [54] = 54, [55] = 55, [56] = 56, @@ -568,26 +750,26 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [60] = 60, [61] = 61, [62] = 62, - [63] = 63, + [63] = 36, [64] = 64, [65] = 65, [66] = 66, [67] = 67, - [68] = 6, - [69] = 2, + [68] = 68, + [69] = 69, [70] = 70, [71] = 71, [72] = 72, [73] = 73, - [74] = 71, + [74] = 74, [75] = 75, [76] = 76, - [77] = 77, - [78] = 78, - [79] = 67, - [80] = 80, - [81] = 81, - [82] = 82, + [77] = 70, + [78] = 68, + [79] = 71, + [80] = 72, + [81] = 74, + [82] = 76, [83] = 83, [84] = 84, [85] = 85, @@ -601,19 +783,181 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [93] = 93, [94] = 94, [95] = 95, - [96] = 8, - [97] = 97, + [96] = 42, + [97] = 44, [98] = 98, [99] = 99, - [100] = 5, - [101] = 9, - [102] = 7, + [100] = 49, + [101] = 101, + [102] = 102, [103] = 103, - [104] = 104, + [104] = 52, [105] = 105, [106] = 106, [107] = 107, [108] = 108, + [109] = 109, + [110] = 60, + [111] = 61, + [112] = 112, + [113] = 113, + [114] = 114, + [115] = 115, + [116] = 115, + [117] = 113, + [118] = 118, + [119] = 119, + [120] = 120, + [121] = 121, + [122] = 122, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 128, + [129] = 122, + [130] = 59, + [131] = 131, + [132] = 132, + [133] = 133, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 137, + [138] = 64, + [139] = 139, + [140] = 140, + [141] = 140, + [142] = 142, + [143] = 143, + [144] = 144, + [145] = 145, + [146] = 144, + [147] = 147, + [148] = 148, + [149] = 149, + [150] = 148, + [151] = 151, + [152] = 152, + [153] = 149, + [154] = 154, + [155] = 155, + [156] = 156, + [157] = 157, + [158] = 158, + [159] = 159, + [160] = 160, + [161] = 161, + [162] = 162, + [163] = 163, + [164] = 162, + [165] = 165, + [166] = 155, + [167] = 167, + [168] = 168, + [169] = 169, + [170] = 170, + [171] = 171, + [172] = 172, + [173] = 173, + [174] = 174, + [175] = 160, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 179, + [180] = 180, + [181] = 172, + [182] = 182, + [183] = 158, + [184] = 179, + [185] = 185, + [186] = 186, + [187] = 187, + [188] = 188, + [189] = 189, + [190] = 190, + [191] = 62, + [192] = 192, + [193] = 157, + [194] = 37, + [195] = 170, + [196] = 196, + [197] = 197, + [198] = 198, + [199] = 199, + [200] = 200, + [201] = 201, + [202] = 202, + [203] = 203, + [204] = 204, + [205] = 205, + [206] = 206, + [207] = 207, + [208] = 208, + [209] = 199, + [210] = 210, + [211] = 211, + [212] = 212, + [213] = 66, + [214] = 214, + [215] = 215, + [216] = 216, + [217] = 217, + [218] = 218, + [219] = 65, + [220] = 220, + [221] = 221, + [222] = 222, + [223] = 211, + [224] = 220, + [225] = 67, + [226] = 226, + [227] = 227, + [228] = 228, + [229] = 229, + [230] = 36, + [231] = 231, + [232] = 232, + [233] = 233, + [234] = 210, + [235] = 235, + [236] = 236, + [237] = 237, + [238] = 204, + [239] = 226, + [240] = 240, + [241] = 241, + [242] = 242, + [243] = 221, + [244] = 228, + [245] = 245, + [246] = 206, + [247] = 247, + [248] = 248, + [249] = 249, + [250] = 250, + [251] = 250, + [252] = 252, + [253] = 253, + [254] = 254, + [255] = 255, + [256] = 256, + [257] = 257, + [258] = 258, + [259] = 259, + [260] = 248, + [261] = 258, + [262] = 262, + [263] = 263, + [264] = 264, + [265] = 263, + [266] = 266, + [267] = 259, + [268] = 268, + [269] = 262, + [270] = 270, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -621,240 +965,436 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(16); - if (lookahead == '"') ADVANCE(38); - if (lookahead == '#') ADVANCE(37); - if (lookahead == '(') ADVANCE(26); - if (lookahead == ')') ADVANCE(27); - if (lookahead == ',') ADVANCE(22); - if (lookahead == '.') ADVANCE(18); - if (lookahead == '/') ADVANCE(20); - if (lookahead == '0') ADVANCE(32); - if (lookahead == ':') ADVANCE(28); - if (lookahead == '<') ADVANCE(29); - if (lookahead == '=') ADVANCE(25); - if (lookahead == '>') ADVANCE(30); - if (lookahead == '@') ADVANCE(36); - if (lookahead == '\\') ADVANCE(15); - if (lookahead == '_') ADVANCE(47); - if (lookahead == 'a') ADVANCE(8); - if (lookahead == 'c') ADVANCE(6); - if (lookahead == 't') ADVANCE(12); - if (lookahead == 'u') ADVANCE(9); - if (lookahead == '{') ADVANCE(21); - if (lookahead == '}') ADVANCE(23); + if (eof) ADVANCE(30); + if (lookahead == '"') ADVANCE(64); + if (lookahead == '#') ADVANCE(63); + if (lookahead == '(') ADVANCE(40); + if (lookahead == ')') ADVANCE(41); + if (lookahead == ',') ADVANCE(36); + if (lookahead == '-') ADVANCE(5); + if (lookahead == '.') ADVANCE(32); + if (lookahead == '/') ADVANCE(34); + if (lookahead == '0') ADVANCE(58); + if (lookahead == ':') ADVANCE(42); + if (lookahead == '<') ADVANCE(43); + if (lookahead == '=') ADVANCE(39); + if (lookahead == '>') ADVANCE(44); + if (lookahead == '@') ADVANCE(62); + if (lookahead == '[') ADVANCE(54); + if (lookahead == '\\') ADVANCE(29); + if (lookahead == ']') ADVANCE(55); + if (lookahead == '_') ADVANCE(73); + if (lookahead == 'a') ADVANCE(18); + if (lookahead == 'c') ADVANCE(15); + if (lookahead == 'e') ADVANCE(25); + if (lookahead == 'f') ADVANCE(13); + if (lookahead == 'l') ADVANCE(9); + if (lookahead == 'p') ADVANCE(24); + if (lookahead == 't') ADVANCE(26); + if (lookahead == 'u') ADVANCE(19); + if (lookahead == '{') ADVANCE(35); + if (lookahead == '|') ADVANCE(6); + if (lookahead == '}') ADVANCE(37); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(33); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(49); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(59); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(85); END_STATE(); case 1: - if (lookahead == '"') ADVANCE(38); - if (lookahead == '\\') ADVANCE(15); + if (lookahead == '"') ADVANCE(64); + if (lookahead == '#') ADVANCE(63); + if (lookahead == '(') ADVANCE(40); + if (lookahead == ')') ADVANCE(41); + if (lookahead == ',') ADVANCE(36); + if (lookahead == '.') ADVANCE(32); + if (lookahead == '0') ADVANCE(58); + if (lookahead == '@') ADVANCE(62); + if (lookahead == '[') ADVANCE(54); + if (lookahead == ']') ADVANCE(55); + if (lookahead == 'e') ADVANCE(83); + if (lookahead == 'f') ADVANCE(78); + if (lookahead == 'l') ADVANCE(76); + if (lookahead == 'p') ADVANCE(82); + if (lookahead == '}') ADVANCE(37); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(40); - if (lookahead != 0) ADVANCE(39); + lookahead == ' ') SKIP(1) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(59); + if (lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); END_STATE(); case 2: - if (lookahead == ')') ADVANCE(27); - if (lookahead == ',') ADVANCE(22); - if (lookahead == '<') ADVANCE(29); - if (lookahead == '>') ADVANCE(30); - if (lookahead == '}') ADVANCE(23); + if (lookahead == '"') ADVANCE(64); + if (lookahead == '\\') ADVANCE(29); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(2) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(49); - if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(48); + lookahead == ' ') ADVANCE(66); + if (lookahead != 0) ADVANCE(65); END_STATE(); case 3: - if (lookahead == 'e') ADVANCE(17); + if (lookahead == '(') ADVANCE(40); + if (lookahead == ')') ADVANCE(41); + if (lookahead == ',') ADVANCE(36); + if (lookahead == '<') ADVANCE(43); + if (lookahead == '>') ADVANCE(44); + if (lookahead == '}') ADVANCE(37); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(3) + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(85); + if (lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); END_STATE(); case 4: - if (lookahead == 'e') ADVANCE(24); + if (lookahead == ')') ADVANCE(41); + if (lookahead == '_') ADVANCE(73); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(4) + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); END_STATE(); case 5: - if (lookahead == 'n') ADVANCE(10); + if (lookahead == '>') ADVANCE(49); END_STATE(); case 6: - if (lookahead == 'o') ADVANCE(5); + if (lookahead == '>') ADVANCE(56); END_STATE(); case 7: - if (lookahead == 'p') ADVANCE(4); + if (lookahead == 'b') ADVANCE(45); END_STATE(); case 8: - if (lookahead == 's') ADVANCE(19); + if (lookahead == 'c') ADVANCE(23); END_STATE(); case 9: - if (lookahead == 's') ADVANCE(3); + if (lookahead == 'e') ADVANCE(21); END_STATE(); case 10: - if (lookahead == 's') ADVANCE(11); + if (lookahead == 'e') ADVANCE(31); END_STATE(); case 11: - if (lookahead == 't') ADVANCE(31); + if (lookahead == 'e') ADVANCE(8); END_STATE(); case 12: - if (lookahead == 'y') ADVANCE(7); + if (lookahead == 'e') ADVANCE(38); END_STATE(); case 13: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(34); + if (lookahead == 'n') ADVANCE(47); END_STATE(); case 14: + if (lookahead == 'n') ADVANCE(20); + END_STATE(); + case 15: + if (lookahead == 'o') ADVANCE(14); + END_STATE(); + case 16: + if (lookahead == 'p') ADVANCE(11); + END_STATE(); + case 17: + if (lookahead == 'p') ADVANCE(12); + END_STATE(); + case 18: + if (lookahead == 's') ADVANCE(33); + END_STATE(); + case 19: + if (lookahead == 's') ADVANCE(10); + END_STATE(); + case 20: + if (lookahead == 's') ADVANCE(22); + END_STATE(); + case 21: + if (lookahead == 't') ADVANCE(50); + END_STATE(); + case 22: + if (lookahead == 't') ADVANCE(57); + END_STATE(); + case 23: + if (lookahead == 't') ADVANCE(52); + END_STATE(); + case 24: + if (lookahead == 'u') ADVANCE(7); + END_STATE(); + case 25: + if (lookahead == 'x') ADVANCE(16); + END_STATE(); + case 26: + if (lookahead == 'y') ADVANCE(17); + END_STATE(); + case 27: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(60); + END_STATE(); + case 28: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(61); END_STATE(); - case 15: + case 29: if (lookahead != 0 && - lookahead != '\n') ADVANCE(41); + lookahead != '\n') ADVANCE(67); END_STATE(); - case 16: + case 30: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 17: + case 31: ACCEPT_TOKEN(anon_sym_use); END_STATE(); - case 18: + case 32: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 19: + case 33: ACCEPT_TOKEN(anon_sym_as); END_STATE(); - case 20: + case 34: ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(45); + if (lookahead == '/') ADVANCE(71); END_STATE(); - case 21: + case 35: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 22: + case 36: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 23: + case 37: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 24: + case 38: ACCEPT_TOKEN(anon_sym_type); END_STATE(); - case 25: + case 39: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 26: + case 40: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 27: + case 41: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 28: + case 42: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 29: + case 43: ACCEPT_TOKEN(anon_sym_LT); END_STATE(); - case 30: + case 44: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); - case 31: + case 45: + ACCEPT_TOKEN(anon_sym_pub); + END_STATE(); + case 46: + ACCEPT_TOKEN(anon_sym_pub); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 47: + ACCEPT_TOKEN(anon_sym_fn); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_fn); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 49: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_let); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_let); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_expect); + END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_expect); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 55: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 56: + ACCEPT_TOKEN(anon_sym_PIPE_GT); + END_STATE(); + case 57: ACCEPT_TOKEN(anon_sym_const); END_STATE(); - case 32: + case 58: ACCEPT_TOKEN(sym_base10); - if (lookahead == '_') ADVANCE(13); - if (lookahead == 'x') ADVANCE(14); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(33); + if (lookahead == '_') ADVANCE(27); + if (lookahead == 'x') ADVANCE(28); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(59); END_STATE(); - case 33: + case 59: ACCEPT_TOKEN(sym_base10); - if (lookahead == '_') ADVANCE(13); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(33); + if (lookahead == '_') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(59); END_STATE(); - case 34: + case 60: ACCEPT_TOKEN(sym_base10_underscore); - if (lookahead == '_') ADVANCE(13); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(34); + if (lookahead == '_') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(60); END_STATE(); - case 35: + case 61: ACCEPT_TOKEN(sym_base16); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(61); END_STATE(); - case 36: + case 62: ACCEPT_TOKEN(anon_sym_AT); END_STATE(); - case 37: + case 63: ACCEPT_TOKEN(anon_sym_POUND); END_STATE(); - case 38: + case 64: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 39: + case 65: ACCEPT_TOKEN(aux_sym_string_inner_token1); END_STATE(); - case 40: + case 66: ACCEPT_TOKEN(aux_sym_string_inner_token1); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(40); + lookahead == ' ') ADVANCE(66); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(39); + lookahead != '\\') ADVANCE(65); END_STATE(); - case 41: + case 67: ACCEPT_TOKEN(sym_escape); END_STATE(); - case 42: + case 68: ACCEPT_TOKEN(sym_module_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(42); + lookahead != '\n') ADVANCE(68); END_STATE(); - case 43: + case 69: ACCEPT_TOKEN(sym_definition_comment); - if (lookahead == '/') ADVANCE(42); + if (lookahead == '/') ADVANCE(68); if (lookahead != 0 && - lookahead != '\n') ADVANCE(44); + lookahead != '\n') ADVANCE(70); END_STATE(); - case 44: + case 70: ACCEPT_TOKEN(sym_definition_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(44); + lookahead != '\n') ADVANCE(70); END_STATE(); - case 45: + case 71: ACCEPT_TOKEN(sym_comment); - if (lookahead == '/') ADVANCE(43); + if (lookahead == '/') ADVANCE(69); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(72); END_STATE(); - case 46: + case 72: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(72); END_STATE(); - case 47: + case 73: ACCEPT_TOKEN(sym__discard_name); if (('0' <= lookahead && lookahead <= '9') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(47); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(73); END_STATE(); - case 48: + case 74: ACCEPT_TOKEN(sym__name); + if (lookahead == 'b') ADVANCE(46); if (('0' <= lookahead && lookahead <= '9') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(48); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); END_STATE(); - case 49: + case 75: + ACCEPT_TOKEN(sym__name); + if (lookahead == 'c') ADVANCE(81); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 76: + ACCEPT_TOKEN(sym__name); + if (lookahead == 'e') ADVANCE(80); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 77: + ACCEPT_TOKEN(sym__name); + if (lookahead == 'e') ADVANCE(75); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 78: + ACCEPT_TOKEN(sym__name); + if (lookahead == 'n') ADVANCE(48); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 79: + ACCEPT_TOKEN(sym__name); + if (lookahead == 'p') ADVANCE(77); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 80: + ACCEPT_TOKEN(sym__name); + if (lookahead == 't') ADVANCE(51); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 81: + ACCEPT_TOKEN(sym__name); + if (lookahead == 't') ADVANCE(53); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 82: + ACCEPT_TOKEN(sym__name); + if (lookahead == 'u') ADVANCE(74); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 83: + ACCEPT_TOKEN(sym__name); + if (lookahead == 'x') ADVANCE(79); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 84: + ACCEPT_TOKEN(sym__name); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 85: ACCEPT_TOKEN(sym__upname); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(49); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); END_STATE(); default: return false; @@ -864,113 +1404,275 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 0}, - [2] = {.lex_state = 0}, - [3] = {.lex_state = 0}, - [4] = {.lex_state = 0}, - [5] = {.lex_state = 0}, - [6] = {.lex_state = 0}, - [7] = {.lex_state = 0}, - [8] = {.lex_state = 0}, - [9] = {.lex_state = 0}, - [10] = {.lex_state = 0}, - [11] = {.lex_state = 0}, - [12] = {.lex_state = 0}, - [13] = {.lex_state = 2}, - [14] = {.lex_state = 0}, - [15] = {.lex_state = 0}, - [16] = {.lex_state = 0}, - [17] = {.lex_state = 0}, - [18] = {.lex_state = 0}, - [19] = {.lex_state = 0}, - [20] = {.lex_state = 0}, - [21] = {.lex_state = 0}, - [22] = {.lex_state = 0}, - [23] = {.lex_state = 0}, - [24] = {.lex_state = 0}, - [25] = {.lex_state = 0}, - [26] = {.lex_state = 0}, - [27] = {.lex_state = 0}, - [28] = {.lex_state = 0}, - [29] = {.lex_state = 0}, - [30] = {.lex_state = 2}, - [31] = {.lex_state = 2}, - [32] = {.lex_state = 2}, - [33] = {.lex_state = 0}, - [34] = {.lex_state = 0}, - [35] = {.lex_state = 0}, - [36] = {.lex_state = 2}, + [2] = {.lex_state = 1}, + [3] = {.lex_state = 1}, + [4] = {.lex_state = 1}, + [5] = {.lex_state = 1}, + [6] = {.lex_state = 1}, + [7] = {.lex_state = 1}, + [8] = {.lex_state = 1}, + [9] = {.lex_state = 1}, + [10] = {.lex_state = 1}, + [11] = {.lex_state = 1}, + [12] = {.lex_state = 1}, + [13] = {.lex_state = 1}, + [14] = {.lex_state = 1}, + [15] = {.lex_state = 1}, + [16] = {.lex_state = 1}, + [17] = {.lex_state = 1}, + [18] = {.lex_state = 1}, + [19] = {.lex_state = 1}, + [20] = {.lex_state = 1}, + [21] = {.lex_state = 1}, + [22] = {.lex_state = 1}, + [23] = {.lex_state = 1}, + [24] = {.lex_state = 1}, + [25] = {.lex_state = 1}, + [26] = {.lex_state = 1}, + [27] = {.lex_state = 1}, + [28] = {.lex_state = 1}, + [29] = {.lex_state = 1}, + [30] = {.lex_state = 1}, + [31] = {.lex_state = 1}, + [32] = {.lex_state = 1}, + [33] = {.lex_state = 1}, + [34] = {.lex_state = 1}, + [35] = {.lex_state = 1}, + [36] = {.lex_state = 0}, [37] = {.lex_state = 0}, - [38] = {.lex_state = 2}, + [38] = {.lex_state = 1}, [39] = {.lex_state = 0}, [40] = {.lex_state = 0}, - [41] = {.lex_state = 2}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 0}, - [44] = {.lex_state = 0}, - [45] = {.lex_state = 0}, - [46] = {.lex_state = 2}, - [47] = {.lex_state = 2}, - [48] = {.lex_state = 2}, - [49] = {.lex_state = 2}, - [50] = {.lex_state = 2}, - [51] = {.lex_state = 2}, - [52] = {.lex_state = 2}, - [53] = {.lex_state = 2}, - [54] = {.lex_state = 2}, - [55] = {.lex_state = 2}, - [56] = {.lex_state = 0}, - [57] = {.lex_state = 2}, - [58] = {.lex_state = 2}, - [59] = {.lex_state = 2}, + [41] = {.lex_state = 1}, + [42] = {.lex_state = 1}, + [43] = {.lex_state = 1}, + [44] = {.lex_state = 1}, + [45] = {.lex_state = 1}, + [46] = {.lex_state = 1}, + [47] = {.lex_state = 1}, + [48] = {.lex_state = 1}, + [49] = {.lex_state = 1}, + [50] = {.lex_state = 1}, + [51] = {.lex_state = 1}, + [52] = {.lex_state = 1}, + [53] = {.lex_state = 1}, + [54] = {.lex_state = 1}, + [55] = {.lex_state = 1}, + [56] = {.lex_state = 1}, + [57] = {.lex_state = 1}, + [58] = {.lex_state = 1}, + [59] = {.lex_state = 1}, [60] = {.lex_state = 1}, - [61] = {.lex_state = 0}, + [61] = {.lex_state = 1}, [62] = {.lex_state = 0}, [63] = {.lex_state = 1}, [64] = {.lex_state = 1}, [65] = {.lex_state = 0}, [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 2}, - [69] = {.lex_state = 2}, - [70] = {.lex_state = 0}, - [71] = {.lex_state = 0}, - [72] = {.lex_state = 0}, + [68] = {.lex_state = 1}, + [69] = {.lex_state = 0}, + [70] = {.lex_state = 1}, + [71] = {.lex_state = 1}, + [72] = {.lex_state = 1}, [73] = {.lex_state = 0}, - [74] = {.lex_state = 0}, + [74] = {.lex_state = 1}, [75] = {.lex_state = 0}, - [76] = {.lex_state = 0}, + [76] = {.lex_state = 1}, [77] = {.lex_state = 0}, [78] = {.lex_state = 0}, [79] = {.lex_state = 0}, [80] = {.lex_state = 0}, [81] = {.lex_state = 0}, [82] = {.lex_state = 0}, - [83] = {.lex_state = 2}, - [84] = {.lex_state = 0}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 3}, [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, [89] = {.lex_state = 0}, - [90] = {.lex_state = 2}, - [91] = {.lex_state = 2}, + [90] = {.lex_state = 0}, + [91] = {.lex_state = 0}, [92] = {.lex_state = 0}, - [93] = {.lex_state = 2}, - [94] = {.lex_state = 2}, + [93] = {.lex_state = 0}, + [94] = {.lex_state = 0}, [95] = {.lex_state = 0}, - [96] = {.lex_state = 2}, + [96] = {.lex_state = 0}, [97] = {.lex_state = 0}, - [98] = {.lex_state = 2}, + [98] = {.lex_state = 0}, [99] = {.lex_state = 0}, - [100] = {.lex_state = 2}, - [101] = {.lex_state = 2}, - [102] = {.lex_state = 2}, + [100] = {.lex_state = 0}, + [101] = {.lex_state = 0}, + [102] = {.lex_state = 0}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 2}, + [104] = {.lex_state = 0}, [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, [107] = {.lex_state = 0}, [108] = {.lex_state = 0}, + [109] = {.lex_state = 0}, + [110] = {.lex_state = 0}, + [111] = {.lex_state = 0}, + [112] = {.lex_state = 3}, + [113] = {.lex_state = 3}, + [114] = {.lex_state = 3}, + [115] = {.lex_state = 3}, + [116] = {.lex_state = 3}, + [117] = {.lex_state = 3}, + [118] = {.lex_state = 0}, + [119] = {.lex_state = 0}, + [120] = {.lex_state = 4}, + [121] = {.lex_state = 3}, + [122] = {.lex_state = 3}, + [123] = {.lex_state = 3}, + [124] = {.lex_state = 4}, + [125] = {.lex_state = 3}, + [126] = {.lex_state = 3}, + [127] = {.lex_state = 3}, + [128] = {.lex_state = 3}, + [129] = {.lex_state = 3}, + [130] = {.lex_state = 0}, + [131] = {.lex_state = 3}, + [132] = {.lex_state = 4}, + [133] = {.lex_state = 3}, + [134] = {.lex_state = 4}, + [135] = {.lex_state = 3}, + [136] = {.lex_state = 3}, + [137] = {.lex_state = 0}, + [138] = {.lex_state = 0}, + [139] = {.lex_state = 3}, + [140] = {.lex_state = 3}, + [141] = {.lex_state = 3}, + [142] = {.lex_state = 0}, + [143] = {.lex_state = 3}, + [144] = {.lex_state = 3}, + [145] = {.lex_state = 2}, + [146] = {.lex_state = 3}, + [147] = {.lex_state = 0}, + [148] = {.lex_state = 2}, + [149] = {.lex_state = 2}, + [150] = {.lex_state = 2}, + [151] = {.lex_state = 3}, + [152] = {.lex_state = 0}, + [153] = {.lex_state = 2}, + [154] = {.lex_state = 3}, + [155] = {.lex_state = 0}, + [156] = {.lex_state = 0}, + [157] = {.lex_state = 0}, + [158] = {.lex_state = 0}, + [159] = {.lex_state = 0}, + [160] = {.lex_state = 0}, + [161] = {.lex_state = 0}, + [162] = {.lex_state = 0}, + [163] = {.lex_state = 0}, + [164] = {.lex_state = 0}, + [165] = {.lex_state = 0}, + [166] = {.lex_state = 0}, + [167] = {.lex_state = 0}, + [168] = {.lex_state = 0}, + [169] = {.lex_state = 0}, + [170] = {.lex_state = 0}, + [171] = {.lex_state = 0}, + [172] = {.lex_state = 0}, + [173] = {.lex_state = 0}, + [174] = {.lex_state = 0}, + [175] = {.lex_state = 0}, + [176] = {.lex_state = 0}, + [177] = {.lex_state = 0}, + [178] = {.lex_state = 0}, + [179] = {.lex_state = 3}, + [180] = {.lex_state = 0}, + [181] = {.lex_state = 0}, + [182] = {.lex_state = 0}, + [183] = {.lex_state = 0}, + [184] = {.lex_state = 3}, + [185] = {.lex_state = 3}, + [186] = {.lex_state = 0}, + [187] = {.lex_state = 0}, + [188] = {.lex_state = 0}, + [189] = {.lex_state = 0}, + [190] = {.lex_state = 0}, + [191] = {.lex_state = 3}, + [192] = {.lex_state = 0}, + [193] = {.lex_state = 0}, + [194] = {.lex_state = 3}, + [195] = {.lex_state = 0}, + [196] = {.lex_state = 0}, + [197] = {.lex_state = 0}, + [198] = {.lex_state = 0}, + [199] = {.lex_state = 0}, + [200] = {.lex_state = 0}, + [201] = {.lex_state = 0}, + [202] = {.lex_state = 3}, + [203] = {.lex_state = 0}, + [204] = {.lex_state = 0}, + [205] = {.lex_state = 0}, + [206] = {.lex_state = 0}, + [207] = {.lex_state = 0}, + [208] = {.lex_state = 3}, + [209] = {.lex_state = 0}, + [210] = {.lex_state = 0}, + [211] = {.lex_state = 3}, + [212] = {.lex_state = 0}, + [213] = {.lex_state = 3}, + [214] = {.lex_state = 0}, + [215] = {.lex_state = 0}, + [216] = {.lex_state = 0}, + [217] = {.lex_state = 0}, + [218] = {.lex_state = 0}, + [219] = {.lex_state = 3}, + [220] = {.lex_state = 0}, + [221] = {.lex_state = 0}, + [222] = {.lex_state = 3}, + [223] = {.lex_state = 3}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 3}, + [226] = {.lex_state = 0}, + [227] = {.lex_state = 0}, + [228] = {.lex_state = 0}, + [229] = {.lex_state = 3}, + [230] = {.lex_state = 3}, + [231] = {.lex_state = 0}, + [232] = {.lex_state = 0}, + [233] = {.lex_state = 0}, + [234] = {.lex_state = 0}, + [235] = {.lex_state = 0}, + [236] = {.lex_state = 0}, + [237] = {.lex_state = 0}, + [238] = {.lex_state = 0}, + [239] = {.lex_state = 0}, + [240] = {.lex_state = 3}, + [241] = {.lex_state = 3}, + [242] = {.lex_state = 3}, + [243] = {.lex_state = 0}, + [244] = {.lex_state = 0}, + [245] = {.lex_state = 0}, + [246] = {.lex_state = 0}, + [247] = {.lex_state = 0}, + [248] = {.lex_state = 0}, + [249] = {.lex_state = 0}, + [250] = {.lex_state = 0}, + [251] = {.lex_state = 0}, + [252] = {.lex_state = 0}, + [253] = {.lex_state = 0}, + [254] = {.lex_state = 0}, + [255] = {.lex_state = 0}, + [256] = {.lex_state = 0}, + [257] = {.lex_state = 0}, + [258] = {.lex_state = 0}, + [259] = {.lex_state = 0}, + [260] = {.lex_state = 0}, + [261] = {.lex_state = 0}, + [262] = {.lex_state = 0}, + [263] = {.lex_state = 0}, + [264] = {.lex_state = 0}, + [265] = {.lex_state = 0}, + [266] = {.lex_state = 0}, + [267] = {.lex_state = 0}, + [268] = {.lex_state = 0}, + [269] = {.lex_state = 0}, + [270] = {.lex_state = 3}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -990,6 +1692,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_COLON] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), + [anon_sym_pub] = ACTIONS(1), + [anon_sym_fn] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [anon_sym_let] = ACTIONS(1), + [anon_sym_expect] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_PIPE_GT] = ACTIONS(1), [anon_sym_const] = ACTIONS(1), [sym_base10] = ACTIONS(1), [sym_base10_underscore] = ACTIONS(1), @@ -1005,113 +1715,2165 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__upname] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(106), - [sym__definition] = STATE(3), - [sym_import] = STATE(3), - [sym_type_alias] = STATE(3), - [sym_type_enum] = STATE(3), - [sym_type_struct] = STATE(3), - [sym_constant] = STATE(3), - [aux_sym_source_file_repeat1] = STATE(3), + [sym_source_file] = STATE(254), + [sym__definition] = STATE(40), + [sym_import] = STATE(40), + [sym_type_alias] = STATE(40), + [sym_type_enum] = STATE(40), + [sym_type_struct] = STATE(40), + [sym_function] = STATE(40), + [sym_constant] = STATE(40), + [aux_sym_source_file_repeat1] = STATE(40), [ts_builtin_sym_end] = ACTIONS(3), [anon_sym_use] = ACTIONS(5), [anon_sym_type] = ACTIONS(7), - [anon_sym_const] = ACTIONS(9), - [sym_module_comment] = ACTIONS(11), - [sym_definition_comment] = ACTIONS(13), - [sym_comment] = ACTIONS(13), + [anon_sym_pub] = ACTIONS(9), + [anon_sym_fn] = ACTIONS(11), + [anon_sym_const] = ACTIONS(13), + [sym_module_comment] = ACTIONS(15), + [sym_definition_comment] = ACTIONS(17), + [sym_comment] = ACTIONS(17), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 2, - ACTIONS(17), 2, - sym_definition_comment, - sym_comment, - ACTIONS(15), 15, - ts_builtin_sym_end, - anon_sym_use, - anon_sym_as, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_type, - anon_sym_EQ, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LT, - anon_sym_GT, - anon_sym_const, - sym_module_comment, - sym__upname, - [22] = 7, - ACTIONS(5), 1, - anon_sym_use, - ACTIONS(7), 1, - anon_sym_type, - ACTIONS(9), 1, - anon_sym_const, + [0] = 18, ACTIONS(19), 1, - ts_builtin_sym_end, + anon_sym_RBRACE, ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(22), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [64] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(43), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [128] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(45), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(15), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [192] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(47), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(3), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [256] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(49), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [320] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(51), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [384] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(43), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(17), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [448] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(49), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(10), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [512] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(53), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [576] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(45), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [640] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(53), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(21), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [704] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(55), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(7), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [768] = 18, + ACTIONS(57), 1, + anon_sym_RBRACE, + ACTIONS(59), 1, + anon_sym_pub, + ACTIONS(62), 1, + anon_sym_fn, + ACTIONS(65), 1, + anon_sym_let, + ACTIONS(68), 1, + anon_sym_expect, + ACTIONS(71), 1, + anon_sym_LBRACK, + ACTIONS(74), 1, + sym_base10, + ACTIONS(80), 1, + anon_sym_AT, + ACTIONS(83), 1, + anon_sym_POUND, + ACTIONS(86), 1, + anon_sym_DQUOTE, + ACTIONS(89), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(77), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [832] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(92), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [896] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(92), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(6), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [960] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(94), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1024] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(94), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(19), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1088] = 18, + ACTIONS(19), 1, + anon_sym_RBRACE, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1152] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(96), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(11), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1216] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(98), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1280] = 18, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + ACTIONS(55), 1, + anon_sym_RBRACE, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(14), 2, + sym_expression, + aux_sym_function_repeat1, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1344] = 18, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(100), 1, + anon_sym_RPAREN, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(130), 1, + sym_identifier, + STATE(177), 1, + sym_expression, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1407] = 18, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + ACTIONS(112), 1, + anon_sym_RPAREN, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(130), 1, + sym_identifier, + STATE(161), 1, + sym_expression, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1470] = 18, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + ACTIONS(114), 1, + anon_sym_RBRACK, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(130), 1, + sym_identifier, + STATE(177), 1, + sym_expression, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1533] = 18, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + ACTIONS(116), 1, + anon_sym_RBRACK, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(130), 1, + sym_identifier, + STATE(177), 1, + sym_expression, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1596] = 18, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + ACTIONS(118), 1, + anon_sym_RPAREN, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(130), 1, + sym_identifier, + STATE(177), 1, + sym_expression, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1659] = 17, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(50), 1, + sym_expression, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1719] = 17, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(130), 1, + sym_identifier, + STATE(177), 1, + sym_expression, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1779] = 17, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(55), 1, + sym_expression, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1839] = 17, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(130), 1, + sym_identifier, + STATE(180), 1, + sym_expression, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1899] = 17, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(50), 1, + sym_expression, + STATE(130), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [1959] = 17, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(56), 1, + sym_expression, + STATE(130), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [2019] = 17, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(102), 1, + anon_sym_pub, + ACTIONS(104), 1, + anon_sym_fn, + ACTIONS(106), 1, + anon_sym_let, + ACTIONS(108), 1, + anon_sym_expect, + ACTIONS(110), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(55), 1, + sym_expression, + STATE(130), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [2079] = 17, + ACTIONS(21), 1, + anon_sym_pub, + ACTIONS(23), 1, + anon_sym_fn, + ACTIONS(25), 1, + anon_sym_let, + ACTIONS(27), 1, + anon_sym_expect, + ACTIONS(29), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + sym_base10, + ACTIONS(35), 1, + anon_sym_AT, + ACTIONS(37), 1, + anon_sym_POUND, + ACTIONS(39), 1, + anon_sym_DQUOTE, + ACTIONS(41), 1, + sym__name, + STATE(38), 1, + sym_access, + STATE(44), 1, + sym_string_inner, + STATE(56), 1, + sym_expression, + STATE(59), 1, + sym_identifier, + ACTIONS(33), 2, + sym_base10_underscore, + sym_base16, + STATE(46), 2, + sym_let_assignment, + sym_expect_assignment, + STATE(47), 7, + sym_function, + sym_assignment, + sym_list, + sym_call, + sym_int, + sym_string, + sym_bytes, + [2139] = 2, + ACTIONS(122), 2, + sym_definition_comment, + sym_comment, + ACTIONS(120), 17, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_DOT, + anon_sym_as, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_EQ, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT, + anon_sym_pub, + anon_sym_fn, + anon_sym_RBRACK, + anon_sym_const, + sym_module_comment, + [2163] = 2, + ACTIONS(126), 2, + sym_definition_comment, + sym_comment, + ACTIONS(124), 17, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_as, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_type, + anon_sym_EQ, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LT, + anon_sym_GT, + anon_sym_pub, + anon_sym_fn, + anon_sym_const, + sym_module_comment, + sym__upname, + [2187] = 4, + ACTIONS(130), 1, + anon_sym_LPAREN, + STATE(43), 1, + sym_call_arguments, + ACTIONS(132), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(128), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2214] = 9, + ACTIONS(134), 1, + ts_builtin_sym_end, + ACTIONS(136), 1, + anon_sym_use, + ACTIONS(139), 1, + anon_sym_type, + ACTIONS(142), 1, + anon_sym_pub, + ACTIONS(145), 1, + anon_sym_fn, + ACTIONS(148), 1, + anon_sym_const, + ACTIONS(151), 1, + sym_module_comment, + ACTIONS(154), 2, + sym_definition_comment, + sym_comment, + STATE(39), 8, + sym__definition, + sym_import, + sym_type_alias, + sym_type_enum, + sym_type_struct, + sym_function, + sym_constant, + aux_sym_source_file_repeat1, + [2250] = 9, + ACTIONS(5), 1, + anon_sym_use, + ACTIONS(7), 1, + anon_sym_type, + ACTIONS(9), 1, + anon_sym_pub, + ACTIONS(11), 1, + anon_sym_fn, + ACTIONS(13), 1, + anon_sym_const, + ACTIONS(157), 1, + ts_builtin_sym_end, + ACTIONS(159), 1, sym_module_comment, - ACTIONS(23), 2, + ACTIONS(161), 2, + sym_definition_comment, + sym_comment, + STATE(39), 8, + sym__definition, + sym_import, + sym_type_alias, + sym_type_enum, + sym_type_struct, + sym_function, + sym_constant, + aux_sym_source_file_repeat1, + [2286] = 2, + ACTIONS(165), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(163), 11, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2308] = 2, + ACTIONS(169), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(167), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2329] = 2, + ACTIONS(173), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(171), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2350] = 2, + ACTIONS(177), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(175), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2371] = 2, + ACTIONS(181), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(179), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2392] = 2, + ACTIONS(185), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(183), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2413] = 2, + ACTIONS(132), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(128), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2434] = 2, + ACTIONS(189), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(187), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2455] = 2, + ACTIONS(193), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(191), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2476] = 2, + ACTIONS(197), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(195), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2497] = 2, + ACTIONS(201), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(199), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2518] = 2, + ACTIONS(205), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(203), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2539] = 2, + ACTIONS(209), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(207), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2560] = 2, + ACTIONS(213), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(211), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2581] = 2, + ACTIONS(217), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(215), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2602] = 2, + ACTIONS(221), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(219), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2623] = 2, + ACTIONS(225), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(223), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2644] = 2, + ACTIONS(229), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(227), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2665] = 5, + ACTIONS(130), 1, + anon_sym_LPAREN, + ACTIONS(231), 1, + anon_sym_DOT, + STATE(43), 1, + sym_call_arguments, + ACTIONS(132), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(128), 7, + anon_sym_RBRACE, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2692] = 2, + ACTIONS(235), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(233), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2713] = 2, + ACTIONS(239), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(237), 10, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2734] = 3, + ACTIONS(243), 1, + anon_sym_LT, + ACTIONS(245), 2, sym_definition_comment, sym_comment, - STATE(4), 7, - sym__definition, - sym_import, - sym_type_alias, - sym_type_enum, - sym_type_struct, - sym_constant, - aux_sym_source_file_repeat1, - [51] = 7, - ACTIONS(25), 1, + ACTIONS(241), 12, ts_builtin_sym_end, - ACTIONS(27), 1, anon_sym_use, - ACTIONS(30), 1, + anon_sym_LBRACE, + anon_sym_COMMA, anon_sym_type, - ACTIONS(33), 1, + anon_sym_EQ, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_pub, + anon_sym_fn, anon_sym_const, - ACTIONS(36), 1, sym_module_comment, - ACTIONS(39), 2, - sym_definition_comment, - sym_comment, - STATE(4), 7, - sym__definition, - sym_import, - sym_type_alias, - sym_type_enum, - sym_type_struct, - sym_constant, - aux_sym_source_file_repeat1, - [80] = 2, - ACTIONS(44), 2, + [2756] = 2, + ACTIONS(122), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(120), 9, + anon_sym_DOT, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2776] = 3, + ACTIONS(231), 1, + anon_sym_DOT, + ACTIONS(165), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(163), 8, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2798] = 2, + ACTIONS(249), 2, sym_definition_comment, sym_comment, - ACTIONS(42), 12, + ACTIONS(247), 12, ts_builtin_sym_end, anon_sym_use, - anon_sym_as, + anon_sym_LBRACE, anon_sym_COMMA, - anon_sym_RBRACE, anon_sym_type, anon_sym_EQ, anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [99] = 3, - ACTIONS(48), 1, - anon_sym_LT, - ACTIONS(50), 2, + [2817] = 2, + ACTIONS(253), 2, sym_definition_comment, sym_comment, - ACTIONS(46), 10, + ACTIONS(251), 12, ts_builtin_sym_end, anon_sym_use, anon_sym_LBRACE, @@ -1120,13 +3882,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, anon_sym_RPAREN, anon_sym_GT, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [119] = 2, - ACTIONS(54), 2, + [2836] = 2, + ACTIONS(257), 2, sym_definition_comment, sym_comment, - ACTIONS(52), 10, + ACTIONS(255), 12, ts_builtin_sym_end, anon_sym_use, anon_sym_LBRACE, @@ -1135,1186 +3899,2309 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, anon_sym_RPAREN, anon_sym_GT, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [136] = 2, - ACTIONS(58), 2, + [2855] = 2, + ACTIONS(261), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(259), 7, + anon_sym_RBRACE, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2873] = 4, + ACTIONS(265), 1, + anon_sym_SLASH, + STATE(75), 1, + aux_sym_module_repeat1, + ACTIONS(267), 2, sym_definition_comment, sym_comment, - ACTIONS(56), 10, + ACTIONS(263), 9, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_DOT, + anon_sym_as, + anon_sym_type, + anon_sym_pub, + anon_sym_fn, + anon_sym_const, + sym_module_comment, + [2895] = 2, + ACTIONS(271), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(269), 7, + anon_sym_RBRACE, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2913] = 2, + ACTIONS(275), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(273), 7, + anon_sym_RBRACE, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2931] = 2, + ACTIONS(279), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(277), 7, + anon_sym_RBRACE, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2949] = 4, + ACTIONS(265), 1, + anon_sym_SLASH, + STATE(69), 1, + aux_sym_module_repeat1, + ACTIONS(283), 2, + sym_definition_comment, + sym_comment, + ACTIONS(281), 9, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_DOT, + anon_sym_as, + anon_sym_type, + anon_sym_pub, + anon_sym_fn, + anon_sym_const, + sym_module_comment, + [2971] = 2, + ACTIONS(287), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(285), 7, + anon_sym_RBRACE, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [2989] = 4, + ACTIONS(291), 1, + anon_sym_SLASH, + STATE(75), 1, + aux_sym_module_repeat1, + ACTIONS(294), 2, + sym_definition_comment, + sym_comment, + ACTIONS(289), 9, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_DOT, + anon_sym_as, + anon_sym_type, + anon_sym_pub, + anon_sym_fn, + anon_sym_const, + sym_module_comment, + [3011] = 2, + ACTIONS(298), 6, + anon_sym_pub, + anon_sym_fn, + anon_sym_let, + anon_sym_expect, + sym_base10, + sym__name, + ACTIONS(296), 7, + anon_sym_RBRACE, + anon_sym_LBRACK, + sym_base10_underscore, + sym_base16, + anon_sym_AT, + anon_sym_POUND, + anon_sym_DQUOTE, + [3029] = 2, + ACTIONS(271), 2, + sym_definition_comment, + sym_comment, + ACTIONS(269), 10, ts_builtin_sym_end, anon_sym_use, - anon_sym_LBRACE, anon_sym_COMMA, anon_sym_type, - anon_sym_EQ, anon_sym_RPAREN, - anon_sym_GT, + anon_sym_pub, + anon_sym_fn, + anon_sym_RBRACK, anon_sym_const, sym_module_comment, - [153] = 2, - ACTIONS(62), 2, + [3046] = 2, + ACTIONS(261), 2, sym_definition_comment, sym_comment, - ACTIONS(60), 10, + ACTIONS(259), 10, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_COMMA, + anon_sym_type, + anon_sym_RPAREN, + anon_sym_pub, + anon_sym_fn, + anon_sym_RBRACK, + anon_sym_const, + sym_module_comment, + [3063] = 2, + ACTIONS(275), 2, + sym_definition_comment, + sym_comment, + ACTIONS(273), 10, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_COMMA, + anon_sym_type, + anon_sym_RPAREN, + anon_sym_pub, + anon_sym_fn, + anon_sym_RBRACK, + anon_sym_const, + sym_module_comment, + [3080] = 2, + ACTIONS(279), 2, + sym_definition_comment, + sym_comment, + ACTIONS(277), 10, + ts_builtin_sym_end, + anon_sym_use, + anon_sym_COMMA, + anon_sym_type, + anon_sym_RPAREN, + anon_sym_pub, + anon_sym_fn, + anon_sym_RBRACK, + anon_sym_const, + sym_module_comment, + [3097] = 2, + ACTIONS(287), 2, + sym_definition_comment, + sym_comment, + ACTIONS(285), 10, ts_builtin_sym_end, anon_sym_use, - anon_sym_LBRACE, anon_sym_COMMA, anon_sym_type, - anon_sym_EQ, anon_sym_RPAREN, - anon_sym_GT, + anon_sym_pub, + anon_sym_fn, + anon_sym_RBRACK, anon_sym_const, sym_module_comment, - [170] = 4, - ACTIONS(66), 1, - anon_sym_SLASH, - STATE(12), 1, - aux_sym_module_repeat1, - ACTIONS(68), 2, + [3114] = 2, + ACTIONS(298), 2, sym_definition_comment, sym_comment, - ACTIONS(64), 7, + ACTIONS(296), 10, ts_builtin_sym_end, anon_sym_use, - anon_sym_DOT, - anon_sym_as, + anon_sym_COMMA, anon_sym_type, + anon_sym_RPAREN, + anon_sym_pub, + anon_sym_fn, + anon_sym_RBRACK, anon_sym_const, sym_module_comment, - [190] = 8, - ACTIONS(70), 1, - sym_base10, - ACTIONS(74), 1, - anon_sym_AT, - ACTIONS(76), 1, - anon_sym_POUND, - ACTIONS(78), 1, - anon_sym_DQUOTE, - STATE(24), 1, - sym_constant_value, - STATE(42), 1, - sym_string_inner, - ACTIONS(72), 2, - sym_base10_underscore, - sym_base16, - STATE(45), 3, - sym_int, - sym_string, - sym_bytes, - [218] = 4, - ACTIONS(66), 1, + [3131] = 2, + ACTIONS(294), 3, anon_sym_SLASH, - STATE(14), 1, - aux_sym_module_repeat1, - ACTIONS(82), 2, sym_definition_comment, sym_comment, - ACTIONS(80), 7, + ACTIONS(289), 9, ts_builtin_sym_end, anon_sym_use, anon_sym_DOT, anon_sym_as, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [238] = 9, - ACTIONS(84), 1, + [3148] = 9, + ACTIONS(300), 1, sym__name, - ACTIONS(86), 1, + ACTIONS(302), 1, sym__upname, - STATE(56), 1, + STATE(137), 1, sym_type_identifier, - STATE(84), 1, + STATE(227), 1, sym_type_struct_inner, - STATE(103), 1, - sym_identifier, - STATE(105), 1, - sym_type_definition, - STATE(107), 1, + STATE(255), 1, sym_type_struct_fields, - STATE(35), 2, + STATE(256), 1, + sym_type_definition, + STATE(257), 1, + sym_identifier, + STATE(118), 2, sym_type_enum_variant, aux_sym_type_enum_repeat1, - STATE(55), 2, + STATE(139), 2, sym_type_struct_field, aux_sym_type_struct_fields_repeat1, - [268] = 4, - ACTIONS(90), 1, - anon_sym_SLASH, - STATE(14), 1, - aux_sym_module_repeat1, - ACTIONS(93), 2, + [3178] = 8, + ACTIONS(304), 1, + sym_base10, + ACTIONS(308), 1, + anon_sym_AT, + ACTIONS(310), 1, + anon_sym_POUND, + ACTIONS(312), 1, + anon_sym_DQUOTE, + STATE(97), 1, + sym_string_inner, + STATE(102), 1, + sym_constant_value, + ACTIONS(306), 2, + sym_base10_underscore, + sym_base16, + STATE(107), 3, + sym_int, + sym_string, + sym_bytes, + [3206] = 4, + ACTIONS(316), 1, + anon_sym_DOT, + ACTIONS(318), 1, + anon_sym_as, + ACTIONS(320), 2, sym_definition_comment, sym_comment, - ACTIONS(88), 7, + ACTIONS(314), 7, ts_builtin_sym_end, anon_sym_use, - anon_sym_DOT, - anon_sym_as, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [288] = 8, - ACTIONS(70), 1, + [3226] = 8, + ACTIONS(304), 1, sym_base10, - ACTIONS(74), 1, + ACTIONS(308), 1, anon_sym_AT, - ACTIONS(76), 1, + ACTIONS(310), 1, anon_sym_POUND, - ACTIONS(78), 1, + ACTIONS(312), 1, anon_sym_DQUOTE, - STATE(42), 1, + STATE(97), 1, sym_string_inner, - STATE(44), 1, + STATE(109), 1, sym_constant_value, - ACTIONS(72), 2, + ACTIONS(306), 2, sym_base10_underscore, sym_base16, - STATE(45), 3, + STATE(107), 3, sym_int, sym_string, sym_bytes, - [316] = 2, - ACTIONS(93), 3, - anon_sym_SLASH, + [3254] = 8, + ACTIONS(304), 1, + sym_base10, + ACTIONS(308), 1, + anon_sym_AT, + ACTIONS(310), 1, + anon_sym_POUND, + ACTIONS(312), 1, + anon_sym_DQUOTE, + STATE(97), 1, + sym_string_inner, + STATE(106), 1, + sym_constant_value, + ACTIONS(306), 2, + sym_base10_underscore, + sym_base16, + STATE(107), 3, + sym_int, + sym_string, + sym_bytes, + [3282] = 2, + ACTIONS(324), 2, sym_definition_comment, sym_comment, - ACTIONS(88), 7, + ACTIONS(322), 9, ts_builtin_sym_end, anon_sym_use, - anon_sym_DOT, - anon_sym_as, + anon_sym_RBRACE, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [331] = 4, - ACTIONS(97), 1, - anon_sym_DOT, - ACTIONS(99), 1, - anon_sym_as, - ACTIONS(101), 2, + sym__upname, + [3298] = 8, + ACTIONS(304), 1, + sym_base10, + ACTIONS(308), 1, + anon_sym_AT, + ACTIONS(310), 1, + anon_sym_POUND, + ACTIONS(312), 1, + anon_sym_DQUOTE, + STATE(97), 1, + sym_string_inner, + STATE(99), 1, + sym_constant_value, + ACTIONS(306), 2, + sym_base10_underscore, + sym_base16, + STATE(107), 3, + sym_int, + sym_string, + sym_bytes, + [3326] = 2, + ACTIONS(328), 2, sym_definition_comment, sym_comment, - ACTIONS(95), 5, + ACTIONS(326), 8, ts_builtin_sym_end, anon_sym_use, + anon_sym_as, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [349] = 2, - ACTIONS(105), 2, + [3341] = 3, + ACTIONS(332), 1, + anon_sym_as, + ACTIONS(334), 2, sym_definition_comment, sym_comment, - ACTIONS(103), 7, + ACTIONS(330), 7, ts_builtin_sym_end, anon_sym_use, - anon_sym_RBRACE, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - sym__upname, - [363] = 2, - ACTIONS(109), 2, + [3358] = 2, + ACTIONS(338), 2, sym_definition_comment, sym_comment, - ACTIONS(107), 6, + ACTIONS(336), 8, ts_builtin_sym_end, anon_sym_use, anon_sym_as, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [376] = 2, - ACTIONS(113), 2, + [3373] = 2, + ACTIONS(342), 2, sym_definition_comment, sym_comment, - ACTIONS(111), 6, + ACTIONS(340), 8, ts_builtin_sym_end, anon_sym_use, anon_sym_as, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [389] = 3, - ACTIONS(117), 1, - anon_sym_as, - ACTIONS(119), 2, + [3388] = 2, + ACTIONS(346), 2, sym_definition_comment, sym_comment, - ACTIONS(115), 5, + ACTIONS(344), 8, ts_builtin_sym_end, anon_sym_use, + anon_sym_as, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [404] = 2, - ACTIONS(123), 2, + [3403] = 2, + ACTIONS(169), 2, sym_definition_comment, sym_comment, - ACTIONS(121), 6, + ACTIONS(167), 7, ts_builtin_sym_end, anon_sym_use, - anon_sym_as, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [417] = 2, - ACTIONS(127), 2, + [3417] = 2, + ACTIONS(177), 2, sym_definition_comment, sym_comment, - ACTIONS(125), 6, + ACTIONS(175), 7, ts_builtin_sym_end, anon_sym_use, - anon_sym_as, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [430] = 2, - ACTIONS(131), 2, + [3431] = 2, + ACTIONS(350), 2, sym_definition_comment, sym_comment, - ACTIONS(129), 5, + ACTIONS(348), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [442] = 2, - ACTIONS(135), 2, + [3445] = 2, + ACTIONS(354), 2, sym_definition_comment, sym_comment, - ACTIONS(133), 5, + ACTIONS(352), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [454] = 6, - ACTIONS(137), 1, - anon_sym_RBRACE, - ACTIONS(139), 1, - sym__upname, - STATE(56), 1, - sym_type_identifier, - STATE(84), 1, - sym_type_struct_inner, - STATE(105), 1, - sym_type_definition, - STATE(26), 2, - sym_type_enum_variant, - aux_sym_type_enum_repeat1, - [474] = 2, - ACTIONS(144), 2, + [3459] = 2, + ACTIONS(193), 2, sym_definition_comment, sym_comment, - ACTIONS(142), 5, + ACTIONS(191), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [486] = 2, - ACTIONS(148), 2, + [3473] = 2, + ACTIONS(358), 2, sym_definition_comment, sym_comment, - ACTIONS(146), 5, + ACTIONS(356), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [498] = 2, - ACTIONS(152), 2, + [3487] = 2, + ACTIONS(362), 2, sym_definition_comment, sym_comment, - ACTIONS(150), 5, + ACTIONS(360), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [510] = 6, - ACTIONS(84), 1, - sym__name, - ACTIONS(86), 1, - sym__upname, - ACTIONS(154), 1, - anon_sym_GT, - STATE(6), 1, - sym_type_identifier, - STATE(77), 1, - sym_type_argument, - STATE(54), 2, - sym_type_definition, - sym_identifier, - [530] = 6, - ACTIONS(84), 1, - sym__name, - ACTIONS(86), 1, - sym__upname, - ACTIONS(156), 1, - anon_sym_GT, - STATE(6), 1, - sym_type_identifier, - STATE(77), 1, - sym_type_argument, - STATE(54), 2, - sym_type_definition, - sym_identifier, - [550] = 6, - ACTIONS(84), 1, - sym__name, - ACTIONS(86), 1, - sym__upname, - ACTIONS(158), 1, - anon_sym_RPAREN, - STATE(6), 1, - sym_type_identifier, - STATE(77), 1, - sym_type_argument, - STATE(54), 2, - sym_type_definition, - sym_identifier, - [570] = 2, - ACTIONS(162), 2, + [3501] = 2, + ACTIONS(366), 2, sym_definition_comment, sym_comment, - ACTIONS(160), 5, + ACTIONS(364), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [582] = 2, - ACTIONS(166), 2, + [3515] = 2, + ACTIONS(205), 2, sym_definition_comment, sym_comment, - ACTIONS(164), 5, + ACTIONS(203), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [594] = 6, - ACTIONS(86), 1, - sym__upname, - ACTIONS(168), 1, - anon_sym_RBRACE, - STATE(56), 1, - sym_type_identifier, - STATE(84), 1, - sym_type_struct_inner, - STATE(105), 1, - sym_type_definition, - STATE(26), 2, - sym_type_enum_variant, - aux_sym_type_enum_repeat1, - [614] = 6, - ACTIONS(84), 1, - sym__name, - ACTIONS(86), 1, - sym__upname, - ACTIONS(170), 1, - anon_sym_GT, - STATE(6), 1, - sym_type_identifier, - STATE(77), 1, - sym_type_argument, - STATE(54), 2, - sym_type_definition, - sym_identifier, - [634] = 2, - ACTIONS(174), 2, + [3529] = 2, + ACTIONS(370), 2, sym_definition_comment, sym_comment, - ACTIONS(172), 5, + ACTIONS(368), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [646] = 6, - ACTIONS(84), 1, - sym__name, - ACTIONS(86), 1, - sym__upname, - ACTIONS(176), 1, - anon_sym_GT, - STATE(6), 1, - sym_type_identifier, - STATE(77), 1, - sym_type_argument, - STATE(54), 2, - sym_type_definition, - sym_identifier, - [666] = 2, - ACTIONS(180), 2, + [3543] = 2, + ACTIONS(374), 2, sym_definition_comment, sym_comment, - ACTIONS(178), 5, + ACTIONS(372), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [678] = 2, - ACTIONS(184), 2, + [3557] = 2, + ACTIONS(378), 2, sym_definition_comment, sym_comment, - ACTIONS(182), 5, + ACTIONS(376), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [690] = 6, - ACTIONS(84), 1, - sym__name, - ACTIONS(86), 1, - sym__upname, - ACTIONS(186), 1, - anon_sym_RPAREN, - STATE(6), 1, - sym_type_identifier, - STATE(77), 1, - sym_type_argument, - STATE(54), 2, - sym_type_definition, - sym_identifier, - [710] = 2, - ACTIONS(190), 2, + [3571] = 2, + ACTIONS(382), 2, sym_definition_comment, sym_comment, - ACTIONS(188), 5, + ACTIONS(380), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [722] = 2, - ACTIONS(194), 2, + [3585] = 2, + ACTIONS(386), 2, sym_definition_comment, sym_comment, - ACTIONS(192), 5, + ACTIONS(384), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [734] = 2, - ACTIONS(198), 2, + [3599] = 2, + ACTIONS(235), 2, sym_definition_comment, sym_comment, - ACTIONS(196), 5, + ACTIONS(233), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [746] = 2, - ACTIONS(202), 2, + [3613] = 2, + ACTIONS(239), 2, sym_definition_comment, sym_comment, - ACTIONS(200), 5, + ACTIONS(237), 7, ts_builtin_sym_end, anon_sym_use, anon_sym_type, + anon_sym_pub, + anon_sym_fn, anon_sym_const, sym_module_comment, - [758] = 6, - ACTIONS(84), 1, + [3627] = 6, + ACTIONS(300), 1, sym__name, - ACTIONS(86), 1, + ACTIONS(302), 1, sym__upname, - ACTIONS(204), 1, - anon_sym_RBRACE, - STATE(65), 1, + ACTIONS(388), 1, + anon_sym_RPAREN, + STATE(62), 1, + sym_type_identifier, + STATE(168), 1, + sym_type_argument, + STATE(135), 2, + sym_type_definition, sym_identifier, - STATE(73), 1, + [3647] = 6, + ACTIONS(300), 1, + sym__name, + ACTIONS(302), 1, + sym__upname, + ACTIONS(390), 1, + anon_sym_GT, + STATE(62), 1, sym_type_identifier, - STATE(86), 1, - sym_unqualified_import, - [777] = 5, - ACTIONS(84), 1, + STATE(168), 1, + sym_type_argument, + STATE(135), 2, + sym_type_definition, + sym_identifier, + [3667] = 6, + ACTIONS(300), 1, sym__name, - ACTIONS(86), 1, + ACTIONS(302), 1, sym__upname, - STATE(6), 1, + ACTIONS(392), 1, + anon_sym_RPAREN, + STATE(62), 1, sym_type_identifier, - STATE(77), 1, + STATE(168), 1, sym_type_argument, - STATE(54), 2, + STATE(135), 2, sym_type_definition, sym_identifier, - [794] = 6, - ACTIONS(84), 1, + [3687] = 6, + ACTIONS(300), 1, sym__name, - ACTIONS(86), 1, + ACTIONS(302), 1, sym__upname, - ACTIONS(206), 1, - anon_sym_RBRACE, - STATE(65), 1, + ACTIONS(394), 1, + anon_sym_GT, + STATE(62), 1, + sym_type_identifier, + STATE(168), 1, + sym_type_argument, + STATE(135), 2, + sym_type_definition, sym_identifier, - STATE(73), 1, + [3707] = 6, + ACTIONS(300), 1, + sym__name, + ACTIONS(302), 1, + sym__upname, + ACTIONS(396), 1, + anon_sym_GT, + STATE(62), 1, sym_type_identifier, - STATE(86), 1, - sym_unqualified_import, - [813] = 6, - ACTIONS(84), 1, + STATE(168), 1, + sym_type_argument, + STATE(135), 2, + sym_type_definition, + sym_identifier, + [3727] = 6, + ACTIONS(300), 1, sym__name, - ACTIONS(86), 1, + ACTIONS(302), 1, + sym__upname, + ACTIONS(398), 1, + anon_sym_GT, + STATE(62), 1, + sym_type_identifier, + STATE(168), 1, + sym_type_argument, + STATE(135), 2, + sym_type_definition, + sym_identifier, + [3747] = 6, + ACTIONS(302), 1, sym__upname, - ACTIONS(208), 1, + ACTIONS(400), 1, anon_sym_RBRACE, - STATE(65), 1, + STATE(137), 1, + sym_type_identifier, + STATE(227), 1, + sym_type_struct_inner, + STATE(256), 1, + sym_type_definition, + STATE(119), 2, + sym_type_enum_variant, + aux_sym_type_enum_repeat1, + [3767] = 6, + ACTIONS(402), 1, + anon_sym_RBRACE, + ACTIONS(404), 1, + sym__upname, + STATE(137), 1, + sym_type_identifier, + STATE(227), 1, + sym_type_struct_inner, + STATE(256), 1, + sym_type_definition, + STATE(119), 2, + sym_type_enum_variant, + aux_sym_type_enum_repeat1, + [3787] = 5, + ACTIONS(110), 1, + sym__name, + ACTIONS(407), 1, + anon_sym_RPAREN, + ACTIONS(409), 1, + sym__discard_name, + STATE(205), 1, + sym_match_pattern_argument, + STATE(231), 2, sym_identifier, - STATE(73), 1, + sym_discard, + [3804] = 5, + ACTIONS(411), 1, + sym__name, + ACTIONS(413), 1, + sym__upname, + STATE(191), 1, sym_type_identifier, - STATE(78), 1, - sym_unqualified_import, - [832] = 5, - ACTIONS(210), 1, + STATE(241), 1, + sym_type_argument, + STATE(135), 2, + sym_type_definition, + sym_identifier, + [3821] = 5, + ACTIONS(300), 1, sym__name, - ACTIONS(212), 1, + ACTIONS(302), 1, sym__upname, - STATE(68), 1, + STATE(62), 1, sym_type_identifier, - STATE(90), 1, + STATE(172), 1, sym_type_argument, - STATE(54), 2, + STATE(135), 2, sym_type_definition, sym_identifier, - [849] = 5, - ACTIONS(84), 1, + [3838] = 6, + ACTIONS(300), 1, sym__name, - ACTIONS(86), 1, + ACTIONS(302), 1, sym__upname, - STATE(6), 1, + ACTIONS(415), 1, + anon_sym_RBRACE, + STATE(156), 1, sym_type_identifier, - STATE(75), 1, + STATE(190), 1, + sym_identifier, + STATE(214), 1, + sym_unqualified_import, + [3857] = 5, + ACTIONS(110), 1, + sym__name, + ACTIONS(409), 1, + sym__discard_name, + ACTIONS(417), 1, + anon_sym_RPAREN, + STATE(205), 1, + sym_match_pattern_argument, + STATE(231), 2, + sym_identifier, + sym_discard, + [3874] = 5, + ACTIONS(300), 1, + sym__name, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(168), 1, sym_type_argument, - STATE(54), 2, + STATE(135), 2, sym_type_definition, sym_identifier, - [866] = 5, - ACTIONS(84), 1, + [3891] = 6, + ACTIONS(300), 1, sym__name, - ACTIONS(86), 1, + ACTIONS(302), 1, sym__upname, - STATE(6), 1, + ACTIONS(419), 1, + anon_sym_RBRACE, + STATE(156), 1, + sym_type_identifier, + STATE(190), 1, + sym_identifier, + STATE(214), 1, + sym_unqualified_import, + [3910] = 5, + ACTIONS(300), 1, + sym__name, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, sym_type_identifier, - STATE(74), 1, + STATE(167), 1, sym_type_argument, - STATE(54), 2, + STATE(135), 2, sym_type_definition, sym_identifier, - [883] = 5, - ACTIONS(84), 1, + [3927] = 6, + ACTIONS(300), 1, sym__name, - ACTIONS(86), 1, + ACTIONS(302), 1, + sym__upname, + ACTIONS(421), 1, + anon_sym_RBRACE, + STATE(156), 1, + sym_type_identifier, + STATE(190), 1, + sym_identifier, + STATE(196), 1, + sym_unqualified_import, + [3946] = 5, + ACTIONS(300), 1, + sym__name, + ACTIONS(302), 1, sym__upname, - STATE(6), 1, + STATE(62), 1, sym_type_identifier, - STATE(71), 1, + STATE(181), 1, sym_type_argument, - STATE(54), 2, + STATE(135), 2, sym_type_definition, sym_identifier, - [900] = 1, - ACTIONS(214), 5, + [3963] = 4, + ACTIONS(130), 1, + anon_sym_LPAREN, + ACTIONS(423), 1, + anon_sym_DOT, + STATE(43), 1, + sym_call_arguments, + ACTIONS(128), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + [3978] = 5, + ACTIONS(300), 1, + sym__name, + ACTIONS(302), 1, + sym__upname, + STATE(156), 1, + sym_type_identifier, + STATE(190), 1, + sym_identifier, + STATE(214), 1, + sym_unqualified_import, + [3994] = 4, + ACTIONS(110), 1, + sym__name, + ACTIONS(409), 1, + sym__discard_name, + STATE(174), 1, + sym_match_pattern_argument, + STATE(231), 2, + sym_identifier, + sym_discard, + [4008] = 4, + ACTIONS(425), 1, + anon_sym_RBRACE, + ACTIONS(427), 1, + sym__name, + STATE(257), 1, + sym_identifier, + STATE(133), 2, + sym_type_struct_field, + aux_sym_type_struct_fields_repeat1, + [4022] = 4, + ACTIONS(110), 1, + sym__name, + ACTIONS(409), 1, + sym__discard_name, + STATE(205), 1, + sym_match_pattern_argument, + STATE(231), 2, + sym_identifier, + sym_discard, + [4036] = 1, + ACTIONS(430), 5, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, anon_sym_GT, sym__name, - [908] = 4, - ACTIONS(84), 1, + [4044] = 4, + ACTIONS(300), 1, sym__name, - ACTIONS(216), 1, - anon_sym_RBRACE, - STATE(103), 1, + STATE(255), 1, + sym_type_struct_fields, + STATE(257), 1, sym_identifier, - STATE(59), 2, + STATE(139), 2, sym_type_struct_field, aux_sym_type_struct_fields_repeat1, - [922] = 4, - ACTIONS(46), 1, + [4058] = 4, + ACTIONS(241), 1, anon_sym_LBRACE, - ACTIONS(48), 1, + ACTIONS(243), 1, anon_sym_LT, - ACTIONS(220), 1, + ACTIONS(434), 1, anon_sym_LPAREN, - ACTIONS(218), 2, + ACTIONS(432), 2, anon_sym_RBRACE, sym__upname, - [936] = 5, - ACTIONS(84), 1, - sym__name, - ACTIONS(86), 1, - sym__upname, - STATE(65), 1, - sym_identifier, - STATE(73), 1, - sym_type_identifier, - STATE(86), 1, - sym_unqualified_import, - [952] = 4, - ACTIONS(84), 1, + [4072] = 2, + ACTIONS(423), 1, + anon_sym_DOT, + ACTIONS(163), 4, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_RBRACK, + [4082] = 4, + ACTIONS(300), 1, sym__name, - STATE(103), 1, + ACTIONS(436), 1, + anon_sym_RBRACE, + STATE(257), 1, sym_identifier, - STATE(107), 1, - sym_type_struct_fields, - STATE(55), 2, + STATE(133), 2, sym_type_struct_field, aux_sym_type_struct_fields_repeat1, - [966] = 4, - ACTIONS(222), 1, - anon_sym_RBRACE, - ACTIONS(224), 1, + [4096] = 4, + ACTIONS(300), 1, sym__name, - STATE(103), 1, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(206), 1, sym_identifier, - STATE(59), 2, - sym_type_struct_field, - aux_sym_type_struct_fields_repeat1, - [980] = 4, - ACTIONS(227), 1, - anon_sym_DQUOTE, - ACTIONS(229), 1, - aux_sym_string_inner_token1, - ACTIONS(231), 1, - sym_escape, - STATE(64), 1, - aux_sym_string_inner_repeat1, - [993] = 3, - ACTIONS(233), 1, + STATE(228), 1, + sym_function_arguments, + [4109] = 4, + ACTIONS(300), 1, + sym__name, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(244), 1, + sym_function_arguments, + STATE(246), 1, + sym_identifier, + [4122] = 3, + ACTIONS(440), 1, anon_sym_COMMA, - STATE(61), 1, + STATE(142), 1, aux_sym_type_enum_variant_repeat1, - ACTIONS(236), 2, + ACTIONS(443), 2, anon_sym_RPAREN, anon_sym_GT, - [1004] = 4, - ACTIONS(86), 1, + [4133] = 4, + ACTIONS(300), 1, + sym__name, + ACTIONS(445), 1, + anon_sym_RPAREN, + STATE(171), 1, + sym_function_argument, + STATE(173), 1, + sym_identifier, + [4146] = 4, + ACTIONS(300), 1, + sym__name, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(238), 1, + sym_identifier, + STATE(239), 1, + sym_function_arguments, + [4159] = 4, + ACTIONS(447), 1, + anon_sym_DQUOTE, + ACTIONS(449), 1, + aux_sym_string_inner_token1, + ACTIONS(452), 1, + sym_escape, + STATE(145), 1, + aux_sym_string_inner_repeat1, + [4172] = 4, + ACTIONS(300), 1, + sym__name, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(204), 1, + sym_identifier, + STATE(226), 1, + sym_function_arguments, + [4185] = 4, + ACTIONS(302), 1, sym__upname, - STATE(6), 1, + STATE(62), 1, sym_type_identifier, - STATE(43), 1, + STATE(105), 1, sym_type_struct_inner, - STATE(81), 1, + STATE(235), 1, sym_type_definition, - [1017] = 4, - ACTIONS(238), 1, + [4198] = 4, + ACTIONS(455), 1, anon_sym_DQUOTE, - ACTIONS(240), 1, + ACTIONS(457), 1, aux_sym_string_inner_token1, - ACTIONS(242), 1, + ACTIONS(459), 1, sym_escape, - STATE(60), 1, + STATE(149), 1, aux_sym_string_inner_repeat1, - [1030] = 4, - ACTIONS(244), 1, + [4211] = 4, + ACTIONS(461), 1, anon_sym_DQUOTE, - ACTIONS(246), 1, + ACTIONS(463), 1, aux_sym_string_inner_token1, - ACTIONS(249), 1, + ACTIONS(465), 1, sym_escape, - STATE(64), 1, + STATE(145), 1, + aux_sym_string_inner_repeat1, + [4224] = 4, + ACTIONS(467), 1, + anon_sym_DQUOTE, + ACTIONS(469), 1, + aux_sym_string_inner_token1, + ACTIONS(471), 1, + sym_escape, + STATE(153), 1, + aux_sym_string_inner_repeat1, + [4237] = 4, + ACTIONS(300), 1, + sym__name, + ACTIONS(473), 1, + anon_sym_RPAREN, + STATE(173), 1, + sym_identifier, + STATE(217), 1, + sym_function_argument, + [4250] = 3, + ACTIONS(475), 1, + anon_sym_COMMA, + STATE(152), 1, + aux_sym_list_repeat1, + ACTIONS(478), 2, + anon_sym_RPAREN, + anon_sym_RBRACK, + [4261] = 4, + ACTIONS(463), 1, + aux_sym_string_inner_token1, + ACTIONS(465), 1, + sym_escape, + ACTIONS(480), 1, + anon_sym_DQUOTE, + STATE(145), 1, aux_sym_string_inner_repeat1, - [1043] = 2, - ACTIONS(252), 1, + [4274] = 4, + ACTIONS(300), 1, + sym__name, + ACTIONS(482), 1, + anon_sym_RPAREN, + STATE(173), 1, + sym_identifier, + STATE(217), 1, + sym_function_argument, + [4287] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(248), 1, + sym_match_pattern, + STATE(253), 1, + sym_type_identifier, + [4297] = 2, + ACTIONS(484), 1, anon_sym_as, - ACTIONS(254), 2, + ACTIONS(486), 2, anon_sym_COMMA, anon_sym_RBRACE, - [1051] = 3, - ACTIONS(256), 1, + [4305] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(261), 1, + sym_type_definition, + [4315] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(259), 1, + sym_type_definition, + [4325] = 3, + ACTIONS(488), 1, anon_sym_COMMA, - ACTIONS(259), 1, + ACTIONS(491), 1, anon_sym_RBRACE, - STATE(66), 1, + STATE(159), 1, aux_sym_unqualified_imports_repeat1, - [1061] = 3, - ACTIONS(156), 1, - anon_sym_GT, - ACTIONS(261), 1, + [4335] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(265), 1, + sym_type_definition, + [4345] = 3, + ACTIONS(493), 1, anon_sym_COMMA, - STATE(61), 1, + ACTIONS(495), 1, + anon_sym_RPAREN, + STATE(182), 1, + aux_sym_list_repeat1, + [4355] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(251), 1, + sym_type_definition, + [4365] = 3, + ACTIONS(388), 1, + anon_sym_RPAREN, + ACTIONS(497), 1, + anon_sym_COMMA, + STATE(142), 1, aux_sym_type_enum_variant_repeat1, - [1071] = 2, - ACTIONS(263), 1, - anon_sym_LT, - ACTIONS(46), 2, - anon_sym_RBRACE, - sym__name, - [1079] = 1, - ACTIONS(15), 3, - anon_sym_RBRACE, - anon_sym_LT, - sym__name, - [1085] = 3, - ACTIONS(206), 1, - anon_sym_RBRACE, - ACTIONS(265), 1, + [4375] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(250), 1, + sym_type_definition, + [4385] = 3, + ACTIONS(116), 1, + anon_sym_RBRACK, + ACTIONS(499), 1, anon_sym_COMMA, - STATE(66), 1, - aux_sym_unqualified_imports_repeat1, - [1095] = 3, - ACTIONS(267), 1, + STATE(152), 1, + aux_sym_list_repeat1, + [4395] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(253), 1, + sym_type_identifier, + STATE(260), 1, + sym_match_pattern, + [4405] = 3, + ACTIONS(501), 1, anon_sym_COMMA, - ACTIONS(269), 1, - anon_sym_GT, - STATE(79), 1, + ACTIONS(503), 1, + anon_sym_RPAREN, + STATE(163), 1, aux_sym_type_enum_variant_repeat1, - [1105] = 3, - ACTIONS(186), 1, + [4415] = 1, + ACTIONS(443), 3, + anon_sym_COMMA, anon_sym_RPAREN, - ACTIONS(271), 1, + anon_sym_GT, + [4421] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(108), 1, + sym_type_definition, + [4431] = 3, + ACTIONS(394), 1, + anon_sym_GT, + ACTIONS(505), 1, anon_sym_COMMA, - STATE(61), 1, + STATE(142), 1, aux_sym_type_enum_variant_repeat1, - [1115] = 2, - ACTIONS(273), 1, - anon_sym_as, - ACTIONS(254), 2, + [4441] = 3, + ACTIONS(507), 1, anon_sym_COMMA, - anon_sym_RBRACE, - [1123] = 3, - ACTIONS(275), 1, + ACTIONS(509), 1, + anon_sym_RPAREN, + STATE(188), 1, + aux_sym_function_arguments_repeat1, + [4451] = 3, + ACTIONS(511), 1, anon_sym_COMMA, - ACTIONS(277), 1, + ACTIONS(513), 1, anon_sym_GT, - STATE(67), 1, + STATE(170), 1, aux_sym_type_enum_variant_repeat1, - [1133] = 3, - ACTIONS(279), 1, + [4461] = 2, + ACTIONS(517), 1, + anon_sym_COLON, + ACTIONS(515), 2, anon_sym_COMMA, - ACTIONS(281), 1, anon_sym_RPAREN, - STATE(72), 1, - aux_sym_type_enum_variant_repeat1, - [1143] = 3, - ACTIONS(86), 1, + [4469] = 3, + ACTIONS(519), 1, + anon_sym_COMMA, + ACTIONS(521), 1, + anon_sym_RPAREN, + STATE(192), 1, + aux_sym_match_pattern_repeat1, + [4479] = 3, + ACTIONS(302), 1, sym__upname, - STATE(6), 1, + STATE(62), 1, sym_type_identifier, - STATE(37), 1, + STATE(263), 1, sym_type_definition, - [1153] = 1, - ACTIONS(236), 3, + [4489] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(249), 1, + sym_type_definition, + [4499] = 1, + ACTIONS(478), 3, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_GT, - [1159] = 3, - ACTIONS(283), 1, - anon_sym_COMMA, - ACTIONS(285), 1, + anon_sym_RBRACK, + [4505] = 3, + ACTIONS(415), 1, anon_sym_RBRACE, - STATE(70), 1, + ACTIONS(523), 1, + anon_sym_COMMA, + STATE(159), 1, aux_sym_unqualified_imports_repeat1, - [1169] = 3, - ACTIONS(170), 1, - anon_sym_GT, - ACTIONS(287), 1, + [4515] = 3, + ACTIONS(525), 1, + sym__name, + STATE(41), 1, + sym_access, + STATE(64), 1, + sym_identifier, + [4525] = 3, + ACTIONS(527), 1, anon_sym_COMMA, - STATE(61), 1, + ACTIONS(529), 1, + anon_sym_RBRACK, + STATE(165), 1, + aux_sym_list_repeat1, + [4535] = 3, + ACTIONS(531), 1, + anon_sym_COMMA, + ACTIONS(533), 1, + anon_sym_GT, + STATE(195), 1, aux_sym_type_enum_variant_repeat1, - [1179] = 3, - ACTIONS(86), 1, + [4545] = 3, + ACTIONS(100), 1, + anon_sym_RPAREN, + ACTIONS(535), 1, + anon_sym_COMMA, + STATE(152), 1, + aux_sym_list_repeat1, + [4555] = 3, + ACTIONS(302), 1, sym__upname, - STATE(6), 1, + STATE(62), 1, sym_type_identifier, - STATE(108), 1, + STATE(267), 1, sym_type_definition, - [1189] = 2, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(291), 1, - anon_sym_EQ, - [1196] = 2, - ACTIONS(86), 1, + [4565] = 3, + ACTIONS(300), 1, + sym__name, + STATE(41), 1, + sym_access, + STATE(138), 1, + sym_identifier, + [4575] = 3, + ACTIONS(300), 1, + sym__name, + STATE(173), 1, + sym_identifier, + STATE(217), 1, + sym_function_argument, + [4585] = 3, + ACTIONS(302), 1, sym__upname, - STATE(87), 1, + STATE(62), 1, sym_type_identifier, - [1203] = 2, - ACTIONS(293), 1, - sym__name, - STATE(17), 1, - sym_module, - [1210] = 1, - ACTIONS(218), 2, + STATE(252), 1, + sym_type_definition, + [4595] = 3, + ACTIONS(537), 1, + anon_sym_COMMA, + ACTIONS(540), 1, + anon_sym_RPAREN, + STATE(187), 1, + aux_sym_function_arguments_repeat1, + [4605] = 3, + ACTIONS(473), 1, + anon_sym_RPAREN, + ACTIONS(542), 1, + anon_sym_COMMA, + STATE(187), 1, + aux_sym_function_arguments_repeat1, + [4615] = 3, + ACTIONS(302), 1, + sym__upname, + STATE(62), 1, + sym_type_identifier, + STATE(218), 1, + sym_type_definition, + [4625] = 2, + ACTIONS(544), 1, + anon_sym_as, + ACTIONS(486), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [4633] = 2, + ACTIONS(546), 1, + anon_sym_LT, + ACTIONS(241), 2, anon_sym_RBRACE, + sym__name, + [4641] = 3, + ACTIONS(407), 1, + anon_sym_RPAREN, + ACTIONS(548), 1, + anon_sym_COMMA, + STATE(197), 1, + aux_sym_match_pattern_repeat1, + [4651] = 3, + ACTIONS(302), 1, sym__upname, - [1215] = 2, - ACTIONS(295), 1, - anon_sym_LBRACE, - STATE(21), 1, - sym_unqualified_imports, - [1222] = 1, - ACTIONS(259), 2, + STATE(62), 1, + sym_type_identifier, + STATE(258), 1, + sym_type_definition, + [4661] = 1, + ACTIONS(124), 3, + anon_sym_RBRACE, + anon_sym_LT, + sym__name, + [4667] = 3, + ACTIONS(396), 1, + anon_sym_GT, + ACTIONS(550), 1, + anon_sym_COMMA, + STATE(142), 1, + aux_sym_type_enum_variant_repeat1, + [4677] = 3, + ACTIONS(552), 1, anon_sym_COMMA, + ACTIONS(554), 1, anon_sym_RBRACE, - [1227] = 1, - ACTIONS(297), 2, + STATE(178), 1, + aux_sym_unqualified_imports_repeat1, + [4687] = 3, + ACTIONS(556), 1, anon_sym_COMMA, + ACTIONS(559), 1, + anon_sym_RPAREN, + STATE(197), 1, + aux_sym_match_pattern_repeat1, + [4697] = 1, + ACTIONS(561), 2, anon_sym_RBRACE, - [1232] = 2, - ACTIONS(78), 1, + sym__upname, + [4702] = 2, + ACTIONS(312), 1, anon_sym_DQUOTE, - STATE(34), 1, + STATE(96), 1, sym_string_inner, - [1239] = 1, - ACTIONS(299), 2, + [4709] = 1, + ACTIONS(563), 2, + anon_sym_COMMA, anon_sym_RBRACE, - sym__upname, - [1244] = 1, - ACTIONS(301), 2, + [4714] = 1, + ACTIONS(565), 2, anon_sym_RBRACE, + sym__upname, + [4719] = 2, + ACTIONS(300), 1, sym__name, - [1249] = 2, - ACTIONS(84), 1, + STATE(103), 1, + sym_identifier, + [4726] = 1, + ACTIONS(567), 2, + anon_sym_RBRACE, + sym__upname, + [4731] = 2, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(224), 1, + sym_function_arguments, + [4738] = 1, + ACTIONS(559), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [4743] = 2, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(226), 1, + sym_function_arguments, + [4750] = 2, + ACTIONS(569), 1, + anon_sym_fn, + ACTIONS(571), 1, + anon_sym_const, + [4757] = 2, + ACTIONS(300), 1, sym__name, - STATE(99), 1, + STATE(247), 1, sym_identifier, - [1256] = 2, - ACTIONS(78), 1, + [4764] = 2, + ACTIONS(39), 1, anon_sym_DQUOTE, - STATE(28), 1, + STATE(42), 1, + sym_string_inner, + [4771] = 2, + ACTIONS(39), 1, + anon_sym_DQUOTE, + STATE(61), 1, sym_string_inner, - [1263] = 2, - ACTIONS(84), 1, + [4778] = 2, + ACTIONS(300), 1, sym__name, - STATE(29), 1, + STATE(221), 1, sym_identifier, - [1270] = 2, - ACTIONS(84), 1, + [4785] = 1, + ACTIONS(573), 2, + anon_sym_LBRACE, + anon_sym_DASH_GT, + [4790] = 1, + ACTIONS(251), 2, + anon_sym_RBRACE, sym__name, - STATE(25), 1, - sym_identifier, - [1277] = 1, - ACTIONS(303), 2, + [4795] = 1, + ACTIONS(491), 2, + anon_sym_COMMA, anon_sym_RBRACE, - sym__upname, - [1282] = 1, - ACTIONS(56), 2, + [4800] = 1, + ACTIONS(575), 2, + anon_sym_LBRACE, + anon_sym_DASH_GT, + [4805] = 1, + ACTIONS(577), 2, + anon_sym_LBRACE, + anon_sym_DASH_GT, + [4810] = 1, + ACTIONS(540), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [4815] = 1, + ACTIONS(579), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [4820] = 1, + ACTIONS(247), 2, + anon_sym_RBRACE, + sym__name, + [4825] = 2, + ACTIONS(581), 1, + anon_sym_LBRACE, + ACTIONS(583), 1, + anon_sym_DASH_GT, + [4832] = 2, + ACTIONS(585), 1, + anon_sym_EQ, + ACTIONS(587), 1, + anon_sym_COLON, + [4839] = 2, + ACTIONS(589), 1, + sym__name, + STATE(86), 1, + sym_module, + [4846] = 2, + ACTIONS(300), 1, + sym__name, + STATE(243), 1, + sym_identifier, + [4853] = 2, + ACTIONS(591), 1, + anon_sym_LBRACE, + ACTIONS(593), 1, + anon_sym_DASH_GT, + [4860] = 1, + ACTIONS(255), 2, anon_sym_RBRACE, sym__name, - [1287] = 1, - ACTIONS(305), 2, + [4865] = 2, + ACTIONS(595), 1, + anon_sym_LBRACE, + ACTIONS(597), 1, + anon_sym_DASH_GT, + [4872] = 1, + ACTIONS(432), 2, anon_sym_RBRACE, sym__upname, - [1292] = 2, - ACTIONS(84), 1, + [4877] = 2, + ACTIONS(599), 1, + anon_sym_LBRACE, + ACTIONS(601), 1, + anon_sym_DASH_GT, + [4884] = 2, + ACTIONS(300), 1, sym__name, - STATE(87), 1, + STATE(200), 1, sym_identifier, - [1299] = 2, - ACTIONS(307), 1, + [4891] = 1, + ACTIONS(120), 2, + anon_sym_RBRACE, + sym__name, + [4896] = 1, + ACTIONS(603), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [4901] = 1, + ACTIONS(605), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [4906] = 2, + ACTIONS(302), 1, + sym__upname, + STATE(200), 1, + sym_type_identifier, + [4913] = 2, + ACTIONS(312), 1, + anon_sym_DQUOTE, + STATE(111), 1, + sym_string_inner, + [4920] = 2, + ACTIONS(607), 1, + anon_sym_LBRACE, + ACTIONS(609), 1, + anon_sym_EQ, + [4927] = 1, + ACTIONS(611), 2, + anon_sym_LBRACE, + anon_sym_DASH_GT, + [4932] = 2, + ACTIONS(613), 1, anon_sym_EQ, - ACTIONS(309), 1, + ACTIONS(615), 1, anon_sym_COLON, - [1306] = 1, - ACTIONS(42), 2, - anon_sym_RBRACE, + [4939] = 2, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(220), 1, + sym_function_arguments, + [4946] = 2, + ACTIONS(617), 1, + anon_sym_LBRACE, + ACTIONS(619), 1, + anon_sym_DASH_GT, + [4953] = 2, + ACTIONS(300), 1, sym__name, - [1311] = 1, - ACTIONS(60), 2, + STATE(237), 1, + sym_identifier, + [4960] = 1, + ACTIONS(621), 2, anon_sym_RBRACE, sym__name, - [1316] = 1, - ACTIONS(52), 2, - anon_sym_RBRACE, + [4965] = 2, + ACTIONS(300), 1, sym__name, - [1321] = 1, - ACTIONS(311), 1, + STATE(101), 1, + sym_identifier, + [4972] = 2, + ACTIONS(623), 1, + anon_sym_EQ, + ACTIONS(625), 1, anon_sym_COLON, - [1325] = 1, - ACTIONS(313), 1, - sym__name, - [1329] = 1, - ACTIONS(315), 1, + [4979] = 2, + ACTIONS(627), 1, + anon_sym_LBRACE, + ACTIONS(629), 1, + anon_sym_DASH_GT, + [4986] = 2, + ACTIONS(631), 1, anon_sym_LBRACE, - [1333] = 1, - ACTIONS(317), 1, + STATE(92), 1, + sym_unqualified_imports, + [4993] = 2, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(239), 1, + sym_function_arguments, + [5000] = 2, + ACTIONS(633), 1, + anon_sym_EQ, + ACTIONS(635), 1, + anon_sym_COLON, + [5007] = 1, + ACTIONS(637), 1, + anon_sym_EQ, + [5011] = 1, + ACTIONS(639), 1, + anon_sym_EQ, + [5015] = 1, + ACTIONS(641), 1, + anon_sym_EQ, + [5019] = 1, + ACTIONS(643), 1, + anon_sym_EQ, + [5023] = 1, + ACTIONS(645), 1, + anon_sym_EQ, + [5027] = 1, + ACTIONS(647), 1, + anon_sym_LPAREN, + [5031] = 1, + ACTIONS(649), 1, ts_builtin_sym_end, - [1337] = 1, - ACTIONS(319), 1, + [5035] = 1, + ACTIONS(651), 1, anon_sym_RBRACE, - [1341] = 1, - ACTIONS(321), 1, + [5039] = 1, + ACTIONS(653), 1, + anon_sym_LBRACE, + [5043] = 1, + ACTIONS(655), 1, + anon_sym_COLON, + [5047] = 1, + ACTIONS(657), 1, + anon_sym_LBRACE, + [5051] = 1, + ACTIONS(659), 1, + anon_sym_LBRACE, + [5055] = 1, + ACTIONS(661), 1, anon_sym_EQ, + [5059] = 1, + ACTIONS(663), 1, + anon_sym_LBRACE, + [5063] = 1, + ACTIONS(665), 1, + anon_sym_fn, + [5067] = 1, + ACTIONS(581), 1, + anon_sym_LBRACE, + [5071] = 1, + ACTIONS(667), 1, + anon_sym_EQ, + [5075] = 1, + ACTIONS(591), 1, + anon_sym_LBRACE, + [5079] = 1, + ACTIONS(669), 1, + anon_sym_EQ, + [5083] = 1, + ACTIONS(671), 1, + anon_sym_LBRACE, + [5087] = 1, + ACTIONS(673), 1, + anon_sym_EQ, + [5091] = 1, + ACTIONS(569), 1, + anon_sym_fn, + [5095] = 1, + ACTIONS(675), 1, + sym__name, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 22, - [SMALL_STATE(4)] = 51, - [SMALL_STATE(5)] = 80, - [SMALL_STATE(6)] = 99, - [SMALL_STATE(7)] = 119, - [SMALL_STATE(8)] = 136, - [SMALL_STATE(9)] = 153, - [SMALL_STATE(10)] = 170, - [SMALL_STATE(11)] = 190, - [SMALL_STATE(12)] = 218, - [SMALL_STATE(13)] = 238, - [SMALL_STATE(14)] = 268, - [SMALL_STATE(15)] = 288, - [SMALL_STATE(16)] = 316, - [SMALL_STATE(17)] = 331, - [SMALL_STATE(18)] = 349, - [SMALL_STATE(19)] = 363, - [SMALL_STATE(20)] = 376, - [SMALL_STATE(21)] = 389, - [SMALL_STATE(22)] = 404, - [SMALL_STATE(23)] = 417, - [SMALL_STATE(24)] = 430, - [SMALL_STATE(25)] = 442, - [SMALL_STATE(26)] = 454, - [SMALL_STATE(27)] = 474, - [SMALL_STATE(28)] = 486, - [SMALL_STATE(29)] = 498, - [SMALL_STATE(30)] = 510, - [SMALL_STATE(31)] = 530, - [SMALL_STATE(32)] = 550, - [SMALL_STATE(33)] = 570, - [SMALL_STATE(34)] = 582, - [SMALL_STATE(35)] = 594, - [SMALL_STATE(36)] = 614, - [SMALL_STATE(37)] = 634, - [SMALL_STATE(38)] = 646, - [SMALL_STATE(39)] = 666, - [SMALL_STATE(40)] = 678, - [SMALL_STATE(41)] = 690, - [SMALL_STATE(42)] = 710, - [SMALL_STATE(43)] = 722, - [SMALL_STATE(44)] = 734, - [SMALL_STATE(45)] = 746, - [SMALL_STATE(46)] = 758, - [SMALL_STATE(47)] = 777, - [SMALL_STATE(48)] = 794, - [SMALL_STATE(49)] = 813, - [SMALL_STATE(50)] = 832, - [SMALL_STATE(51)] = 849, - [SMALL_STATE(52)] = 866, - [SMALL_STATE(53)] = 883, - [SMALL_STATE(54)] = 900, - [SMALL_STATE(55)] = 908, - [SMALL_STATE(56)] = 922, - [SMALL_STATE(57)] = 936, - [SMALL_STATE(58)] = 952, - [SMALL_STATE(59)] = 966, - [SMALL_STATE(60)] = 980, - [SMALL_STATE(61)] = 993, - [SMALL_STATE(62)] = 1004, - [SMALL_STATE(63)] = 1017, - [SMALL_STATE(64)] = 1030, - [SMALL_STATE(65)] = 1043, - [SMALL_STATE(66)] = 1051, - [SMALL_STATE(67)] = 1061, - [SMALL_STATE(68)] = 1071, - [SMALL_STATE(69)] = 1079, - [SMALL_STATE(70)] = 1085, - [SMALL_STATE(71)] = 1095, - [SMALL_STATE(72)] = 1105, - [SMALL_STATE(73)] = 1115, - [SMALL_STATE(74)] = 1123, - [SMALL_STATE(75)] = 1133, - [SMALL_STATE(76)] = 1143, - [SMALL_STATE(77)] = 1153, - [SMALL_STATE(78)] = 1159, - [SMALL_STATE(79)] = 1169, - [SMALL_STATE(80)] = 1179, - [SMALL_STATE(81)] = 1189, - [SMALL_STATE(82)] = 1196, - [SMALL_STATE(83)] = 1203, - [SMALL_STATE(84)] = 1210, - [SMALL_STATE(85)] = 1215, - [SMALL_STATE(86)] = 1222, - [SMALL_STATE(87)] = 1227, - [SMALL_STATE(88)] = 1232, - [SMALL_STATE(89)] = 1239, - [SMALL_STATE(90)] = 1244, - [SMALL_STATE(91)] = 1249, - [SMALL_STATE(92)] = 1256, - [SMALL_STATE(93)] = 1263, - [SMALL_STATE(94)] = 1270, - [SMALL_STATE(95)] = 1277, - [SMALL_STATE(96)] = 1282, - [SMALL_STATE(97)] = 1287, - [SMALL_STATE(98)] = 1292, - [SMALL_STATE(99)] = 1299, - [SMALL_STATE(100)] = 1306, - [SMALL_STATE(101)] = 1311, - [SMALL_STATE(102)] = 1316, - [SMALL_STATE(103)] = 1321, - [SMALL_STATE(104)] = 1325, - [SMALL_STATE(105)] = 1329, - [SMALL_STATE(106)] = 1333, - [SMALL_STATE(107)] = 1337, - [SMALL_STATE(108)] = 1341, + [SMALL_STATE(3)] = 64, + [SMALL_STATE(4)] = 128, + [SMALL_STATE(5)] = 192, + [SMALL_STATE(6)] = 256, + [SMALL_STATE(7)] = 320, + [SMALL_STATE(8)] = 384, + [SMALL_STATE(9)] = 448, + [SMALL_STATE(10)] = 512, + [SMALL_STATE(11)] = 576, + [SMALL_STATE(12)] = 640, + [SMALL_STATE(13)] = 704, + [SMALL_STATE(14)] = 768, + [SMALL_STATE(15)] = 832, + [SMALL_STATE(16)] = 896, + [SMALL_STATE(17)] = 960, + [SMALL_STATE(18)] = 1024, + [SMALL_STATE(19)] = 1088, + [SMALL_STATE(20)] = 1152, + [SMALL_STATE(21)] = 1216, + [SMALL_STATE(22)] = 1280, + [SMALL_STATE(23)] = 1344, + [SMALL_STATE(24)] = 1407, + [SMALL_STATE(25)] = 1470, + [SMALL_STATE(26)] = 1533, + [SMALL_STATE(27)] = 1596, + [SMALL_STATE(28)] = 1659, + [SMALL_STATE(29)] = 1719, + [SMALL_STATE(30)] = 1779, + [SMALL_STATE(31)] = 1839, + [SMALL_STATE(32)] = 1899, + [SMALL_STATE(33)] = 1959, + [SMALL_STATE(34)] = 2019, + [SMALL_STATE(35)] = 2079, + [SMALL_STATE(36)] = 2139, + [SMALL_STATE(37)] = 2163, + [SMALL_STATE(38)] = 2187, + [SMALL_STATE(39)] = 2214, + [SMALL_STATE(40)] = 2250, + [SMALL_STATE(41)] = 2286, + [SMALL_STATE(42)] = 2308, + [SMALL_STATE(43)] = 2329, + [SMALL_STATE(44)] = 2350, + [SMALL_STATE(45)] = 2371, + [SMALL_STATE(46)] = 2392, + [SMALL_STATE(47)] = 2413, + [SMALL_STATE(48)] = 2434, + [SMALL_STATE(49)] = 2455, + [SMALL_STATE(50)] = 2476, + [SMALL_STATE(51)] = 2497, + [SMALL_STATE(52)] = 2518, + [SMALL_STATE(53)] = 2539, + [SMALL_STATE(54)] = 2560, + [SMALL_STATE(55)] = 2581, + [SMALL_STATE(56)] = 2602, + [SMALL_STATE(57)] = 2623, + [SMALL_STATE(58)] = 2644, + [SMALL_STATE(59)] = 2665, + [SMALL_STATE(60)] = 2692, + [SMALL_STATE(61)] = 2713, + [SMALL_STATE(62)] = 2734, + [SMALL_STATE(63)] = 2756, + [SMALL_STATE(64)] = 2776, + [SMALL_STATE(65)] = 2798, + [SMALL_STATE(66)] = 2817, + [SMALL_STATE(67)] = 2836, + [SMALL_STATE(68)] = 2855, + [SMALL_STATE(69)] = 2873, + [SMALL_STATE(70)] = 2895, + [SMALL_STATE(71)] = 2913, + [SMALL_STATE(72)] = 2931, + [SMALL_STATE(73)] = 2949, + [SMALL_STATE(74)] = 2971, + [SMALL_STATE(75)] = 2989, + [SMALL_STATE(76)] = 3011, + [SMALL_STATE(77)] = 3029, + [SMALL_STATE(78)] = 3046, + [SMALL_STATE(79)] = 3063, + [SMALL_STATE(80)] = 3080, + [SMALL_STATE(81)] = 3097, + [SMALL_STATE(82)] = 3114, + [SMALL_STATE(83)] = 3131, + [SMALL_STATE(84)] = 3148, + [SMALL_STATE(85)] = 3178, + [SMALL_STATE(86)] = 3206, + [SMALL_STATE(87)] = 3226, + [SMALL_STATE(88)] = 3254, + [SMALL_STATE(89)] = 3282, + [SMALL_STATE(90)] = 3298, + [SMALL_STATE(91)] = 3326, + [SMALL_STATE(92)] = 3341, + [SMALL_STATE(93)] = 3358, + [SMALL_STATE(94)] = 3373, + [SMALL_STATE(95)] = 3388, + [SMALL_STATE(96)] = 3403, + [SMALL_STATE(97)] = 3417, + [SMALL_STATE(98)] = 3431, + [SMALL_STATE(99)] = 3445, + [SMALL_STATE(100)] = 3459, + [SMALL_STATE(101)] = 3473, + [SMALL_STATE(102)] = 3487, + [SMALL_STATE(103)] = 3501, + [SMALL_STATE(104)] = 3515, + [SMALL_STATE(105)] = 3529, + [SMALL_STATE(106)] = 3543, + [SMALL_STATE(107)] = 3557, + [SMALL_STATE(108)] = 3571, + [SMALL_STATE(109)] = 3585, + [SMALL_STATE(110)] = 3599, + [SMALL_STATE(111)] = 3613, + [SMALL_STATE(112)] = 3627, + [SMALL_STATE(113)] = 3647, + [SMALL_STATE(114)] = 3667, + [SMALL_STATE(115)] = 3687, + [SMALL_STATE(116)] = 3707, + [SMALL_STATE(117)] = 3727, + [SMALL_STATE(118)] = 3747, + [SMALL_STATE(119)] = 3767, + [SMALL_STATE(120)] = 3787, + [SMALL_STATE(121)] = 3804, + [SMALL_STATE(122)] = 3821, + [SMALL_STATE(123)] = 3838, + [SMALL_STATE(124)] = 3857, + [SMALL_STATE(125)] = 3874, + [SMALL_STATE(126)] = 3891, + [SMALL_STATE(127)] = 3910, + [SMALL_STATE(128)] = 3927, + [SMALL_STATE(129)] = 3946, + [SMALL_STATE(130)] = 3963, + [SMALL_STATE(131)] = 3978, + [SMALL_STATE(132)] = 3994, + [SMALL_STATE(133)] = 4008, + [SMALL_STATE(134)] = 4022, + [SMALL_STATE(135)] = 4036, + [SMALL_STATE(136)] = 4044, + [SMALL_STATE(137)] = 4058, + [SMALL_STATE(138)] = 4072, + [SMALL_STATE(139)] = 4082, + [SMALL_STATE(140)] = 4096, + [SMALL_STATE(141)] = 4109, + [SMALL_STATE(142)] = 4122, + [SMALL_STATE(143)] = 4133, + [SMALL_STATE(144)] = 4146, + [SMALL_STATE(145)] = 4159, + [SMALL_STATE(146)] = 4172, + [SMALL_STATE(147)] = 4185, + [SMALL_STATE(148)] = 4198, + [SMALL_STATE(149)] = 4211, + [SMALL_STATE(150)] = 4224, + [SMALL_STATE(151)] = 4237, + [SMALL_STATE(152)] = 4250, + [SMALL_STATE(153)] = 4261, + [SMALL_STATE(154)] = 4274, + [SMALL_STATE(155)] = 4287, + [SMALL_STATE(156)] = 4297, + [SMALL_STATE(157)] = 4305, + [SMALL_STATE(158)] = 4315, + [SMALL_STATE(159)] = 4325, + [SMALL_STATE(160)] = 4335, + [SMALL_STATE(161)] = 4345, + [SMALL_STATE(162)] = 4355, + [SMALL_STATE(163)] = 4365, + [SMALL_STATE(164)] = 4375, + [SMALL_STATE(165)] = 4385, + [SMALL_STATE(166)] = 4395, + [SMALL_STATE(167)] = 4405, + [SMALL_STATE(168)] = 4415, + [SMALL_STATE(169)] = 4421, + [SMALL_STATE(170)] = 4431, + [SMALL_STATE(171)] = 4441, + [SMALL_STATE(172)] = 4451, + [SMALL_STATE(173)] = 4461, + [SMALL_STATE(174)] = 4469, + [SMALL_STATE(175)] = 4479, + [SMALL_STATE(176)] = 4489, + [SMALL_STATE(177)] = 4499, + [SMALL_STATE(178)] = 4505, + [SMALL_STATE(179)] = 4515, + [SMALL_STATE(180)] = 4525, + [SMALL_STATE(181)] = 4535, + [SMALL_STATE(182)] = 4545, + [SMALL_STATE(183)] = 4555, + [SMALL_STATE(184)] = 4565, + [SMALL_STATE(185)] = 4575, + [SMALL_STATE(186)] = 4585, + [SMALL_STATE(187)] = 4595, + [SMALL_STATE(188)] = 4605, + [SMALL_STATE(189)] = 4615, + [SMALL_STATE(190)] = 4625, + [SMALL_STATE(191)] = 4633, + [SMALL_STATE(192)] = 4641, + [SMALL_STATE(193)] = 4651, + [SMALL_STATE(194)] = 4661, + [SMALL_STATE(195)] = 4667, + [SMALL_STATE(196)] = 4677, + [SMALL_STATE(197)] = 4687, + [SMALL_STATE(198)] = 4697, + [SMALL_STATE(199)] = 4702, + [SMALL_STATE(200)] = 4709, + [SMALL_STATE(201)] = 4714, + [SMALL_STATE(202)] = 4719, + [SMALL_STATE(203)] = 4726, + [SMALL_STATE(204)] = 4731, + [SMALL_STATE(205)] = 4738, + [SMALL_STATE(206)] = 4743, + [SMALL_STATE(207)] = 4750, + [SMALL_STATE(208)] = 4757, + [SMALL_STATE(209)] = 4764, + [SMALL_STATE(210)] = 4771, + [SMALL_STATE(211)] = 4778, + [SMALL_STATE(212)] = 4785, + [SMALL_STATE(213)] = 4790, + [SMALL_STATE(214)] = 4795, + [SMALL_STATE(215)] = 4800, + [SMALL_STATE(216)] = 4805, + [SMALL_STATE(217)] = 4810, + [SMALL_STATE(218)] = 4815, + [SMALL_STATE(219)] = 4820, + [SMALL_STATE(220)] = 4825, + [SMALL_STATE(221)] = 4832, + [SMALL_STATE(222)] = 4839, + [SMALL_STATE(223)] = 4846, + [SMALL_STATE(224)] = 4853, + [SMALL_STATE(225)] = 4860, + [SMALL_STATE(226)] = 4865, + [SMALL_STATE(227)] = 4872, + [SMALL_STATE(228)] = 4877, + [SMALL_STATE(229)] = 4884, + [SMALL_STATE(230)] = 4891, + [SMALL_STATE(231)] = 4896, + [SMALL_STATE(232)] = 4901, + [SMALL_STATE(233)] = 4906, + [SMALL_STATE(234)] = 4913, + [SMALL_STATE(235)] = 4920, + [SMALL_STATE(236)] = 4927, + [SMALL_STATE(237)] = 4932, + [SMALL_STATE(238)] = 4939, + [SMALL_STATE(239)] = 4946, + [SMALL_STATE(240)] = 4953, + [SMALL_STATE(241)] = 4960, + [SMALL_STATE(242)] = 4965, + [SMALL_STATE(243)] = 4972, + [SMALL_STATE(244)] = 4979, + [SMALL_STATE(245)] = 4986, + [SMALL_STATE(246)] = 4993, + [SMALL_STATE(247)] = 5000, + [SMALL_STATE(248)] = 5007, + [SMALL_STATE(249)] = 5011, + [SMALL_STATE(250)] = 5015, + [SMALL_STATE(251)] = 5019, + [SMALL_STATE(252)] = 5023, + [SMALL_STATE(253)] = 5027, + [SMALL_STATE(254)] = 5031, + [SMALL_STATE(255)] = 5035, + [SMALL_STATE(256)] = 5039, + [SMALL_STATE(257)] = 5043, + [SMALL_STATE(258)] = 5047, + [SMALL_STATE(259)] = 5051, + [SMALL_STATE(260)] = 5055, + [SMALL_STATE(261)] = 5059, + [SMALL_STATE(262)] = 5063, + [SMALL_STATE(263)] = 5067, + [SMALL_STATE(264)] = 5071, + [SMALL_STATE(265)] = 5075, + [SMALL_STATE(266)] = 5079, + [SMALL_STATE(267)] = 5083, + [SMALL_STATE(268)] = 5087, + [SMALL_STATE(269)] = 5091, + [SMALL_STATE(270)] = 5095, }; 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 = true}}, SHIFT(83), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), - [15] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_identifier, 1), - [17] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_identifier, 1), - [19] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [27] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(83), - [30] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(62), - [33] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(91), - [36] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(4), - [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(4), - [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [44] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 1), - [48] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [50] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 1), - [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5), - [54] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5), - [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6), - [58] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6), - [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4), - [62] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4), - [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1), - [66] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [68] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 1), - [70] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 2), - [82] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 2), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), - [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(104), - [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), - [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, .production_id = 1), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, .production_id = 1), - [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_struct_inner, 4), - [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_struct_inner, 4), - [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 5), - [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 5), - [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 3), - [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 3), - [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, .production_id = 2), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 4, .production_id = 2), - [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 4), - [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 4), - [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 2), - [127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 2), - [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant, 6), - [131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant, 6), - [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 6, .production_id = 6), - [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 6, .production_id = 6), - [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_enum_repeat1, 2), - [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_enum_repeat1, 2), SHIFT_REPEAT(2), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum, 5), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_enum, 5), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2), - [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, .production_id = 3), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 4, .production_id = 3), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_inner, 2), - [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_inner, 2), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bytes, 2), - [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bytes, 2), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 4), - [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_alias, 4), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_inner, 3), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_inner, 3), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 1), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 1), - [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bytes, 1), - [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bytes, 1), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_struct, 2), - [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_struct, 2), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant, 4), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant, 4), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_value, 1), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_value, 1), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument, 1, .production_id = 4), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_struct_fields, 1), - [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum_variant, 1), - [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_struct_fields_repeat1, 2), - [224] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_struct_fields_repeat1, 2), SHIFT_REPEAT(5), - [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [233] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_enum_variant_repeat1, 2), SHIFT_REPEAT(47), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_enum_variant_repeat1, 2), - [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_inner_repeat1, 2), - [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_inner_repeat1, 2), SHIFT_REPEAT(64), - [249] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_inner_repeat1, 2), SHIFT_REPEAT(64), - [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 1, .production_id = 5), - [256] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_unqualified_imports_repeat1, 2), SHIFT_REPEAT(57), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_unqualified_imports_repeat1, 2), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 3, .production_id = 7), - [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum_variant, 4), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_struct_field, 3), - [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum_variant, 5), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum_variant, 6), - [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [317] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(211), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), + [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(262), + [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(140), + [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(211), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(155), + [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(31), + [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(52), + [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(52), + [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(210), + [83] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(209), + [86] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(148), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(63), + [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), + [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), + [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223), + [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), + [110] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), + [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), + [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_identifier, 1), + [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_identifier, 1), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [136] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(222), + [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(147), + [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(207), + [145] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(141), + [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(208), + [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(39), + [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(39), + [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access, 3), + [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access, 3), + [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bytes, 2), + [169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bytes, 2), + [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 2), + [173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 2), + [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bytes, 1), + [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bytes, 1), + [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_arguments, 4), + [181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_arguments, 4), + [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 1), + [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 1), + [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_arguments, 2), + [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_arguments, 2), + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_inner, 3), + [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_inner, 3), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_assignment, 6), + [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_assignment, 6), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), + [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 1), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 1), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_arguments, 5), + [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_arguments, 5), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 5), + [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 5), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_assignment, 4), + [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_assignment, 4), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expect_assignment, 4), + [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expect_assignment, 4), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4), + [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 4), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_arguments, 3), + [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_arguments, 3), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_inner, 2), + [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_inner, 2), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2), + [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2), + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 1), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 1), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5), + [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5), + [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4), + [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6), + [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 6), + [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 6), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 2), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 2), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 9), + [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 9), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1), + [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 1), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 7), + [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 7), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), + [291] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(270), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 8), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 8), + [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, .production_id = 1), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, .production_id = 1), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_struct_inner, 4), + [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_struct_inner, 4), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 4), + [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 4), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, .production_id = 2), + [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 4, .production_id = 2), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 3), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 3), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 2), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 2), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 5), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 5), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum, 5), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_enum, 5), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant, 4), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant, 4), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, .production_id = 3), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 4, .production_id = 3), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant, 7), + [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant, 7), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 6, .production_id = 6), + [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 6, .production_id = 6), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_struct, 2), + [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_struct, 2), + [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant, 5), + [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant, 5), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_value, 1), + [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_value, 1), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 4), + [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_alias, 4), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant, 6), + [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant, 6), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_enum_repeat1, 2), + [404] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_enum_repeat1, 2), SHIFT_REPEAT(37), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_struct_fields_repeat1, 2), + [427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_struct_fields_repeat1, 2), SHIFT_REPEAT(36), + [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument, 1, .production_id = 4), + [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum_variant, 1), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_struct_fields, 1), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [440] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_enum_variant_repeat1, 2), SHIFT_REPEAT(125), + [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_enum_variant_repeat1, 2), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_inner_repeat1, 2), + [449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_inner_repeat1, 2), SHIFT_REPEAT(145), + [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_inner_repeat1, 2), SHIFT_REPEAT(145), + [455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), + [461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [467] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), + [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(29), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 1, .production_id = 5), + [488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_unqualified_imports_repeat1, 2), SHIFT_REPEAT(131), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_unqualified_imports_repeat1, 2), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_argument, 1), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [537] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_arguments_repeat1, 2), SHIFT_REPEAT(185), + [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_arguments_repeat1, 2), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [556] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_pattern_repeat1, 2), SHIFT_REPEAT(134), + [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_pattern_repeat1, 2), + [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum_variant, 5), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 3, .production_id = 7), + [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum_variant, 4), + [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_enum_variant, 6), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 5), + [575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 4), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 3), + [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_argument, 3), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_pattern_argument, 1), + [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_discard, 1), + [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 2), + [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_struct_field, 3), + [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [649] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_pattern, 6), + [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_pattern, 5), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_pattern, 4), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), }; #ifdef __cplusplus diff --git a/test/corpus/expr.txt b/test/corpus/expr.txt new file mode 100644 index 0000000..0e8cd0f --- /dev/null +++ b/test/corpus/expr.txt @@ -0,0 +1,88 @@ +================================================================================ +Basic Function Test - Int +================================================================================ + +pub fn five () { + 25 +} + +-------------------------------------------------------------------------------- + +(source_file + (function + (identifier) + (function_arguments) + (expression (int (base10))) + )) + +================================================================================ +Basic Function Test - List +================================================================================ + +fn list () { + [10, 25] +} + +-------------------------------------------------------------------------------- + +(source_file + (function + (identifier) + (function_arguments) + (expression + (list + (expression (int (base10))) + (expression (int (base10))) + ) + ) + )) + +================================================================================ +Basic Function Test - Sequence +================================================================================ + +fn sequence () { + foo(bar(x)) +} + +-------------------------------------------------------------------------------- + +(source_file + (function + (identifier) + (function_arguments) + (expression + (call + (identifier) + (call_arguments + (expression (call + (identifier) + (call_arguments (expression (identifier)))))) + ) + ) + )) + +================================================================================ +Basic Function Test - Sequence with `.` access +================================================================================ + +fn sequence () { + nike.foo(bar(x)) +} + +-------------------------------------------------------------------------------- + +(source_file + (function + (identifier) + (function_arguments) + (expression + (call + (access (identifier) (identifier)) + (call_arguments + (expression (call + (identifier) + (call_arguments (expression (identifier)))))) + ) + ) + )) \ No newline at end of file