From b6046b9b850cd333a5b064e645bc1b6ec38eb2fc Mon Sep 17 00:00:00 2001 From: Nikita Tyrkin Date: Sat, 3 Jan 2026 16:31:23 +0300 Subject: [PATCH] fix: add missing files to treesitter --- editors/nvim/lua/dingo/treesitter.lua | 36 +- .../nvim/tree-sitter-dingo/src/grammar.json | 2619 ++ .../tree-sitter-dingo/src/node-types.json | 3393 ++ editors/nvim/tree-sitter-dingo/src/parser.c | 31065 ++++++++++++++++ .../tree-sitter-dingo/src/tree_sitter/alloc.h | 54 + .../tree-sitter-dingo/src/tree_sitter/array.h | 291 + .../src/tree_sitter/parser.h | 286 + 7 files changed, 37724 insertions(+), 20 deletions(-) create mode 100644 editors/nvim/tree-sitter-dingo/src/grammar.json create mode 100644 editors/nvim/tree-sitter-dingo/src/node-types.json create mode 100644 editors/nvim/tree-sitter-dingo/src/parser.c create mode 100644 editors/nvim/tree-sitter-dingo/src/tree_sitter/alloc.h create mode 100644 editors/nvim/tree-sitter-dingo/src/tree_sitter/array.h create mode 100644 editors/nvim/tree-sitter-dingo/src/tree_sitter/parser.h diff --git a/editors/nvim/lua/dingo/treesitter.lua b/editors/nvim/lua/dingo/treesitter.lua index f4cd6b9..4be7bff 100644 --- a/editors/nvim/lua/dingo/treesitter.lua +++ b/editors/nvim/lua/dingo/treesitter.lua @@ -1,29 +1,25 @@ local M = {} --- Register dingo parser with nvim-treesitter function M.register() - local ok, parsers = pcall(require, "nvim-treesitter.parsers") - if not ok then - return false - end + local ok, parsers = pcall(require, "nvim-treesitter.parsers") + if not ok then + return false + end - local parser_config = parsers.get_parser_configs() + local parser_config = parsers.get_parser_configs() - parser_config.dingo = { - install_info = { - url = "https://github.com/MadAppGang/dingo", - files = { "editors/nvim/tree-sitter-dingo/src/parser.c" }, - branch = "main", - generate_requires_npm = true, - }, - filetype = "dingo", - maintainers = { "@MadAppGang" }, - } + parser_config.dingo = { + install_info = { + url = "https://github.com/tyrkinn/dingo", + files = { "editors/nvim/tree-sitter-dingo/src/parser.c" }, + branch = "main", + generate_requires_npm = true, + }, + filetype = "dingo", + maintainers = { "@tyrkinn" }, + } - -- For local development, use: - -- :TSInstallFromGrammar dingo - - return true + return true end return M diff --git a/editors/nvim/tree-sitter-dingo/src/grammar.json b/editors/nvim/tree-sitter-dingo/src/grammar.json new file mode 100644 index 0000000..7cfbab3 --- /dev/null +++ b/editors/nvim/tree-sitter-dingo/src/grammar.json @@ -0,0 +1,2619 @@ +{ + "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", + "name": "dingo", + "word": "identifier", + "rules": { + "source_file": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_item" + } + }, + "_item": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "package_clause" + }, + { + "type": "SYMBOL", + "name": "import_declaration" + }, + { + "type": "SYMBOL", + "name": "function_declaration" + }, + { + "type": "SYMBOL", + "name": "type_declaration" + }, + { + "type": "SYMBOL", + "name": "const_declaration" + }, + { + "type": "SYMBOL", + "name": "var_declaration" + }, + { + "type": "SYMBOL", + "name": "enum_declaration" + } + ] + }, + "comment": { + "type": "CHOICE", + "members": [ + { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "//" + }, + { + "type": "PATTERN", + "value": ".*" + } + ] + } + }, + { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "/*" + }, + { + "type": "PATTERN", + "value": "[^*]*\\*+([^/*][^*]*\\*+)*" + }, + { + "type": "STRING", + "value": "/" + } + ] + } + } + ] + }, + "package_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "package" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + "import_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "import" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "import_spec" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "import_spec" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + ] + }, + "import_spec": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "string_literal" + } + ] + }, + "enum_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "enum" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_params" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enum_variant" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "enum_variant": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "variant_field" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "variant_field" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "variant_field": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "match_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "match" + }, + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "match_arm" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "match_arm": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "match_pattern" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "=>" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "SYMBOL", + "name": "block" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "match_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "_" + }, + { + "type": "SYMBOL", + "name": "_literal" + }, + { + "type": "SYMBOL", + "name": "variant_match" + } + ] + }, + "variant_match": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "match_pattern" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "match_pattern" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "lambda_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "|" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "lambda_param" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "lambda_param" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "|" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "SYMBOL", + "name": "block" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "lambda_param" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "lambda_param" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + { + "type": "STRING", + "value": "=>" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "SYMBOL", + "name": "block" + } + ] + } + ] + } + ] + }, + "lambda_param": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "_literal" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expr" + }, + { + "type": "SYMBOL", + "name": "unary_expr" + }, + { + "type": "SYMBOL", + "name": "binary_expr" + }, + { + "type": "SYMBOL", + "name": "call_expr" + }, + { + "type": "SYMBOL", + "name": "selector_expr" + }, + { + "type": "SYMBOL", + "name": "index_expr" + }, + { + "type": "SYMBOL", + "name": "lambda_expression" + }, + { + "type": "SYMBOL", + "name": "match_expression" + }, + { + "type": "SYMBOL", + "name": "error_propagation" + }, + { + "type": "SYMBOL", + "name": "safe_navigation" + }, + { + "type": "SYMBOL", + "name": "composite_literal" + }, + { + "type": "SYMBOL", + "name": "func_literal" + } + ] + }, + "parenthesized_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "unary_expr": { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "!" + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "<-" + }, + { + "type": "STRING", + "value": "^" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + }, + "binary_expr": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "||" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "??" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "==" + }, + { + "type": "STRING", + "value": "!=" + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "STRING", + "value": "<=" + }, + { + "type": "STRING", + "value": ">" + }, + { + "type": "STRING", + "value": ">=" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "|" + }, + { + "type": "STRING", + "value": "^" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": "%" + }, + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "<<" + }, + { + "type": "STRING", + "value": ">>" + }, + { + "type": "STRING", + "value": "&^" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + } + ] + }, + "call_expr": { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_args" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "selector_expr": { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + }, + "index_expr": { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "error_propagation": { + "type": "PREC_LEFT", + "value": 12, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "?" + } + ] + } + }, + "safe_navigation": { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "?." + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + }, + "composite_literal": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "keyed_element" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "keyed_element" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "keyed_element": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + }, + { + "type": "STRING", + "value": ":" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + }, + "func_literal": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "func" + }, + { + "type": "SYMBOL", + "name": "param_list" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "block" + } + ] + }, + "_type_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "qualified_type" + }, + { + "type": "SYMBOL", + "name": "pointer_type" + }, + { + "type": "SYMBOL", + "name": "slice_type" + }, + { + "type": "SYMBOL", + "name": "array_type" + }, + { + "type": "SYMBOL", + "name": "map_type" + }, + { + "type": "SYMBOL", + "name": "chan_type" + }, + { + "type": "SYMBOL", + "name": "func_type" + }, + { + "type": "SYMBOL", + "name": "generic_type" + }, + { + "type": "SYMBOL", + "name": "struct_type" + }, + { + "type": "SYMBOL", + "name": "interface_type" + } + ] + }, + "qualified_type": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + "pointer_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "slice_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "STRING", + "value": "]" + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "array_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "STRING", + "value": "]" + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "map_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "map" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "STRING", + "value": "]" + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "chan_type": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "<-" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "chan" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "<-" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "func_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "func" + }, + { + "type": "SYMBOL", + "name": "param_list" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "generic_type": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "qualified_type" + } + ] + }, + { + "type": "SYMBOL", + "name": "type_args" + } + ] + }, + "struct_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "struct" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "field_decl" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "interface_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "interface" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "method_spec" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "type_args": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "type_params": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_param" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type_param" + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "type_param": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "function_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "func" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "receiver" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_params" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "param_list" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "block" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "receiver": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "param_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "param_decl" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "param_decl" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "param_decl": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "..." + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "type_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "type" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_params" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "const_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "const" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "const_spec" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "const_spec" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + ] + }, + "const_spec": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "var_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "var" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "var_spec" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "var_spec" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + ] + }, + "var_spec": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + ] + } + ] + }, + "_stmt": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expr_stmt" + }, + { + "type": "SYMBOL", + "name": "return_stmt" + }, + { + "type": "SYMBOL", + "name": "if_stmt" + }, + { + "type": "SYMBOL", + "name": "for_stmt" + }, + { + "type": "SYMBOL", + "name": "short_var_decl" + }, + { + "type": "SYMBOL", + "name": "assignment_stmt" + }, + { + "type": "SYMBOL", + "name": "block" + } + ] + }, + "block": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_stmt" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "expr_stmt": { + "type": "SYMBOL", + "name": "_expr" + }, + "return_stmt": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "return" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expr_list" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "expr_list": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + } + } + ] + }, + "if_stmt": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "short_var_decl" + }, + { + "type": "SYMBOL", + "name": "expr_stmt" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "SYMBOL", + "name": "block" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "if_stmt" + }, + { + "type": "SYMBOL", + "name": "block" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "short_var_decl": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expr_list" + }, + { + "type": "STRING", + "value": ":=" + }, + { + "type": "SYMBOL", + "name": "expr_list" + } + ] + }, + "assignment_stmt": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expr_list" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "+=" + }, + { + "type": "STRING", + "value": "-=" + }, + { + "type": "STRING", + "value": "*=" + }, + { + "type": "STRING", + "value": "/=" + } + ] + }, + { + "type": "SYMBOL", + "name": "expr_list" + } + ] + }, + "for_stmt": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "for" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "block" + } + ] + }, + "field_decl": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "method_spec": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "param_list" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_expr" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_expr" + } + ] + }, + "_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "int_literal" + }, + { + "type": "SYMBOL", + "name": "float_literal" + }, + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "rune_literal" + }, + { + "type": "STRING", + "value": "true" + }, + { + "type": "STRING", + "value": "false" + }, + { + "type": "STRING", + "value": "nil" + } + ] + }, + "identifier": { + "type": "PATTERN", + "value": "[a-zA-Z_][a-zA-Z0-9_]*" + }, + "int_literal": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "0[xX][0-9a-fA-F_]+" + }, + { + "type": "PATTERN", + "value": "0[oO][0-7_]+" + }, + { + "type": "PATTERN", + "value": "0[bB][01_]+" + }, + { + "type": "PATTERN", + "value": "[0-9][0-9_]*" + } + ] + }, + "float_literal": { + "type": "PATTERN", + "value": "[0-9][0-9_]*\\.[0-9_]*([eE][+-]?[0-9_]+)?" + }, + "string_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\"" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^\"\\\\\\n]+" + }, + { + "type": "PATTERN", + "value": "\\\\." + } + ] + } + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + { + "type": "PATTERN", + "value": "`[^`]*`" + } + ] + }, + "rune_literal": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^'\\\\]" + }, + { + "type": "PATTERN", + "value": "\\\\." + } + ] + }, + { + "type": "STRING", + "value": "'" + } + ] + } + }, + "extras": [ + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "SYMBOL", + "name": "comment" + } + ], + "conflicts": [ + [ + "const_spec" + ], + [ + "var_spec" + ], + [ + "param_decl" + ], + [ + "function_declaration" + ], + [ + "receiver" + ], + [ + "field_decl" + ], + [ + "method_spec" + ], + [ + "type_param" + ], + [ + "lambda_param", + "parenthesized_expr" + ], + [ + "_expr", + "qualified_type" + ], + [ + "_expr", + "generic_type" + ], + [ + "_expr", + "composite_literal" + ], + [ + "identifier", + "qualified_type" + ], + [ + "identifier", + "generic_type" + ], + [ + "pointer_type", + "receiver" + ], + [ + "_expr", + "type_param" + ], + [ + "_expr", + "generic_type", + "type_param" + ], + [ + "func_type" + ], + [ + "lambda_param", + "_expr" + ], + [ + "_expr", + "_type_expr" + ], + [ + "composite_literal", + "pointer_type" + ], + [ + "func_literal", + "func_type" + ], + [ + "_type_expr", + "field_decl" + ], + [ + "_type_expr", + "generic_type", + "field_decl" + ], + [ + "_type_expr", + "generic_type" + ], + [ + "chan_type" + ], + [ + "_expr", + "keyed_element" + ], + [ + "lambda_expression", + "_expr" + ] + ], + "precedences": [], + "externals": [], + "inline": [], + "supertypes": [], + "reserved": {} +} \ No newline at end of file diff --git a/editors/nvim/tree-sitter-dingo/src/node-types.json b/editors/nvim/tree-sitter-dingo/src/node-types.json new file mode 100644 index 0000000..11c13b7 --- /dev/null +++ b/editors/nvim/tree-sitter-dingo/src/node-types.json @@ -0,0 +1,3393 @@ +[ + { + "type": "array_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "assignment_stmt", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expr_list", + "named": true + } + ] + } + }, + { + "type": "binary_expr", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "block", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "assignment_stmt", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "expr_stmt", + "named": true + }, + { + "type": "for_stmt", + "named": true + }, + { + "type": "if_stmt", + "named": true + }, + { + "type": "return_stmt", + "named": true + }, + { + "type": "short_var_decl", + "named": true + } + ] + } + }, + { + "type": "call_expr", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "type_args", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "chan_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "comment", + "named": true, + "extra": true, + "fields": {} + }, + { + "type": "composite_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "keyed_element", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "const_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "const_spec", + "named": true + } + ] + } + }, + { + "type": "const_spec", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "enum_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "enum_variant", + "named": true + }, + { + "type": "type_params", + "named": true + } + ] + } + }, + { + "type": "enum_variant", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "variant_field", + "named": true + } + ] + } + }, + { + "type": "error_propagation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "expr_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "expr_stmt", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "field_decl", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "for_stmt", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "func_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "param_list", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "func_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "param_list", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "function_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "param_list", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "receiver", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "type_params", + "named": true + } + ] + } + }, + { + "type": "generic_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "type_args", + "named": true + } + ] + } + }, + { + "type": "if_stmt", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "expr_stmt", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_stmt", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "short_var_decl", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "import_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "import_spec", + "named": true + } + ] + } + }, + { + "type": "import_spec", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "index_expr", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "int_literal", + "named": true, + "fields": {} + }, + { + "type": "interface_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "method_spec", + "named": true + } + ] + } + }, + { + "type": "keyed_element", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "lambda_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "lambda_param", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "lambda_param", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "map_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "match_arm", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "match_pattern", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "match_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_arm", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "match_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "float_literal", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "variant_match", + "named": true + } + ] + } + }, + { + "type": "method_spec", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "param_list", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "package_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "param_decl", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "param_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "param_decl", + "named": true + } + ] + } + }, + { + "type": "parenthesized_expr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "pointer_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "qualified_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "receiver", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "return_stmt", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expr_list", + "named": true + } + ] + } + }, + { + "type": "rune_literal", + "named": true, + "fields": {} + }, + { + "type": "safe_navigation", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "selector_expr", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "short_var_decl", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expr_list", + "named": true + } + ] + } + }, + { + "type": "slice_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "source_file", + "named": true, + "root": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "const_declaration", + "named": true + }, + { + "type": "enum_declaration", + "named": true + }, + { + "type": "function_declaration", + "named": true + }, + { + "type": "import_declaration", + "named": true + }, + { + "type": "package_clause", + "named": true + }, + { + "type": "type_declaration", + "named": true + }, + { + "type": "var_declaration", + "named": true + } + ] + } + }, + { + "type": "string_literal", + "named": true, + "fields": {} + }, + { + "type": "struct_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "field_decl", + "named": true + } + ] + } + }, + { + "type": "type_args", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "type_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "type_params", + "named": true + } + ] + } + }, + { + "type": "type_param", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "type_params", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type_param", + "named": true + } + ] + } + }, + { + "type": "unary_expr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "var_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "var_spec", + "named": true + } + ] + } + }, + { + "type": "var_spec", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "binary_expr", + "named": true + }, + { + "type": "call_expr", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "composite_literal", + "named": true + }, + { + "type": "error_propagation", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "func_literal", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "index_expr", + "named": true + }, + { + "type": "int_literal", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expr", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "rune_literal", + "named": true + }, + { + "type": "safe_navigation", + "named": true + }, + { + "type": "selector_expr", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_type", + "named": true + }, + { + "type": "unary_expr", + "named": true + } + ] + } + }, + { + "type": "variant_field", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "chan_type", + "named": true + }, + { + "type": "func_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "interface_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "pointer_type", + "named": true + }, + { + "type": "qualified_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "struct_type", + "named": true + } + ] + } + }, + { + "type": "variant_match", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "match_pattern", + "named": true + } + ] + } + }, + { + "type": "!", + "named": false + }, + { + "type": "!=", + "named": false + }, + { + "type": "\"", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "&^", + "named": false + }, + { + "type": "'", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": "...", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": ":=", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<-", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": "=>", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": "?", + "named": false + }, + { + "type": "?.", + "named": false + }, + { + "type": "??", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "_", + "named": false + }, + { + "type": "chan", + "named": false + }, + { + "type": "const", + "named": false + }, + { + "type": "else", + "named": false + }, + { + "type": "enum", + "named": false + }, + { + "type": "false", + "named": false + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "for", + "named": false + }, + { + "type": "func", + "named": false + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "import", + "named": false + }, + { + "type": "interface", + "named": false + }, + { + "type": "map", + "named": false + }, + { + "type": "match", + "named": false + }, + { + "type": "nil", + "named": false + }, + { + "type": "package", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "struct", + "named": false + }, + { + "type": "true", + "named": false + }, + { + "type": "type", + "named": false + }, + { + "type": "var", + "named": false + }, + { + "type": "{", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "||", + "named": false + }, + { + "type": "}", + "named": false + } +] \ No newline at end of file diff --git a/editors/nvim/tree-sitter-dingo/src/parser.c b/editors/nvim/tree-sitter-dingo/src/parser.c new file mode 100644 index 0000000..7a455eb --- /dev/null +++ b/editors/nvim/tree-sitter-dingo/src/parser.c @@ -0,0 +1,31065 @@ +/* Automatically @generated by tree-sitter v0.25.10 */ + +#include "tree_sitter/parser.h" + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif + +#define LANGUAGE_VERSION 14 +#define STATE_COUNT 625 +#define LARGE_STATE_COUNT 9 +#define SYMBOL_COUNT 160 +#define ALIAS_COUNT 0 +#define TOKEN_COUNT 77 +#define EXTERNAL_TOKEN_COUNT 0 +#define FIELD_COUNT 1 +#define MAX_ALIAS_SEQUENCE_LENGTH 7 +#define MAX_RESERVED_WORD_SET_SIZE 0 +#define PRODUCTION_ID_COUNT 4 +#define SUPERTYPE_COUNT 0 + +enum ts_symbol_identifiers { + sym_identifier = 1, + aux_sym_comment_token1 = 2, + aux_sym_comment_token2 = 3, + anon_sym_package = 4, + anon_sym_import = 5, + anon_sym_LPAREN = 6, + anon_sym_RPAREN = 7, + anon_sym_DOT = 8, + anon_sym_enum = 9, + anon_sym_LBRACE = 10, + anon_sym_RBRACE = 11, + anon_sym_COMMA = 12, + anon_sym_COLON = 13, + anon_sym_match = 14, + anon_sym_if = 15, + anon_sym_EQ_GT = 16, + anon_sym__ = 17, + anon_sym_PIPE = 18, + anon_sym_DASH = 19, + anon_sym_BANG = 20, + anon_sym_STAR = 21, + anon_sym_AMP = 22, + anon_sym_LT_DASH = 23, + anon_sym_CARET = 24, + anon_sym_PIPE_PIPE = 25, + anon_sym_AMP_AMP = 26, + anon_sym_QMARK_QMARK = 27, + anon_sym_EQ_EQ = 28, + anon_sym_BANG_EQ = 29, + anon_sym_LT = 30, + anon_sym_LT_EQ = 31, + anon_sym_GT = 32, + anon_sym_GT_EQ = 33, + anon_sym_PLUS = 34, + anon_sym_SLASH = 35, + anon_sym_PERCENT = 36, + anon_sym_LT_LT = 37, + anon_sym_GT_GT = 38, + anon_sym_AMP_CARET = 39, + anon_sym_LBRACK = 40, + anon_sym_RBRACK = 41, + anon_sym_QMARK = 42, + anon_sym_QMARK_DOT = 43, + anon_sym_func = 44, + anon_sym_map = 45, + anon_sym_chan = 46, + anon_sym_struct = 47, + anon_sym_interface = 48, + anon_sym_DOT_DOT_DOT = 49, + anon_sym_type = 50, + anon_sym_const = 51, + anon_sym_EQ = 52, + anon_sym_var = 53, + anon_sym_return = 54, + anon_sym_SEMI = 55, + anon_sym_else = 56, + anon_sym_COLON_EQ = 57, + anon_sym_PLUS_EQ = 58, + anon_sym_DASH_EQ = 59, + anon_sym_STAR_EQ = 60, + anon_sym_SLASH_EQ = 61, + anon_sym_for = 62, + anon_sym_true = 63, + anon_sym_false = 64, + anon_sym_nil = 65, + aux_sym_int_literal_token1 = 66, + aux_sym_int_literal_token2 = 67, + aux_sym_int_literal_token3 = 68, + aux_sym_int_literal_token4 = 69, + sym_float_literal = 70, + anon_sym_DQUOTE = 71, + aux_sym_string_literal_token1 = 72, + aux_sym_string_literal_token2 = 73, + aux_sym_string_literal_token3 = 74, + anon_sym_SQUOTE = 75, + aux_sym_rune_literal_token1 = 76, + sym_source_file = 77, + sym__item = 78, + sym_comment = 79, + sym_package_clause = 80, + sym_import_declaration = 81, + sym_import_spec = 82, + sym_enum_declaration = 83, + sym_enum_variant = 84, + sym_variant_field = 85, + sym_match_expression = 86, + sym_match_arm = 87, + sym_match_pattern = 88, + sym_variant_match = 89, + sym_lambda_expression = 90, + sym_lambda_param = 91, + sym__expr = 92, + sym_parenthesized_expr = 93, + sym_unary_expr = 94, + sym_binary_expr = 95, + sym_call_expr = 96, + sym_selector_expr = 97, + sym_index_expr = 98, + sym_error_propagation = 99, + sym_safe_navigation = 100, + sym_composite_literal = 101, + sym_keyed_element = 102, + sym_func_literal = 103, + sym__type_expr = 104, + sym_qualified_type = 105, + sym_pointer_type = 106, + sym_slice_type = 107, + sym_array_type = 108, + sym_map_type = 109, + sym_chan_type = 110, + sym_func_type = 111, + sym_generic_type = 112, + sym_struct_type = 113, + sym_interface_type = 114, + sym_type_args = 115, + sym_type_params = 116, + sym_type_param = 117, + sym_function_declaration = 118, + sym_receiver = 119, + sym_param_list = 120, + sym_param_decl = 121, + sym_type_declaration = 122, + sym_const_declaration = 123, + sym_const_spec = 124, + sym_var_declaration = 125, + sym_var_spec = 126, + sym__stmt = 127, + sym_block = 128, + sym_expr_stmt = 129, + sym_return_stmt = 130, + sym_expr_list = 131, + sym_if_stmt = 132, + sym_short_var_decl = 133, + sym_assignment_stmt = 134, + sym_for_stmt = 135, + sym_field_decl = 136, + sym_method_spec = 137, + sym__literal = 138, + sym_int_literal = 139, + sym_string_literal = 140, + sym_rune_literal = 141, + aux_sym_source_file_repeat1 = 142, + aux_sym_import_declaration_repeat1 = 143, + aux_sym_enum_declaration_repeat1 = 144, + aux_sym_enum_variant_repeat1 = 145, + aux_sym_enum_variant_repeat2 = 146, + aux_sym_match_expression_repeat1 = 147, + aux_sym_variant_match_repeat1 = 148, + aux_sym_lambda_expression_repeat1 = 149, + aux_sym_call_expr_repeat1 = 150, + aux_sym_composite_literal_repeat1 = 151, + aux_sym_struct_type_repeat1 = 152, + aux_sym_interface_type_repeat1 = 153, + aux_sym_type_params_repeat1 = 154, + aux_sym_param_list_repeat1 = 155, + aux_sym_const_declaration_repeat1 = 156, + aux_sym_var_declaration_repeat1 = 157, + aux_sym_block_repeat1 = 158, + aux_sym_string_literal_repeat1 = 159, +}; + +static const char * const ts_symbol_names[] = { + [ts_builtin_sym_end] = "end", + [sym_identifier] = "identifier", + [aux_sym_comment_token1] = "comment_token1", + [aux_sym_comment_token2] = "comment_token2", + [anon_sym_package] = "package", + [anon_sym_import] = "import", + [anon_sym_LPAREN] = "(", + [anon_sym_RPAREN] = ")", + [anon_sym_DOT] = ".", + [anon_sym_enum] = "enum", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_COMMA] = ",", + [anon_sym_COLON] = ":", + [anon_sym_match] = "match", + [anon_sym_if] = "if", + [anon_sym_EQ_GT] = "=>", + [anon_sym__] = "_", + [anon_sym_PIPE] = "|", + [anon_sym_DASH] = "-", + [anon_sym_BANG] = "!", + [anon_sym_STAR] = "*", + [anon_sym_AMP] = "&", + [anon_sym_LT_DASH] = "<-", + [anon_sym_CARET] = "^", + [anon_sym_PIPE_PIPE] = "||", + [anon_sym_AMP_AMP] = "&&", + [anon_sym_QMARK_QMARK] = "\?\?", + [anon_sym_EQ_EQ] = "==", + [anon_sym_BANG_EQ] = "!=", + [anon_sym_LT] = "<", + [anon_sym_LT_EQ] = "<=", + [anon_sym_GT] = ">", + [anon_sym_GT_EQ] = ">=", + [anon_sym_PLUS] = "+", + [anon_sym_SLASH] = "/", + [anon_sym_PERCENT] = "%", + [anon_sym_LT_LT] = "<<", + [anon_sym_GT_GT] = ">>", + [anon_sym_AMP_CARET] = "&^", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", + [anon_sym_QMARK] = "\?", + [anon_sym_QMARK_DOT] = "\?.", + [anon_sym_func] = "func", + [anon_sym_map] = "map", + [anon_sym_chan] = "chan", + [anon_sym_struct] = "struct", + [anon_sym_interface] = "interface", + [anon_sym_DOT_DOT_DOT] = "...", + [anon_sym_type] = "type", + [anon_sym_const] = "const", + [anon_sym_EQ] = "=", + [anon_sym_var] = "var", + [anon_sym_return] = "return", + [anon_sym_SEMI] = ";", + [anon_sym_else] = "else", + [anon_sym_COLON_EQ] = ":=", + [anon_sym_PLUS_EQ] = "+=", + [anon_sym_DASH_EQ] = "-=", + [anon_sym_STAR_EQ] = "*=", + [anon_sym_SLASH_EQ] = "/=", + [anon_sym_for] = "for", + [anon_sym_true] = "true", + [anon_sym_false] = "false", + [anon_sym_nil] = "nil", + [aux_sym_int_literal_token1] = "int_literal_token1", + [aux_sym_int_literal_token2] = "int_literal_token2", + [aux_sym_int_literal_token3] = "int_literal_token3", + [aux_sym_int_literal_token4] = "int_literal_token4", + [sym_float_literal] = "float_literal", + [anon_sym_DQUOTE] = "\"", + [aux_sym_string_literal_token1] = "string_literal_token1", + [aux_sym_string_literal_token2] = "string_literal_token2", + [aux_sym_string_literal_token3] = "string_literal_token3", + [anon_sym_SQUOTE] = "'", + [aux_sym_rune_literal_token1] = "rune_literal_token1", + [sym_source_file] = "source_file", + [sym__item] = "_item", + [sym_comment] = "comment", + [sym_package_clause] = "package_clause", + [sym_import_declaration] = "import_declaration", + [sym_import_spec] = "import_spec", + [sym_enum_declaration] = "enum_declaration", + [sym_enum_variant] = "enum_variant", + [sym_variant_field] = "variant_field", + [sym_match_expression] = "match_expression", + [sym_match_arm] = "match_arm", + [sym_match_pattern] = "match_pattern", + [sym_variant_match] = "variant_match", + [sym_lambda_expression] = "lambda_expression", + [sym_lambda_param] = "lambda_param", + [sym__expr] = "_expr", + [sym_parenthesized_expr] = "parenthesized_expr", + [sym_unary_expr] = "unary_expr", + [sym_binary_expr] = "binary_expr", + [sym_call_expr] = "call_expr", + [sym_selector_expr] = "selector_expr", + [sym_index_expr] = "index_expr", + [sym_error_propagation] = "error_propagation", + [sym_safe_navigation] = "safe_navigation", + [sym_composite_literal] = "composite_literal", + [sym_keyed_element] = "keyed_element", + [sym_func_literal] = "func_literal", + [sym__type_expr] = "_type_expr", + [sym_qualified_type] = "qualified_type", + [sym_pointer_type] = "pointer_type", + [sym_slice_type] = "slice_type", + [sym_array_type] = "array_type", + [sym_map_type] = "map_type", + [sym_chan_type] = "chan_type", + [sym_func_type] = "func_type", + [sym_generic_type] = "generic_type", + [sym_struct_type] = "struct_type", + [sym_interface_type] = "interface_type", + [sym_type_args] = "type_args", + [sym_type_params] = "type_params", + [sym_type_param] = "type_param", + [sym_function_declaration] = "function_declaration", + [sym_receiver] = "receiver", + [sym_param_list] = "param_list", + [sym_param_decl] = "param_decl", + [sym_type_declaration] = "type_declaration", + [sym_const_declaration] = "const_declaration", + [sym_const_spec] = "const_spec", + [sym_var_declaration] = "var_declaration", + [sym_var_spec] = "var_spec", + [sym__stmt] = "_stmt", + [sym_block] = "block", + [sym_expr_stmt] = "expr_stmt", + [sym_return_stmt] = "return_stmt", + [sym_expr_list] = "expr_list", + [sym_if_stmt] = "if_stmt", + [sym_short_var_decl] = "short_var_decl", + [sym_assignment_stmt] = "assignment_stmt", + [sym_for_stmt] = "for_stmt", + [sym_field_decl] = "field_decl", + [sym_method_spec] = "method_spec", + [sym__literal] = "_literal", + [sym_int_literal] = "int_literal", + [sym_string_literal] = "string_literal", + [sym_rune_literal] = "rune_literal", + [aux_sym_source_file_repeat1] = "source_file_repeat1", + [aux_sym_import_declaration_repeat1] = "import_declaration_repeat1", + [aux_sym_enum_declaration_repeat1] = "enum_declaration_repeat1", + [aux_sym_enum_variant_repeat1] = "enum_variant_repeat1", + [aux_sym_enum_variant_repeat2] = "enum_variant_repeat2", + [aux_sym_match_expression_repeat1] = "match_expression_repeat1", + [aux_sym_variant_match_repeat1] = "variant_match_repeat1", + [aux_sym_lambda_expression_repeat1] = "lambda_expression_repeat1", + [aux_sym_call_expr_repeat1] = "call_expr_repeat1", + [aux_sym_composite_literal_repeat1] = "composite_literal_repeat1", + [aux_sym_struct_type_repeat1] = "struct_type_repeat1", + [aux_sym_interface_type_repeat1] = "interface_type_repeat1", + [aux_sym_type_params_repeat1] = "type_params_repeat1", + [aux_sym_param_list_repeat1] = "param_list_repeat1", + [aux_sym_const_declaration_repeat1] = "const_declaration_repeat1", + [aux_sym_var_declaration_repeat1] = "var_declaration_repeat1", + [aux_sym_block_repeat1] = "block_repeat1", + [aux_sym_string_literal_repeat1] = "string_literal_repeat1", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym_identifier] = sym_identifier, + [aux_sym_comment_token1] = aux_sym_comment_token1, + [aux_sym_comment_token2] = aux_sym_comment_token2, + [anon_sym_package] = anon_sym_package, + [anon_sym_import] = anon_sym_import, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_enum] = anon_sym_enum, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_match] = anon_sym_match, + [anon_sym_if] = anon_sym_if, + [anon_sym_EQ_GT] = anon_sym_EQ_GT, + [anon_sym__] = anon_sym__, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_BANG] = anon_sym_BANG, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_AMP] = anon_sym_AMP, + [anon_sym_LT_DASH] = anon_sym_LT_DASH, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, + [anon_sym_QMARK_QMARK] = anon_sym_QMARK_QMARK, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_LT_LT] = anon_sym_LT_LT, + [anon_sym_GT_GT] = anon_sym_GT_GT, + [anon_sym_AMP_CARET] = anon_sym_AMP_CARET, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_QMARK] = anon_sym_QMARK, + [anon_sym_QMARK_DOT] = anon_sym_QMARK_DOT, + [anon_sym_func] = anon_sym_func, + [anon_sym_map] = anon_sym_map, + [anon_sym_chan] = anon_sym_chan, + [anon_sym_struct] = anon_sym_struct, + [anon_sym_interface] = anon_sym_interface, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, + [anon_sym_type] = anon_sym_type, + [anon_sym_const] = anon_sym_const, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_var] = anon_sym_var, + [anon_sym_return] = anon_sym_return, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym_else] = anon_sym_else, + [anon_sym_COLON_EQ] = anon_sym_COLON_EQ, + [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, + [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, + [anon_sym_STAR_EQ] = anon_sym_STAR_EQ, + [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, + [anon_sym_for] = anon_sym_for, + [anon_sym_true] = anon_sym_true, + [anon_sym_false] = anon_sym_false, + [anon_sym_nil] = anon_sym_nil, + [aux_sym_int_literal_token1] = aux_sym_int_literal_token1, + [aux_sym_int_literal_token2] = aux_sym_int_literal_token2, + [aux_sym_int_literal_token3] = aux_sym_int_literal_token3, + [aux_sym_int_literal_token4] = aux_sym_int_literal_token4, + [sym_float_literal] = sym_float_literal, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym_string_literal_token1] = aux_sym_string_literal_token1, + [aux_sym_string_literal_token2] = aux_sym_string_literal_token2, + [aux_sym_string_literal_token3] = aux_sym_string_literal_token3, + [anon_sym_SQUOTE] = anon_sym_SQUOTE, + [aux_sym_rune_literal_token1] = aux_sym_rune_literal_token1, + [sym_source_file] = sym_source_file, + [sym__item] = sym__item, + [sym_comment] = sym_comment, + [sym_package_clause] = sym_package_clause, + [sym_import_declaration] = sym_import_declaration, + [sym_import_spec] = sym_import_spec, + [sym_enum_declaration] = sym_enum_declaration, + [sym_enum_variant] = sym_enum_variant, + [sym_variant_field] = sym_variant_field, + [sym_match_expression] = sym_match_expression, + [sym_match_arm] = sym_match_arm, + [sym_match_pattern] = sym_match_pattern, + [sym_variant_match] = sym_variant_match, + [sym_lambda_expression] = sym_lambda_expression, + [sym_lambda_param] = sym_lambda_param, + [sym__expr] = sym__expr, + [sym_parenthesized_expr] = sym_parenthesized_expr, + [sym_unary_expr] = sym_unary_expr, + [sym_binary_expr] = sym_binary_expr, + [sym_call_expr] = sym_call_expr, + [sym_selector_expr] = sym_selector_expr, + [sym_index_expr] = sym_index_expr, + [sym_error_propagation] = sym_error_propagation, + [sym_safe_navigation] = sym_safe_navigation, + [sym_composite_literal] = sym_composite_literal, + [sym_keyed_element] = sym_keyed_element, + [sym_func_literal] = sym_func_literal, + [sym__type_expr] = sym__type_expr, + [sym_qualified_type] = sym_qualified_type, + [sym_pointer_type] = sym_pointer_type, + [sym_slice_type] = sym_slice_type, + [sym_array_type] = sym_array_type, + [sym_map_type] = sym_map_type, + [sym_chan_type] = sym_chan_type, + [sym_func_type] = sym_func_type, + [sym_generic_type] = sym_generic_type, + [sym_struct_type] = sym_struct_type, + [sym_interface_type] = sym_interface_type, + [sym_type_args] = sym_type_args, + [sym_type_params] = sym_type_params, + [sym_type_param] = sym_type_param, + [sym_function_declaration] = sym_function_declaration, + [sym_receiver] = sym_receiver, + [sym_param_list] = sym_param_list, + [sym_param_decl] = sym_param_decl, + [sym_type_declaration] = sym_type_declaration, + [sym_const_declaration] = sym_const_declaration, + [sym_const_spec] = sym_const_spec, + [sym_var_declaration] = sym_var_declaration, + [sym_var_spec] = sym_var_spec, + [sym__stmt] = sym__stmt, + [sym_block] = sym_block, + [sym_expr_stmt] = sym_expr_stmt, + [sym_return_stmt] = sym_return_stmt, + [sym_expr_list] = sym_expr_list, + [sym_if_stmt] = sym_if_stmt, + [sym_short_var_decl] = sym_short_var_decl, + [sym_assignment_stmt] = sym_assignment_stmt, + [sym_for_stmt] = sym_for_stmt, + [sym_field_decl] = sym_field_decl, + [sym_method_spec] = sym_method_spec, + [sym__literal] = sym__literal, + [sym_int_literal] = sym_int_literal, + [sym_string_literal] = sym_string_literal, + [sym_rune_literal] = sym_rune_literal, + [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, + [aux_sym_import_declaration_repeat1] = aux_sym_import_declaration_repeat1, + [aux_sym_enum_declaration_repeat1] = aux_sym_enum_declaration_repeat1, + [aux_sym_enum_variant_repeat1] = aux_sym_enum_variant_repeat1, + [aux_sym_enum_variant_repeat2] = aux_sym_enum_variant_repeat2, + [aux_sym_match_expression_repeat1] = aux_sym_match_expression_repeat1, + [aux_sym_variant_match_repeat1] = aux_sym_variant_match_repeat1, + [aux_sym_lambda_expression_repeat1] = aux_sym_lambda_expression_repeat1, + [aux_sym_call_expr_repeat1] = aux_sym_call_expr_repeat1, + [aux_sym_composite_literal_repeat1] = aux_sym_composite_literal_repeat1, + [aux_sym_struct_type_repeat1] = aux_sym_struct_type_repeat1, + [aux_sym_interface_type_repeat1] = aux_sym_interface_type_repeat1, + [aux_sym_type_params_repeat1] = aux_sym_type_params_repeat1, + [aux_sym_param_list_repeat1] = aux_sym_param_list_repeat1, + [aux_sym_const_declaration_repeat1] = aux_sym_const_declaration_repeat1, + [aux_sym_var_declaration_repeat1] = aux_sym_var_declaration_repeat1, + [aux_sym_block_repeat1] = aux_sym_block_repeat1, + [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [sym_identifier] = { + .visible = true, + .named = true, + }, + [aux_sym_comment_token1] = { + .visible = false, + .named = false, + }, + [aux_sym_comment_token2] = { + .visible = false, + .named = false, + }, + [anon_sym_package] = { + .visible = true, + .named = false, + }, + [anon_sym_import] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_enum] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_match] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_GT] = { + .visible = true, + .named = false, + }, + [anon_sym__] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK_QMARK] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_func] = { + .visible = true, + .named = false, + }, + [anon_sym_map] = { + .visible = true, + .named = false, + }, + [anon_sym_chan] = { + .visible = true, + .named = false, + }, + [anon_sym_struct] = { + .visible = true, + .named = false, + }, + [anon_sym_interface] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_type] = { + .visible = true, + .named = false, + }, + [anon_sym_const] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_var] = { + .visible = true, + .named = false, + }, + [anon_sym_return] = { + .visible = true, + .named = false, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_true] = { + .visible = true, + .named = false, + }, + [anon_sym_false] = { + .visible = true, + .named = false, + }, + [anon_sym_nil] = { + .visible = true, + .named = false, + }, + [aux_sym_int_literal_token1] = { + .visible = false, + .named = false, + }, + [aux_sym_int_literal_token2] = { + .visible = false, + .named = false, + }, + [aux_sym_int_literal_token3] = { + .visible = false, + .named = false, + }, + [aux_sym_int_literal_token4] = { + .visible = false, + .named = false, + }, + [sym_float_literal] = { + .visible = true, + .named = true, + }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_string_literal_token1] = { + .visible = false, + .named = false, + }, + [aux_sym_string_literal_token2] = { + .visible = false, + .named = false, + }, + [aux_sym_string_literal_token3] = { + .visible = false, + .named = false, + }, + [anon_sym_SQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_rune_literal_token1] = { + .visible = false, + .named = false, + }, + [sym_source_file] = { + .visible = true, + .named = true, + }, + [sym__item] = { + .visible = false, + .named = true, + }, + [sym_comment] = { + .visible = true, + .named = true, + }, + [sym_package_clause] = { + .visible = true, + .named = true, + }, + [sym_import_declaration] = { + .visible = true, + .named = true, + }, + [sym_import_spec] = { + .visible = true, + .named = true, + }, + [sym_enum_declaration] = { + .visible = true, + .named = true, + }, + [sym_enum_variant] = { + .visible = true, + .named = true, + }, + [sym_variant_field] = { + .visible = true, + .named = true, + }, + [sym_match_expression] = { + .visible = true, + .named = true, + }, + [sym_match_arm] = { + .visible = true, + .named = true, + }, + [sym_match_pattern] = { + .visible = true, + .named = true, + }, + [sym_variant_match] = { + .visible = true, + .named = true, + }, + [sym_lambda_expression] = { + .visible = true, + .named = true, + }, + [sym_lambda_param] = { + .visible = true, + .named = true, + }, + [sym__expr] = { + .visible = false, + .named = true, + }, + [sym_parenthesized_expr] = { + .visible = true, + .named = true, + }, + [sym_unary_expr] = { + .visible = true, + .named = true, + }, + [sym_binary_expr] = { + .visible = true, + .named = true, + }, + [sym_call_expr] = { + .visible = true, + .named = true, + }, + [sym_selector_expr] = { + .visible = true, + .named = true, + }, + [sym_index_expr] = { + .visible = true, + .named = true, + }, + [sym_error_propagation] = { + .visible = true, + .named = true, + }, + [sym_safe_navigation] = { + .visible = true, + .named = true, + }, + [sym_composite_literal] = { + .visible = true, + .named = true, + }, + [sym_keyed_element] = { + .visible = true, + .named = true, + }, + [sym_func_literal] = { + .visible = true, + .named = true, + }, + [sym__type_expr] = { + .visible = false, + .named = true, + }, + [sym_qualified_type] = { + .visible = true, + .named = true, + }, + [sym_pointer_type] = { + .visible = true, + .named = true, + }, + [sym_slice_type] = { + .visible = true, + .named = true, + }, + [sym_array_type] = { + .visible = true, + .named = true, + }, + [sym_map_type] = { + .visible = true, + .named = true, + }, + [sym_chan_type] = { + .visible = true, + .named = true, + }, + [sym_func_type] = { + .visible = true, + .named = true, + }, + [sym_generic_type] = { + .visible = true, + .named = true, + }, + [sym_struct_type] = { + .visible = true, + .named = true, + }, + [sym_interface_type] = { + .visible = true, + .named = true, + }, + [sym_type_args] = { + .visible = true, + .named = true, + }, + [sym_type_params] = { + .visible = true, + .named = true, + }, + [sym_type_param] = { + .visible = true, + .named = true, + }, + [sym_function_declaration] = { + .visible = true, + .named = true, + }, + [sym_receiver] = { + .visible = true, + .named = true, + }, + [sym_param_list] = { + .visible = true, + .named = true, + }, + [sym_param_decl] = { + .visible = true, + .named = true, + }, + [sym_type_declaration] = { + .visible = true, + .named = true, + }, + [sym_const_declaration] = { + .visible = true, + .named = true, + }, + [sym_const_spec] = { + .visible = true, + .named = true, + }, + [sym_var_declaration] = { + .visible = true, + .named = true, + }, + [sym_var_spec] = { + .visible = true, + .named = true, + }, + [sym__stmt] = { + .visible = false, + .named = true, + }, + [sym_block] = { + .visible = true, + .named = true, + }, + [sym_expr_stmt] = { + .visible = true, + .named = true, + }, + [sym_return_stmt] = { + .visible = true, + .named = true, + }, + [sym_expr_list] = { + .visible = true, + .named = true, + }, + [sym_if_stmt] = { + .visible = true, + .named = true, + }, + [sym_short_var_decl] = { + .visible = true, + .named = true, + }, + [sym_assignment_stmt] = { + .visible = true, + .named = true, + }, + [sym_for_stmt] = { + .visible = true, + .named = true, + }, + [sym_field_decl] = { + .visible = true, + .named = true, + }, + [sym_method_spec] = { + .visible = true, + .named = true, + }, + [sym__literal] = { + .visible = false, + .named = true, + }, + [sym_int_literal] = { + .visible = true, + .named = true, + }, + [sym_string_literal] = { + .visible = true, + .named = true, + }, + [sym_rune_literal] = { + .visible = true, + .named = true, + }, + [aux_sym_source_file_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_import_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enum_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enum_variant_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enum_variant_repeat2] = { + .visible = false, + .named = false, + }, + [aux_sym_match_expression_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_variant_match_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_lambda_expression_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_call_expr_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_composite_literal_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_struct_type_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_interface_type_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_type_params_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_param_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_const_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_var_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_block_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_string_literal_repeat1] = { + .visible = false, + .named = false, + }, +}; + +enum ts_field_identifiers { + field_name = 1, +}; + +static const char * const ts_field_names[] = { + [0] = NULL, + [field_name] = "name", +}; + +static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { + [1] = {.index = 0, .length = 1}, + [2] = {.index = 1, .length = 1}, + [3] = {.index = 2, .length = 1}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_name, 1}, + [1] = + {field_name, 0}, + [2] = + {field_name, 2}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + 0, +}; + +static const TSStateId ts_primary_state_ids[STATE_COUNT] = { + [0] = 0, + [1] = 1, + [2] = 2, + [3] = 3, + [4] = 4, + [5] = 2, + [6] = 4, + [7] = 2, + [8] = 4, + [9] = 9, + [10] = 10, + [11] = 11, + [12] = 12, + [13] = 13, + [14] = 14, + [15] = 15, + [16] = 16, + [17] = 17, + [18] = 18, + [19] = 19, + [20] = 20, + [21] = 21, + [22] = 22, + [23] = 23, + [24] = 24, + [25] = 25, + [26] = 26, + [27] = 27, + [28] = 28, + [29] = 29, + [30] = 30, + [31] = 31, + [32] = 32, + [33] = 33, + [34] = 34, + [35] = 35, + [36] = 36, + [37] = 37, + [38] = 38, + [39] = 39, + [40] = 40, + [41] = 41, + [42] = 42, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 46, + [47] = 47, + [48] = 48, + [49] = 11, + [50] = 50, + [51] = 51, + [52] = 52, + [53] = 17, + [54] = 13, + [55] = 43, + [56] = 52, + [57] = 45, + [58] = 44, + [59] = 46, + [60] = 48, + [61] = 50, + [62] = 51, + [63] = 47, + [64] = 64, + [65] = 65, + [66] = 36, + [67] = 67, + [68] = 68, + [69] = 41, + [70] = 70, + [71] = 71, + [72] = 39, + [73] = 23, + [74] = 28, + [75] = 12, + [76] = 40, + [77] = 20, + [78] = 21, + [79] = 22, + [80] = 24, + [81] = 81, + [82] = 25, + [83] = 26, + [84] = 27, + [85] = 19, + [86] = 29, + [87] = 30, + [88] = 88, + [89] = 31, + [90] = 32, + [91] = 33, + [92] = 34, + [93] = 35, + [94] = 67, + [95] = 37, + [96] = 9, + [97] = 97, + [98] = 88, + [99] = 99, + [100] = 38, + [101] = 81, + [102] = 67, + [103] = 88, + [104] = 65, + [105] = 71, + [106] = 67, + [107] = 71, + [108] = 81, + [109] = 88, + [110] = 81, + [111] = 70, + [112] = 112, + [113] = 10, + [114] = 14, + [115] = 65, + [116] = 15, + [117] = 65, + [118] = 16, + [119] = 71, + [120] = 120, + [121] = 121, + [122] = 122, + [123] = 123, + [124] = 124, + [125] = 124, + [126] = 122, + [127] = 127, + [128] = 120, + [129] = 120, + [130] = 130, + [131] = 120, + [132] = 121, + [133] = 127, + [134] = 121, + [135] = 120, + [136] = 136, + [137] = 137, + [138] = 138, + [139] = 139, + [140] = 140, + [141] = 141, + [142] = 142, + [143] = 136, + [144] = 144, + [145] = 145, + [146] = 146, + [147] = 137, + [148] = 148, + [149] = 149, + [150] = 150, + [151] = 139, + [152] = 140, + [153] = 142, + [154] = 148, + [155] = 144, + [156] = 145, + [157] = 149, + [158] = 150, + [159] = 159, + [160] = 160, + [161] = 139, + [162] = 140, + [163] = 142, + [164] = 136, + [165] = 144, + [166] = 145, + [167] = 139, + [168] = 140, + [169] = 142, + [170] = 136, + [171] = 144, + [172] = 145, + [173] = 159, + [174] = 174, + [175] = 148, + [176] = 149, + [177] = 150, + [178] = 178, + [179] = 148, + [180] = 149, + [181] = 150, + [182] = 149, + [183] = 183, + [184] = 146, + [185] = 185, + [186] = 150, + [187] = 187, + [188] = 188, + [189] = 189, + [190] = 37, + [191] = 38, + [192] = 192, + [193] = 193, + [194] = 194, + [195] = 195, + [196] = 196, + [197] = 197, + [198] = 188, + [199] = 199, + [200] = 200, + [201] = 201, + [202] = 202, + [203] = 203, + [204] = 204, + [205] = 205, + [206] = 206, + [207] = 207, + [208] = 208, + [209] = 209, + [210] = 210, + [211] = 211, + [212] = 212, + [213] = 213, + [214] = 214, + [215] = 11, + [216] = 43, + [217] = 11, + [218] = 50, + [219] = 44, + [220] = 52, + [221] = 48, + [222] = 47, + [223] = 45, + [224] = 46, + [225] = 51, + [226] = 226, + [227] = 226, + [228] = 228, + [229] = 229, + [230] = 230, + [231] = 231, + [232] = 232, + [233] = 232, + [234] = 187, + [235] = 235, + [236] = 236, + [237] = 237, + [238] = 238, + [239] = 11, + [240] = 240, + [241] = 241, + [242] = 44, + [243] = 243, + [244] = 46, + [245] = 48, + [246] = 47, + [247] = 51, + [248] = 50, + [249] = 249, + [250] = 250, + [251] = 251, + [252] = 243, + [253] = 249, + [254] = 43, + [255] = 250, + [256] = 256, + [257] = 249, + [258] = 256, + [259] = 52, + [260] = 249, + [261] = 45, + [262] = 249, + [263] = 263, + [264] = 264, + [265] = 229, + [266] = 266, + [267] = 267, + [268] = 268, + [269] = 269, + [270] = 270, + [271] = 271, + [272] = 272, + [273] = 273, + [274] = 274, + [275] = 275, + [276] = 276, + [277] = 277, + [278] = 278, + [279] = 279, + [280] = 280, + [281] = 281, + [282] = 282, + [283] = 283, + [284] = 284, + [285] = 285, + [286] = 286, + [287] = 287, + [288] = 288, + [289] = 289, + [290] = 290, + [291] = 291, + [292] = 292, + [293] = 293, + [294] = 294, + [295] = 229, + [296] = 296, + [297] = 297, + [298] = 298, + [299] = 229, + [300] = 298, + [301] = 229, + [302] = 238, + [303] = 287, + [304] = 304, + [305] = 304, + [306] = 306, + [307] = 307, + [308] = 308, + [309] = 287, + [310] = 310, + [311] = 310, + [312] = 312, + [313] = 313, + [314] = 314, + [315] = 315, + [316] = 315, + [317] = 317, + [318] = 318, + [319] = 319, + [320] = 320, + [321] = 321, + [322] = 322, + [323] = 323, + [324] = 324, + [325] = 325, + [326] = 326, + [327] = 315, + [328] = 319, + [329] = 323, + [330] = 330, + [331] = 331, + [332] = 332, + [333] = 333, + [334] = 322, + [335] = 330, + [336] = 324, + [337] = 337, + [338] = 320, + [339] = 326, + [340] = 332, + [341] = 341, + [342] = 342, + [343] = 343, + [344] = 344, + [345] = 318, + [346] = 321, + [347] = 322, + [348] = 324, + [349] = 326, + [350] = 320, + [351] = 319, + [352] = 323, + [353] = 330, + [354] = 354, + [355] = 332, + [356] = 318, + [357] = 321, + [358] = 322, + [359] = 324, + [360] = 326, + [361] = 315, + [362] = 319, + [363] = 323, + [364] = 330, + [365] = 332, + [366] = 318, + [367] = 319, + [368] = 330, + [369] = 330, + [370] = 321, + [371] = 320, + [372] = 326, + [373] = 319, + [374] = 318, + [375] = 322, + [376] = 324, + [377] = 377, + [378] = 320, + [379] = 323, + [380] = 332, + [381] = 321, + [382] = 315, + [383] = 383, + [384] = 384, + [385] = 385, + [386] = 386, + [387] = 387, + [388] = 388, + [389] = 389, + [390] = 384, + [391] = 391, + [392] = 392, + [393] = 393, + [394] = 394, + [395] = 395, + [396] = 396, + [397] = 385, + [398] = 398, + [399] = 399, + [400] = 400, + [401] = 401, + [402] = 402, + [403] = 403, + [404] = 404, + [405] = 405, + [406] = 406, + [407] = 407, + [408] = 199, + [409] = 409, + [410] = 410, + [411] = 411, + [412] = 412, + [413] = 413, + [414] = 200, + [415] = 415, + [416] = 416, + [417] = 417, + [418] = 418, + [419] = 419, + [420] = 420, + [421] = 421, + [422] = 422, + [423] = 423, + [424] = 424, + [425] = 425, + [426] = 426, + [427] = 427, + [428] = 428, + [429] = 429, + [430] = 430, + [431] = 431, + [432] = 432, + [433] = 433, + [434] = 434, + [435] = 435, + [436] = 436, + [437] = 437, + [438] = 438, + [439] = 439, + [440] = 440, + [441] = 441, + [442] = 442, + [443] = 285, + [444] = 286, + [445] = 445, + [446] = 446, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 456, + [457] = 448, + [458] = 458, + [459] = 459, + [460] = 460, + [461] = 461, + [462] = 462, + [463] = 463, + [464] = 464, + [465] = 458, + [466] = 466, + [467] = 467, + [468] = 468, + [469] = 469, + [470] = 470, + [471] = 471, + [472] = 472, + [473] = 473, + [474] = 474, + [475] = 475, + [476] = 476, + [477] = 477, + [478] = 478, + [479] = 479, + [480] = 480, + [481] = 481, + [482] = 482, + [483] = 483, + [484] = 484, + [485] = 485, + [486] = 486, + [487] = 487, + [488] = 477, + [489] = 489, + [490] = 490, + [491] = 491, + [492] = 492, + [493] = 493, + [494] = 494, + [495] = 495, + [496] = 496, + [497] = 497, + [498] = 481, + [499] = 485, + [500] = 500, + [501] = 477, + [502] = 502, + [503] = 503, + [504] = 504, + [505] = 505, + [506] = 506, + [507] = 490, + [508] = 508, + [509] = 485, + [510] = 477, + [511] = 490, + [512] = 493, + [513] = 513, + [514] = 514, + [515] = 515, + [516] = 482, + [517] = 517, + [518] = 518, + [519] = 519, + [520] = 520, + [521] = 495, + [522] = 482, + [523] = 519, + [524] = 482, + [525] = 519, + [526] = 526, + [527] = 485, + [528] = 497, + [529] = 519, + [530] = 530, + [531] = 490, + [532] = 532, + [533] = 533, + [534] = 534, + [535] = 533, + [536] = 536, + [537] = 537, + [538] = 538, + [539] = 539, + [540] = 540, + [541] = 541, + [542] = 533, + [543] = 543, + [544] = 544, + [545] = 545, + [546] = 546, + [547] = 547, + [548] = 548, + [549] = 549, + [550] = 550, + [551] = 551, + [552] = 552, + [553] = 553, + [554] = 554, + [555] = 555, + [556] = 449, + [557] = 557, + [558] = 533, + [559] = 559, + [560] = 560, + [561] = 561, + [562] = 550, + [563] = 533, + [564] = 549, + [565] = 565, + [566] = 549, + [567] = 480, + [568] = 568, + [569] = 569, + [570] = 570, + [571] = 571, + [572] = 572, + [573] = 573, + [574] = 574, + [575] = 573, + [576] = 576, + [577] = 577, + [578] = 578, + [579] = 579, + [580] = 568, + [581] = 581, + [582] = 578, + [583] = 572, + [584] = 584, + [585] = 585, + [586] = 586, + [587] = 574, + [588] = 572, + [589] = 581, + [590] = 571, + [591] = 591, + [592] = 592, + [593] = 593, + [594] = 571, + [595] = 595, + [596] = 568, + [597] = 597, + [598] = 598, + [599] = 569, + [600] = 600, + [601] = 601, + [602] = 602, + [603] = 603, + [604] = 604, + [605] = 600, + [606] = 581, + [607] = 607, + [608] = 571, + [609] = 573, + [610] = 568, + [611] = 611, + [612] = 573, + [613] = 613, + [614] = 571, + [615] = 615, + [616] = 579, + [617] = 600, + [618] = 581, + [619] = 572, + [620] = 600, + [621] = 592, + [622] = 600, + [623] = 572, + [624] = 624, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(26); + ADVANCE_MAP( + '!', 46, + '"', 92, + '%', 67, + '&', 50, + '\'', 100, + '(', 31, + ')', 32, + '*', 48, + '+', 64, + ',', 37, + '-', 44, + '.', 34, + '/', 66, + '0', 88, + ':', 39, + ';', 78, + '<', 58, + '=', 77, + '>', 61, + '?', 73, + '[', 71, + '\\', 23, + ']', 72, + '^', 52, + '`', 17, + '{', 35, + '|', 42, + '}', 36, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(0); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(89); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 1: + if (lookahead == '\n') SKIP(1); + if (lookahead == '"') ADVANCE(92); + if (lookahead == '/') ADVANCE(93); + if (lookahead == '\\') ADVANCE(23); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(96); + if (lookahead != 0) ADVANCE(97); + END_STATE(); + case 2: + ADVANCE_MAP( + '!', 46, + '"', 92, + '%', 67, + '&', 50, + '\'', 100, + '(', 31, + '*', 48, + '+', 64, + ',', 37, + '-', 44, + '.', 33, + '/', 66, + '0', 88, + ':', 15, + '<', 58, + '=', 77, + '>', 61, + '?', 73, + '[', 71, + '^', 52, + '`', 17, + '{', 35, + '|', 42, + '}', 36, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(2); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(89); + if (('A' <= lookahead && lookahead <= 'Z') || + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 3: + ADVANCE_MAP( + '!', 13, + '%', 67, + '&', 50, + '(', 31, + ')', 32, + '*', 48, + '+', 64, + ',', 37, + '-', 44, + '.', 33, + '/', 66, + ':', 15, + ';', 78, + '<', 59, + '=', 77, + '>', 61, + '?', 73, + '[', 71, + '^', 52, + '{', 35, + '|', 42, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(3); + END_STATE(); + case 4: + ADVANCE_MAP( + '!', 13, + '%', 67, + '&', 50, + '(', 31, + ')', 32, + '*', 47, + '+', 63, + ',', 37, + '-', 43, + '.', 33, + '/', 65, + ':', 38, + '<', 59, + '=', 16, + '>', 61, + '?', 73, + '[', 71, + '^', 52, + '{', 35, + '|', 42, + '}', 36, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(4); + END_STATE(); + case 5: + if (lookahead == ')') ADVANCE(32); + if (lookahead == ',') ADVANCE(37); + if (lookahead == '/') ADVANCE(6); + if (lookahead == ':') ADVANCE(38); + if (lookahead == '|') ADVANCE(41); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(5); + END_STATE(); + case 6: + if (lookahead == '*') ADVANCE(9); + if (lookahead == '/') ADVANCE(28); + END_STATE(); + case 7: + if (lookahead == '*') ADVANCE(9); + if (lookahead == '/') ADVANCE(28); + if (lookahead == '=') ADVANCE(83); + END_STATE(); + case 8: + if (lookahead == '*') ADVANCE(8); + if (lookahead == '/') ADVANCE(29); + if (lookahead != 0) ADVANCE(9); + END_STATE(); + case 9: + if (lookahead == '*') ADVANCE(8); + if (lookahead != 0) ADVANCE(9); + END_STATE(); + case 10: + if (lookahead == '-') ADVANCE(51); + END_STATE(); + case 11: + if (lookahead == '.') ADVANCE(75); + END_STATE(); + case 12: + if (lookahead == '/') ADVANCE(102); + if (lookahead == '\\') ADVANCE(23); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(103); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(101); + END_STATE(); + case 13: + if (lookahead == '=') ADVANCE(57); + END_STATE(); + case 14: + if (lookahead == '=') ADVANCE(80); + END_STATE(); + case 15: + if (lookahead == '=') ADVANCE(79); + END_STATE(); + case 16: + if (lookahead == '=') ADVANCE(56); + if (lookahead == '>') ADVANCE(40); + END_STATE(); + case 17: + if (lookahead == '`') ADVANCE(99); + if (lookahead != 0) ADVANCE(17); + END_STATE(); + case 18: + if (lookahead == '+' || + lookahead == '-') ADVANCE(21); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(91); + END_STATE(); + case 19: + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(87); + END_STATE(); + case 20: + if (('0' <= lookahead && lookahead <= '7') || + lookahead == '_') ADVANCE(86); + END_STATE(); + case 21: + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(91); + END_STATE(); + case 22: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(85); + END_STATE(); + case 23: + if (lookahead != 0 && + lookahead != '\n') ADVANCE(98); + END_STATE(); + case 24: + if (eof) ADVANCE(26); + ADVANCE_MAP( + '!', 45, + '"', 92, + '&', 49, + '\'', 100, + '(', 31, + ')', 32, + '*', 48, + '+', 14, + ',', 37, + '-', 44, + '.', 33, + '/', 7, + '0', 88, + ':', 15, + ';', 78, + '<', 10, + '=', 76, + '[', 71, + ']', 72, + '^', 52, + '`', 17, + '{', 35, + '|', 41, + '}', 36, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(24); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(89); + if (('A' <= lookahead && lookahead <= 'Z') || + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 25: + if (eof) ADVANCE(26); + ADVANCE_MAP( + '!', 13, + '"', 92, + '%', 67, + '&', 50, + '\'', 100, + '(', 31, + ')', 32, + '*', 48, + '+', 64, + ',', 37, + '-', 44, + '.', 33, + '/', 66, + '0', 88, + ':', 39, + ';', 78, + '<', 59, + '=', 77, + '>', 61, + '?', 73, + '[', 71, + ']', 72, + '^', 52, + '`', 17, + '{', 35, + '|', 42, + '}', 36, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(25); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(89); + if (('A' <= lookahead && lookahead <= 'Z') || + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 26: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 27: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead == '"' || + lookahead == '\\') ADVANCE(28); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(27); + END_STATE(); + case 28: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(28); + END_STATE(); + case 29: + ACCEPT_TOKEN(aux_sym_comment_token2); + END_STATE(); + case 30: + ACCEPT_TOKEN(aux_sym_comment_token2); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(97); + END_STATE(); + case 31: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 32: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 33: + ACCEPT_TOKEN(anon_sym_DOT); + END_STATE(); + case 34: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(11); + END_STATE(); + case 35: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 37: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 38: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 39: + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == '=') ADVANCE(79); + END_STATE(); + case 40: + ACCEPT_TOKEN(anon_sym_EQ_GT); + END_STATE(); + case 41: + ACCEPT_TOKEN(anon_sym_PIPE); + END_STATE(); + case 42: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(53); + END_STATE(); + case 43: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 44: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(81); + END_STATE(); + case 45: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 46: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(57); + END_STATE(); + case 47: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(82); + END_STATE(); + case 49: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(54); + if (lookahead == '^') ADVANCE(70); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_LT_DASH); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 55: + ACCEPT_TOKEN(anon_sym_QMARK_QMARK); + END_STATE(); + case 56: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 57: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 58: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '-') ADVANCE(51); + if (lookahead == '<') ADVANCE(68); + if (lookahead == '=') ADVANCE(60); + END_STATE(); + case 59: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(68); + if (lookahead == '=') ADVANCE(60); + END_STATE(); + case 60: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 61: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(62); + if (lookahead == '>') ADVANCE(69); + END_STATE(); + case 62: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(80); + END_STATE(); + case 65: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(9); + if (lookahead == '/') ADVANCE(28); + END_STATE(); + case 66: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(9); + if (lookahead == '/') ADVANCE(28); + if (lookahead == '=') ADVANCE(83); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_LT_LT); + END_STATE(); + case 69: + ACCEPT_TOKEN(anon_sym_GT_GT); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_AMP_CARET); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 73: + ACCEPT_TOKEN(anon_sym_QMARK); + if (lookahead == '.') ADVANCE(74); + if (lookahead == '?') ADVANCE(55); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_QMARK_DOT); + END_STATE(); + case 75: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 77: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(56); + if (lookahead == '>') ADVANCE(40); + END_STATE(); + case 78: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 79: + ACCEPT_TOKEN(anon_sym_COLON_EQ); + END_STATE(); + case 80: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 81: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 82: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 84: + ACCEPT_TOKEN(sym_identifier); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + END_STATE(); + case 85: + ACCEPT_TOKEN(aux_sym_int_literal_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(85); + END_STATE(); + case 86: + ACCEPT_TOKEN(aux_sym_int_literal_token2); + if (('0' <= lookahead && lookahead <= '7') || + lookahead == '_') ADVANCE(86); + END_STATE(); + case 87: + ACCEPT_TOKEN(aux_sym_int_literal_token3); + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(87); + END_STATE(); + case 88: + ACCEPT_TOKEN(aux_sym_int_literal_token4); + if (lookahead == '.') ADVANCE(90); + if (lookahead == 'B' || + lookahead == 'b') ADVANCE(19); + if (lookahead == 'O' || + lookahead == 'o') ADVANCE(20); + if (lookahead == 'X' || + lookahead == 'x') ADVANCE(22); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(89); + END_STATE(); + case 89: + ACCEPT_TOKEN(aux_sym_int_literal_token4); + if (lookahead == '.') ADVANCE(90); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(89); + END_STATE(); + case 90: + ACCEPT_TOKEN(sym_float_literal); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(18); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(90); + END_STATE(); + case 91: + ACCEPT_TOKEN(sym_float_literal); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(91); + END_STATE(); + case 92: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 93: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(95); + if (lookahead == '/') ADVANCE(27); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(97); + END_STATE(); + case 94: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(94); + if (lookahead == '/') ADVANCE(30); + if (lookahead == '\n' || + lookahead == '"' || + lookahead == '\\') ADVANCE(9); + if (lookahead != 0) ADVANCE(95); + END_STATE(); + case 95: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(94); + if (lookahead == '\n' || + lookahead == '"' || + lookahead == '\\') ADVANCE(9); + if (lookahead != 0) ADVANCE(95); + END_STATE(); + case 96: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '/') ADVANCE(93); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(96); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != '"' && + lookahead != '\\') ADVANCE(97); + END_STATE(); + case 97: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(97); + END_STATE(); + case 98: + ACCEPT_TOKEN(aux_sym_string_literal_token2); + END_STATE(); + case 99: + ACCEPT_TOKEN(aux_sym_string_literal_token3); + END_STATE(); + case 100: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 101: + ACCEPT_TOKEN(aux_sym_rune_literal_token1); + END_STATE(); + case 102: + ACCEPT_TOKEN(aux_sym_rune_literal_token1); + if (lookahead == '*') ADVANCE(9); + if (lookahead == '/') ADVANCE(28); + END_STATE(); + case 103: + ACCEPT_TOKEN(aux_sym_rune_literal_token1); + if (lookahead == '/') ADVANCE(102); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(103); + if (lookahead != 0 && + lookahead != '\'' && + lookahead != '\\') ADVANCE(101); + END_STATE(); + default: + return false; + } +} + +static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + ADVANCE_MAP( + '_', 1, + 'c', 2, + 'e', 3, + 'f', 4, + 'i', 5, + 'm', 6, + 'n', 7, + 'p', 8, + 'r', 9, + 's', 10, + 't', 11, + 'v', 12, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(0); + END_STATE(); + case 1: + ACCEPT_TOKEN(anon_sym__); + END_STATE(); + case 2: + if (lookahead == 'h') ADVANCE(13); + if (lookahead == 'o') ADVANCE(14); + END_STATE(); + case 3: + if (lookahead == 'l') ADVANCE(15); + if (lookahead == 'n') ADVANCE(16); + END_STATE(); + case 4: + if (lookahead == 'a') ADVANCE(17); + if (lookahead == 'o') ADVANCE(18); + if (lookahead == 'u') ADVANCE(19); + END_STATE(); + case 5: + if (lookahead == 'f') ADVANCE(20); + if (lookahead == 'm') ADVANCE(21); + if (lookahead == 'n') ADVANCE(22); + END_STATE(); + case 6: + if (lookahead == 'a') ADVANCE(23); + END_STATE(); + case 7: + if (lookahead == 'i') ADVANCE(24); + END_STATE(); + case 8: + if (lookahead == 'a') ADVANCE(25); + END_STATE(); + case 9: + if (lookahead == 'e') ADVANCE(26); + END_STATE(); + case 10: + if (lookahead == 't') ADVANCE(27); + END_STATE(); + case 11: + if (lookahead == 'r') ADVANCE(28); + if (lookahead == 'y') ADVANCE(29); + END_STATE(); + case 12: + if (lookahead == 'a') ADVANCE(30); + END_STATE(); + case 13: + if (lookahead == 'a') ADVANCE(31); + END_STATE(); + case 14: + if (lookahead == 'n') ADVANCE(32); + END_STATE(); + case 15: + if (lookahead == 's') ADVANCE(33); + END_STATE(); + case 16: + if (lookahead == 'u') ADVANCE(34); + END_STATE(); + case 17: + if (lookahead == 'l') ADVANCE(35); + END_STATE(); + case 18: + if (lookahead == 'r') ADVANCE(36); + END_STATE(); + case 19: + if (lookahead == 'n') ADVANCE(37); + END_STATE(); + case 20: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 21: + if (lookahead == 'p') ADVANCE(38); + END_STATE(); + case 22: + if (lookahead == 't') ADVANCE(39); + END_STATE(); + case 23: + if (lookahead == 'p') ADVANCE(40); + if (lookahead == 't') ADVANCE(41); + END_STATE(); + case 24: + if (lookahead == 'l') ADVANCE(42); + END_STATE(); + case 25: + if (lookahead == 'c') ADVANCE(43); + END_STATE(); + case 26: + if (lookahead == 't') ADVANCE(44); + END_STATE(); + case 27: + if (lookahead == 'r') ADVANCE(45); + END_STATE(); + case 28: + if (lookahead == 'u') ADVANCE(46); + END_STATE(); + case 29: + if (lookahead == 'p') ADVANCE(47); + END_STATE(); + case 30: + if (lookahead == 'r') ADVANCE(48); + END_STATE(); + case 31: + if (lookahead == 'n') ADVANCE(49); + END_STATE(); + case 32: + if (lookahead == 's') ADVANCE(50); + END_STATE(); + case 33: + if (lookahead == 'e') ADVANCE(51); + END_STATE(); + case 34: + if (lookahead == 'm') ADVANCE(52); + END_STATE(); + case 35: + if (lookahead == 's') ADVANCE(53); + END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 37: + if (lookahead == 'c') ADVANCE(54); + END_STATE(); + case 38: + if (lookahead == 'o') ADVANCE(55); + END_STATE(); + case 39: + if (lookahead == 'e') ADVANCE(56); + END_STATE(); + case 40: + ACCEPT_TOKEN(anon_sym_map); + END_STATE(); + case 41: + if (lookahead == 'c') ADVANCE(57); + END_STATE(); + case 42: + ACCEPT_TOKEN(anon_sym_nil); + END_STATE(); + case 43: + if (lookahead == 'k') ADVANCE(58); + END_STATE(); + case 44: + if (lookahead == 'u') ADVANCE(59); + END_STATE(); + case 45: + if (lookahead == 'u') ADVANCE(60); + END_STATE(); + case 46: + if (lookahead == 'e') ADVANCE(61); + END_STATE(); + case 47: + if (lookahead == 'e') ADVANCE(62); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_var); + END_STATE(); + case 49: + ACCEPT_TOKEN(anon_sym_chan); + END_STATE(); + case 50: + if (lookahead == 't') ADVANCE(63); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_enum); + END_STATE(); + case 53: + if (lookahead == 'e') ADVANCE(64); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_func); + END_STATE(); + case 55: + if (lookahead == 'r') ADVANCE(65); + END_STATE(); + case 56: + if (lookahead == 'r') ADVANCE(66); + END_STATE(); + case 57: + if (lookahead == 'h') ADVANCE(67); + END_STATE(); + case 58: + if (lookahead == 'a') ADVANCE(68); + END_STATE(); + case 59: + if (lookahead == 'r') ADVANCE(69); + END_STATE(); + case 60: + if (lookahead == 'c') ADVANCE(70); + END_STATE(); + case 61: + ACCEPT_TOKEN(anon_sym_true); + END_STATE(); + case 62: + ACCEPT_TOKEN(anon_sym_type); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_const); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_false); + END_STATE(); + case 65: + if (lookahead == 't') ADVANCE(71); + END_STATE(); + case 66: + if (lookahead == 'f') ADVANCE(72); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_match); + END_STATE(); + case 68: + if (lookahead == 'g') ADVANCE(73); + END_STATE(); + case 69: + if (lookahead == 'n') ADVANCE(74); + END_STATE(); + case 70: + if (lookahead == 't') ADVANCE(75); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_import); + END_STATE(); + case 72: + if (lookahead == 'a') ADVANCE(76); + END_STATE(); + case 73: + if (lookahead == 'e') ADVANCE(77); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 75: + ACCEPT_TOKEN(anon_sym_struct); + END_STATE(); + case 76: + if (lookahead == 'c') ADVANCE(78); + END_STATE(); + case 77: + ACCEPT_TOKEN(anon_sym_package); + END_STATE(); + case 78: + if (lookahead == 'e') ADVANCE(79); + END_STATE(); + case 79: + ACCEPT_TOKEN(anon_sym_interface); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0}, + [1] = {.lex_state = 0}, + [2] = {.lex_state = 24}, + [3] = {.lex_state = 24}, + [4] = {.lex_state = 24}, + [5] = {.lex_state = 24}, + [6] = {.lex_state = 24}, + [7] = {.lex_state = 24}, + [8] = {.lex_state = 24}, + [9] = {.lex_state = 25}, + [10] = {.lex_state = 25}, + [11] = {.lex_state = 25}, + [12] = {.lex_state = 25}, + [13] = {.lex_state = 25}, + [14] = {.lex_state = 25}, + [15] = {.lex_state = 25}, + [16] = {.lex_state = 25}, + [17] = {.lex_state = 25}, + [18] = {.lex_state = 24}, + [19] = {.lex_state = 25}, + [20] = {.lex_state = 25}, + [21] = {.lex_state = 25}, + [22] = {.lex_state = 25}, + [23] = {.lex_state = 25}, + [24] = {.lex_state = 25}, + [25] = {.lex_state = 25}, + [26] = {.lex_state = 25}, + [27] = {.lex_state = 25}, + [28] = {.lex_state = 25}, + [29] = {.lex_state = 25}, + [30] = {.lex_state = 25}, + [31] = {.lex_state = 25}, + [32] = {.lex_state = 25}, + [33] = {.lex_state = 25}, + [34] = {.lex_state = 25}, + [35] = {.lex_state = 25}, + [36] = {.lex_state = 25}, + [37] = {.lex_state = 25}, + [38] = {.lex_state = 25}, + [39] = {.lex_state = 25}, + [40] = {.lex_state = 25}, + [41] = {.lex_state = 25}, + [42] = {.lex_state = 2}, + [43] = {.lex_state = 25}, + [44] = {.lex_state = 25}, + [45] = {.lex_state = 25}, + [46] = {.lex_state = 25}, + [47] = {.lex_state = 25}, + [48] = {.lex_state = 25}, + [49] = {.lex_state = 2}, + [50] = {.lex_state = 25}, + [51] = {.lex_state = 25}, + [52] = {.lex_state = 25}, + [53] = {.lex_state = 2}, + [54] = {.lex_state = 2}, + [55] = {.lex_state = 2}, + [56] = {.lex_state = 2}, + [57] = {.lex_state = 2}, + [58] = {.lex_state = 2}, + [59] = {.lex_state = 2}, + [60] = {.lex_state = 2}, + [61] = {.lex_state = 2}, + [62] = {.lex_state = 2}, + [63] = {.lex_state = 2}, + [64] = {.lex_state = 24}, + [65] = {.lex_state = 24}, + [66] = {.lex_state = 2}, + [67] = {.lex_state = 24}, + [68] = {.lex_state = 24}, + [69] = {.lex_state = 2}, + [70] = {.lex_state = 24}, + [71] = {.lex_state = 24}, + [72] = {.lex_state = 2}, + [73] = {.lex_state = 2}, + [74] = {.lex_state = 2}, + [75] = {.lex_state = 2}, + [76] = {.lex_state = 2}, + [77] = {.lex_state = 2}, + [78] = {.lex_state = 2}, + [79] = {.lex_state = 2}, + [80] = {.lex_state = 2}, + [81] = {.lex_state = 24}, + [82] = {.lex_state = 2}, + [83] = {.lex_state = 2}, + [84] = {.lex_state = 2}, + [85] = {.lex_state = 2}, + [86] = {.lex_state = 2}, + [87] = {.lex_state = 2}, + [88] = {.lex_state = 24}, + [89] = {.lex_state = 2}, + [90] = {.lex_state = 2}, + [91] = {.lex_state = 2}, + [92] = {.lex_state = 2}, + [93] = {.lex_state = 2}, + [94] = {.lex_state = 24}, + [95] = {.lex_state = 2}, + [96] = {.lex_state = 2}, + [97] = {.lex_state = 24}, + [98] = {.lex_state = 24}, + [99] = {.lex_state = 24}, + [100] = {.lex_state = 2}, + [101] = {.lex_state = 24}, + [102] = {.lex_state = 24}, + [103] = {.lex_state = 24}, + [104] = {.lex_state = 24}, + [105] = {.lex_state = 24}, + [106] = {.lex_state = 24}, + [107] = {.lex_state = 24}, + [108] = {.lex_state = 24}, + [109] = {.lex_state = 24}, + [110] = {.lex_state = 24}, + [111] = {.lex_state = 24}, + [112] = {.lex_state = 24}, + [113] = {.lex_state = 2}, + [114] = {.lex_state = 2}, + [115] = {.lex_state = 24}, + [116] = {.lex_state = 2}, + [117] = {.lex_state = 24}, + [118] = {.lex_state = 2}, + [119] = {.lex_state = 24}, + [120] = {.lex_state = 24}, + [121] = {.lex_state = 24}, + [122] = {.lex_state = 24}, + [123] = {.lex_state = 24}, + [124] = {.lex_state = 24}, + [125] = {.lex_state = 24}, + [126] = {.lex_state = 24}, + [127] = {.lex_state = 24}, + [128] = {.lex_state = 24}, + [129] = {.lex_state = 24}, + [130] = {.lex_state = 24}, + [131] = {.lex_state = 24}, + [132] = {.lex_state = 24}, + [133] = {.lex_state = 24}, + [134] = {.lex_state = 24}, + [135] = {.lex_state = 24}, + [136] = {.lex_state = 24}, + [137] = {.lex_state = 24}, + [138] = {.lex_state = 24}, + [139] = {.lex_state = 24}, + [140] = {.lex_state = 24}, + [141] = {.lex_state = 24}, + [142] = {.lex_state = 24}, + [143] = {.lex_state = 24}, + [144] = {.lex_state = 24}, + [145] = {.lex_state = 24}, + [146] = {.lex_state = 24}, + [147] = {.lex_state = 24}, + [148] = {.lex_state = 24}, + [149] = {.lex_state = 24}, + [150] = {.lex_state = 24}, + [151] = {.lex_state = 24}, + [152] = {.lex_state = 24}, + [153] = {.lex_state = 24}, + [154] = {.lex_state = 24}, + [155] = {.lex_state = 24}, + [156] = {.lex_state = 24}, + [157] = {.lex_state = 24}, + [158] = {.lex_state = 24}, + [159] = {.lex_state = 24}, + [160] = {.lex_state = 24}, + [161] = {.lex_state = 24}, + [162] = {.lex_state = 24}, + [163] = {.lex_state = 24}, + [164] = {.lex_state = 24}, + [165] = {.lex_state = 24}, + [166] = {.lex_state = 24}, + [167] = {.lex_state = 24}, + [168] = {.lex_state = 24}, + [169] = {.lex_state = 24}, + [170] = {.lex_state = 24}, + [171] = {.lex_state = 24}, + [172] = {.lex_state = 24}, + [173] = {.lex_state = 24}, + [174] = {.lex_state = 24}, + [175] = {.lex_state = 24}, + [176] = {.lex_state = 24}, + [177] = {.lex_state = 24}, + [178] = {.lex_state = 24}, + [179] = {.lex_state = 24}, + [180] = {.lex_state = 24}, + [181] = {.lex_state = 24}, + [182] = {.lex_state = 24}, + [183] = {.lex_state = 24}, + [184] = {.lex_state = 24}, + [185] = {.lex_state = 24}, + [186] = {.lex_state = 24}, + [187] = {.lex_state = 0}, + [188] = {.lex_state = 0}, + [189] = {.lex_state = 0}, + [190] = {.lex_state = 24}, + [191] = {.lex_state = 24}, + [192] = {.lex_state = 25}, + [193] = {.lex_state = 25}, + [194] = {.lex_state = 25}, + [195] = {.lex_state = 25}, + [196] = {.lex_state = 25}, + [197] = {.lex_state = 25}, + [198] = {.lex_state = 3}, + [199] = {.lex_state = 24}, + [200] = {.lex_state = 24}, + [201] = {.lex_state = 24}, + [202] = {.lex_state = 24}, + [203] = {.lex_state = 24}, + [204] = {.lex_state = 24}, + [205] = {.lex_state = 24}, + [206] = {.lex_state = 24}, + [207] = {.lex_state = 24}, + [208] = {.lex_state = 24}, + [209] = {.lex_state = 24}, + [210] = {.lex_state = 24}, + [211] = {.lex_state = 24}, + [212] = {.lex_state = 3}, + [213] = {.lex_state = 4}, + [214] = {.lex_state = 4}, + [215] = {.lex_state = 3}, + [216] = {.lex_state = 3}, + [217] = {.lex_state = 25}, + [218] = {.lex_state = 3}, + [219] = {.lex_state = 3}, + [220] = {.lex_state = 3}, + [221] = {.lex_state = 3}, + [222] = {.lex_state = 3}, + [223] = {.lex_state = 3}, + [224] = {.lex_state = 3}, + [225] = {.lex_state = 3}, + [226] = {.lex_state = 25}, + [227] = {.lex_state = 25}, + [228] = {.lex_state = 0}, + [229] = {.lex_state = 0}, + [230] = {.lex_state = 4}, + [231] = {.lex_state = 0}, + [232] = {.lex_state = 25}, + [233] = {.lex_state = 25}, + [234] = {.lex_state = 25}, + [235] = {.lex_state = 0}, + [236] = {.lex_state = 0}, + [237] = {.lex_state = 25}, + [238] = {.lex_state = 0}, + [239] = {.lex_state = 25}, + [240] = {.lex_state = 25}, + [241] = {.lex_state = 25}, + [242] = {.lex_state = 25}, + [243] = {.lex_state = 25}, + [244] = {.lex_state = 25}, + [245] = {.lex_state = 25}, + [246] = {.lex_state = 25}, + [247] = {.lex_state = 25}, + [248] = {.lex_state = 25}, + [249] = {.lex_state = 25}, + [250] = {.lex_state = 25}, + [251] = {.lex_state = 25}, + [252] = {.lex_state = 25}, + [253] = {.lex_state = 25}, + [254] = {.lex_state = 25}, + [255] = {.lex_state = 25}, + [256] = {.lex_state = 25}, + [257] = {.lex_state = 25}, + [258] = {.lex_state = 25}, + [259] = {.lex_state = 25}, + [260] = {.lex_state = 25}, + [261] = {.lex_state = 25}, + [262] = {.lex_state = 25}, + [263] = {.lex_state = 24}, + [264] = {.lex_state = 24}, + [265] = {.lex_state = 24}, + [266] = {.lex_state = 24}, + [267] = {.lex_state = 24}, + [268] = {.lex_state = 24}, + [269] = {.lex_state = 24}, + [270] = {.lex_state = 24}, + [271] = {.lex_state = 24}, + [272] = {.lex_state = 24}, + [273] = {.lex_state = 24}, + [274] = {.lex_state = 24}, + [275] = {.lex_state = 24}, + [276] = {.lex_state = 24}, + [277] = {.lex_state = 24}, + [278] = {.lex_state = 24}, + [279] = {.lex_state = 0}, + [280] = {.lex_state = 24}, + [281] = {.lex_state = 24}, + [282] = {.lex_state = 24}, + [283] = {.lex_state = 24}, + [284] = {.lex_state = 24}, + [285] = {.lex_state = 0}, + [286] = {.lex_state = 0}, + [287] = {.lex_state = 0}, + [288] = {.lex_state = 0}, + [289] = {.lex_state = 0}, + [290] = {.lex_state = 0}, + [291] = {.lex_state = 0}, + [292] = {.lex_state = 0}, + [293] = {.lex_state = 0}, + [294] = {.lex_state = 0}, + [295] = {.lex_state = 0}, + [296] = {.lex_state = 0}, + [297] = {.lex_state = 0}, + [298] = {.lex_state = 0}, + [299] = {.lex_state = 0}, + [300] = {.lex_state = 0}, + [301] = {.lex_state = 0}, + [302] = {.lex_state = 0}, + [303] = {.lex_state = 0}, + [304] = {.lex_state = 0}, + [305] = {.lex_state = 0}, + [306] = {.lex_state = 0}, + [307] = {.lex_state = 0}, + [308] = {.lex_state = 0}, + [309] = {.lex_state = 0}, + [310] = {.lex_state = 0}, + [311] = {.lex_state = 0}, + [312] = {.lex_state = 0}, + [313] = {.lex_state = 0}, + [314] = {.lex_state = 0}, + [315] = {.lex_state = 0}, + [316] = {.lex_state = 0}, + [317] = {.lex_state = 0}, + [318] = {.lex_state = 0}, + [319] = {.lex_state = 0}, + [320] = {.lex_state = 0}, + [321] = {.lex_state = 0}, + [322] = {.lex_state = 0}, + [323] = {.lex_state = 0}, + [324] = {.lex_state = 0}, + [325] = {.lex_state = 0}, + [326] = {.lex_state = 0}, + [327] = {.lex_state = 0}, + [328] = {.lex_state = 0}, + [329] = {.lex_state = 0}, + [330] = {.lex_state = 0}, + [331] = {.lex_state = 0}, + [332] = {.lex_state = 0}, + [333] = {.lex_state = 0}, + [334] = {.lex_state = 0}, + [335] = {.lex_state = 0}, + [336] = {.lex_state = 0}, + [337] = {.lex_state = 0}, + [338] = {.lex_state = 0}, + [339] = {.lex_state = 0}, + [340] = {.lex_state = 0}, + [341] = {.lex_state = 0}, + [342] = {.lex_state = 0}, + [343] = {.lex_state = 0}, + [344] = {.lex_state = 0}, + [345] = {.lex_state = 0}, + [346] = {.lex_state = 0}, + [347] = {.lex_state = 0}, + [348] = {.lex_state = 0}, + [349] = {.lex_state = 0}, + [350] = {.lex_state = 0}, + [351] = {.lex_state = 0}, + [352] = {.lex_state = 0}, + [353] = {.lex_state = 0}, + [354] = {.lex_state = 0}, + [355] = {.lex_state = 0}, + [356] = {.lex_state = 0}, + [357] = {.lex_state = 0}, + [358] = {.lex_state = 0}, + [359] = {.lex_state = 0}, + [360] = {.lex_state = 0}, + [361] = {.lex_state = 0}, + [362] = {.lex_state = 0}, + [363] = {.lex_state = 0}, + [364] = {.lex_state = 0}, + [365] = {.lex_state = 0}, + [366] = {.lex_state = 0}, + [367] = {.lex_state = 0}, + [368] = {.lex_state = 0}, + [369] = {.lex_state = 0}, + [370] = {.lex_state = 0}, + [371] = {.lex_state = 0}, + [372] = {.lex_state = 0}, + [373] = {.lex_state = 0}, + [374] = {.lex_state = 0}, + [375] = {.lex_state = 0}, + [376] = {.lex_state = 0}, + [377] = {.lex_state = 0}, + [378] = {.lex_state = 0}, + [379] = {.lex_state = 0}, + [380] = {.lex_state = 0}, + [381] = {.lex_state = 0}, + [382] = {.lex_state = 0}, + [383] = {.lex_state = 0}, + [384] = {.lex_state = 24}, + [385] = {.lex_state = 24}, + [386] = {.lex_state = 0}, + [387] = {.lex_state = 0}, + [388] = {.lex_state = 0}, + [389] = {.lex_state = 0}, + [390] = {.lex_state = 0}, + [391] = {.lex_state = 0}, + [392] = {.lex_state = 0}, + [393] = {.lex_state = 0}, + [394] = {.lex_state = 0}, + [395] = {.lex_state = 0}, + [396] = {.lex_state = 0}, + [397] = {.lex_state = 0}, + [398] = {.lex_state = 0}, + [399] = {.lex_state = 0}, + [400] = {.lex_state = 0}, + [401] = {.lex_state = 0}, + [402] = {.lex_state = 0}, + [403] = {.lex_state = 0}, + [404] = {.lex_state = 0}, + [405] = {.lex_state = 0}, + [406] = {.lex_state = 0}, + [407] = {.lex_state = 0}, + [408] = {.lex_state = 24}, + [409] = {.lex_state = 0}, + [410] = {.lex_state = 0}, + [411] = {.lex_state = 0}, + [412] = {.lex_state = 0}, + [413] = {.lex_state = 0}, + [414] = {.lex_state = 24}, + [415] = {.lex_state = 0}, + [416] = {.lex_state = 0}, + [417] = {.lex_state = 0}, + [418] = {.lex_state = 0}, + [419] = {.lex_state = 0}, + [420] = {.lex_state = 0}, + [421] = {.lex_state = 0}, + [422] = {.lex_state = 0}, + [423] = {.lex_state = 0}, + [424] = {.lex_state = 0}, + [425] = {.lex_state = 0}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 0}, + [428] = {.lex_state = 0}, + [429] = {.lex_state = 0}, + [430] = {.lex_state = 0}, + [431] = {.lex_state = 0}, + [432] = {.lex_state = 0}, + [433] = {.lex_state = 0}, + [434] = {.lex_state = 0}, + [435] = {.lex_state = 0}, + [436] = {.lex_state = 0}, + [437] = {.lex_state = 0}, + [438] = {.lex_state = 0}, + [439] = {.lex_state = 0}, + [440] = {.lex_state = 0}, + [441] = {.lex_state = 0}, + [442] = {.lex_state = 24}, + [443] = {.lex_state = 24}, + [444] = {.lex_state = 24}, + [445] = {.lex_state = 0}, + [446] = {.lex_state = 0}, + [447] = {.lex_state = 5}, + [448] = {.lex_state = 1}, + [449] = {.lex_state = 0}, + [450] = {.lex_state = 0}, + [451] = {.lex_state = 0}, + [452] = {.lex_state = 0}, + [453] = {.lex_state = 0}, + [454] = {.lex_state = 0}, + [455] = {.lex_state = 0}, + [456] = {.lex_state = 0}, + [457] = {.lex_state = 1}, + [458] = {.lex_state = 1}, + [459] = {.lex_state = 0}, + [460] = {.lex_state = 0}, + [461] = {.lex_state = 0}, + [462] = {.lex_state = 0}, + [463] = {.lex_state = 0}, + [464] = {.lex_state = 0}, + [465] = {.lex_state = 1}, + [466] = {.lex_state = 1}, + [467] = {.lex_state = 0}, + [468] = {.lex_state = 24}, + [469] = {.lex_state = 0}, + [470] = {.lex_state = 0}, + [471] = {.lex_state = 0}, + [472] = {.lex_state = 0}, + [473] = {.lex_state = 0}, + [474] = {.lex_state = 0}, + [475] = {.lex_state = 0}, + [476] = {.lex_state = 0}, + [477] = {.lex_state = 24}, + [478] = {.lex_state = 0}, + [479] = {.lex_state = 0}, + [480] = {.lex_state = 0}, + [481] = {.lex_state = 0}, + [482] = {.lex_state = 0}, + [483] = {.lex_state = 0}, + [484] = {.lex_state = 0}, + [485] = {.lex_state = 24}, + [486] = {.lex_state = 0}, + [487] = {.lex_state = 0}, + [488] = {.lex_state = 24}, + [489] = {.lex_state = 0}, + [490] = {.lex_state = 24}, + [491] = {.lex_state = 0}, + [492] = {.lex_state = 0}, + [493] = {.lex_state = 0}, + [494] = {.lex_state = 0}, + [495] = {.lex_state = 0}, + [496] = {.lex_state = 0}, + [497] = {.lex_state = 0}, + [498] = {.lex_state = 0}, + [499] = {.lex_state = 24}, + [500] = {.lex_state = 1}, + [501] = {.lex_state = 24}, + [502] = {.lex_state = 0}, + [503] = {.lex_state = 24}, + [504] = {.lex_state = 0}, + [505] = {.lex_state = 0}, + [506] = {.lex_state = 0}, + [507] = {.lex_state = 24}, + [508] = {.lex_state = 0}, + [509] = {.lex_state = 24}, + [510] = {.lex_state = 24}, + [511] = {.lex_state = 24}, + [512] = {.lex_state = 0}, + [513] = {.lex_state = 0}, + [514] = {.lex_state = 0}, + [515] = {.lex_state = 0}, + [516] = {.lex_state = 0}, + [517] = {.lex_state = 0}, + [518] = {.lex_state = 0}, + [519] = {.lex_state = 0}, + [520] = {.lex_state = 0}, + [521] = {.lex_state = 0}, + [522] = {.lex_state = 0}, + [523] = {.lex_state = 0}, + [524] = {.lex_state = 0}, + [525] = {.lex_state = 0}, + [526] = {.lex_state = 0}, + [527] = {.lex_state = 24}, + [528] = {.lex_state = 0}, + [529] = {.lex_state = 0}, + [530] = {.lex_state = 0}, + [531] = {.lex_state = 24}, + [532] = {.lex_state = 24}, + [533] = {.lex_state = 0}, + [534] = {.lex_state = 0}, + [535] = {.lex_state = 0}, + [536] = {.lex_state = 0}, + [537] = {.lex_state = 0}, + [538] = {.lex_state = 0}, + [539] = {.lex_state = 0}, + [540] = {.lex_state = 0}, + [541] = {.lex_state = 0}, + [542] = {.lex_state = 0}, + [543] = {.lex_state = 0}, + [544] = {.lex_state = 0}, + [545] = {.lex_state = 0}, + [546] = {.lex_state = 0}, + [547] = {.lex_state = 0}, + [548] = {.lex_state = 0}, + [549] = {.lex_state = 0}, + [550] = {.lex_state = 12}, + [551] = {.lex_state = 0}, + [552] = {.lex_state = 0}, + [553] = {.lex_state = 0}, + [554] = {.lex_state = 0}, + [555] = {.lex_state = 0}, + [556] = {.lex_state = 0}, + [557] = {.lex_state = 0}, + [558] = {.lex_state = 0}, + [559] = {.lex_state = 0}, + [560] = {.lex_state = 0}, + [561] = {.lex_state = 0}, + [562] = {.lex_state = 12}, + [563] = {.lex_state = 0}, + [564] = {.lex_state = 0}, + [565] = {.lex_state = 0}, + [566] = {.lex_state = 0}, + [567] = {.lex_state = 0}, + [568] = {.lex_state = 0}, + [569] = {.lex_state = 0}, + [570] = {.lex_state = 24}, + [571] = {.lex_state = 0}, + [572] = {.lex_state = 0}, + [573] = {.lex_state = 0}, + [574] = {.lex_state = 0}, + [575] = {.lex_state = 0}, + [576] = {.lex_state = 0}, + [577] = {.lex_state = 4}, + [578] = {.lex_state = 0}, + [579] = {.lex_state = 0}, + [580] = {.lex_state = 0}, + [581] = {.lex_state = 0}, + [582] = {.lex_state = 0}, + [583] = {.lex_state = 0}, + [584] = {.lex_state = 0}, + [585] = {.lex_state = 0}, + [586] = {.lex_state = 0}, + [587] = {.lex_state = 0}, + [588] = {.lex_state = 0}, + [589] = {.lex_state = 0}, + [590] = {.lex_state = 0}, + [591] = {.lex_state = 0}, + [592] = {.lex_state = 0}, + [593] = {.lex_state = 0}, + [594] = {.lex_state = 0}, + [595] = {.lex_state = 0}, + [596] = {.lex_state = 0}, + [597] = {.lex_state = 0}, + [598] = {.lex_state = 0}, + [599] = {.lex_state = 0}, + [600] = {.lex_state = 0}, + [601] = {.lex_state = 0}, + [602] = {.lex_state = 0}, + [603] = {.lex_state = 0}, + [604] = {.lex_state = 0}, + [605] = {.lex_state = 0}, + [606] = {.lex_state = 0}, + [607] = {.lex_state = 0}, + [608] = {.lex_state = 0}, + [609] = {.lex_state = 0}, + [610] = {.lex_state = 0}, + [611] = {.lex_state = 0}, + [612] = {.lex_state = 0}, + [613] = {.lex_state = 0}, + [614] = {.lex_state = 0}, + [615] = {.lex_state = 0}, + [616] = {.lex_state = 0}, + [617] = {.lex_state = 0}, + [618] = {.lex_state = 0}, + [619] = {.lex_state = 0}, + [620] = {.lex_state = 0}, + [621] = {.lex_state = 0}, + [622] = {.lex_state = 0}, + [623] = {.lex_state = 0}, + [624] = {(TSStateId)(-1),}, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [STATE(0)] = { + [sym_comment] = STATE(0), + [ts_builtin_sym_end] = ACTIONS(1), + [sym_identifier] = ACTIONS(1), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_package] = ACTIONS(1), + [anon_sym_import] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_enum] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_match] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_EQ_GT] = ACTIONS(1), + [anon_sym__] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_LT_DASH] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_QMARK_QMARK] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_LT_LT] = ACTIONS(1), + [anon_sym_GT_GT] = ACTIONS(1), + [anon_sym_AMP_CARET] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), + [anon_sym_QMARK_DOT] = ACTIONS(1), + [anon_sym_func] = ACTIONS(1), + [anon_sym_map] = ACTIONS(1), + [anon_sym_chan] = ACTIONS(1), + [anon_sym_struct] = ACTIONS(1), + [anon_sym_interface] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), + [anon_sym_type] = ACTIONS(1), + [anon_sym_const] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_var] = ACTIONS(1), + [anon_sym_return] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_COLON_EQ] = ACTIONS(1), + [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_DASH_EQ] = ACTIONS(1), + [anon_sym_STAR_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_true] = ACTIONS(1), + [anon_sym_false] = ACTIONS(1), + [anon_sym_nil] = ACTIONS(1), + [aux_sym_int_literal_token1] = ACTIONS(1), + [aux_sym_int_literal_token2] = ACTIONS(1), + [aux_sym_int_literal_token3] = ACTIONS(1), + [aux_sym_int_literal_token4] = ACTIONS(1), + [sym_float_literal] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [aux_sym_string_literal_token2] = ACTIONS(1), + [aux_sym_string_literal_token3] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), + }, + [STATE(1)] = { + [sym_source_file] = STATE(576), + [sym__item] = STATE(432), + [sym_comment] = STATE(1), + [sym_package_clause] = STATE(417), + [sym_import_declaration] = STATE(417), + [sym_enum_declaration] = STATE(417), + [sym_function_declaration] = STATE(417), + [sym_type_declaration] = STATE(417), + [sym_const_declaration] = STATE(417), + [sym_var_declaration] = STATE(417), + [aux_sym_source_file_repeat1] = STATE(386), + [ts_builtin_sym_end] = ACTIONS(5), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_package] = ACTIONS(7), + [anon_sym_import] = ACTIONS(9), + [anon_sym_enum] = ACTIONS(11), + [anon_sym_func] = ACTIONS(13), + [anon_sym_type] = ACTIONS(15), + [anon_sym_const] = ACTIONS(17), + [anon_sym_var] = ACTIONS(19), + }, + [STATE(2)] = { + [sym_comment] = STATE(2), + [sym_match_expression] = STATE(66), + [sym_lambda_expression] = STATE(66), + [sym__expr] = STATE(42), + [sym_parenthesized_expr] = STATE(66), + [sym_unary_expr] = STATE(66), + [sym_binary_expr] = STATE(66), + [sym_call_expr] = STATE(66), + [sym_selector_expr] = STATE(66), + [sym_index_expr] = STATE(66), + [sym_error_propagation] = STATE(66), + [sym_safe_navigation] = STATE(66), + [sym_composite_literal] = STATE(66), + [sym_func_literal] = STATE(66), + [sym__type_expr] = STATE(578), + [sym_qualified_type] = STATE(385), + [sym_pointer_type] = STATE(266), + [sym_slice_type] = STATE(266), + [sym_array_type] = STATE(266), + [sym_map_type] = STATE(266), + [sym_chan_type] = STATE(266), + [sym_func_type] = STATE(266), + [sym_generic_type] = STATE(266), + [sym_struct_type] = STATE(266), + [sym_interface_type] = STATE(266), + [sym__stmt] = STATE(208), + [sym_block] = STATE(210), + [sym_expr_stmt] = STATE(210), + [sym_return_stmt] = STATE(210), + [sym_expr_list] = STATE(442), + [sym_if_stmt] = STATE(210), + [sym_short_var_decl] = STATE(210), + [sym_assignment_stmt] = STATE(210), + [sym_for_stmt] = STATE(210), + [sym__literal] = STATE(66), + [sym_int_literal] = STATE(118), + [sym_string_literal] = STATE(118), + [sym_rune_literal] = STATE(118), + [aux_sym_block_repeat1] = STATE(4), + [sym_identifier] = ACTIONS(21), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_LBRACE] = ACTIONS(25), + [anon_sym_RBRACE] = ACTIONS(27), + [anon_sym_match] = ACTIONS(29), + [anon_sym_if] = ACTIONS(31), + [anon_sym_PIPE] = ACTIONS(33), + [anon_sym_DASH] = ACTIONS(35), + [anon_sym_BANG] = ACTIONS(35), + [anon_sym_STAR] = ACTIONS(37), + [anon_sym_AMP] = ACTIONS(35), + [anon_sym_LT_DASH] = ACTIONS(39), + [anon_sym_CARET] = ACTIONS(35), + [anon_sym_LBRACK] = ACTIONS(41), + [anon_sym_func] = ACTIONS(43), + [anon_sym_map] = ACTIONS(45), + [anon_sym_chan] = ACTIONS(47), + [anon_sym_struct] = ACTIONS(49), + [anon_sym_interface] = ACTIONS(51), + [anon_sym_return] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_true] = ACTIONS(57), + [anon_sym_false] = ACTIONS(57), + [anon_sym_nil] = ACTIONS(57), + [aux_sym_int_literal_token1] = ACTIONS(59), + [aux_sym_int_literal_token2] = ACTIONS(59), + [aux_sym_int_literal_token3] = ACTIONS(59), + [aux_sym_int_literal_token4] = ACTIONS(61), + [sym_float_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token3] = ACTIONS(67), + [anon_sym_SQUOTE] = ACTIONS(69), + }, + [STATE(3)] = { + [sym_comment] = STATE(3), + [sym_match_expression] = STATE(66), + [sym_lambda_expression] = STATE(66), + [sym__expr] = STATE(42), + [sym_parenthesized_expr] = STATE(66), + [sym_unary_expr] = STATE(66), + [sym_binary_expr] = STATE(66), + [sym_call_expr] = STATE(66), + [sym_selector_expr] = STATE(66), + [sym_index_expr] = STATE(66), + [sym_error_propagation] = STATE(66), + [sym_safe_navigation] = STATE(66), + [sym_composite_literal] = STATE(66), + [sym_func_literal] = STATE(66), + [sym__type_expr] = STATE(578), + [sym_qualified_type] = STATE(385), + [sym_pointer_type] = STATE(266), + [sym_slice_type] = STATE(266), + [sym_array_type] = STATE(266), + [sym_map_type] = STATE(266), + [sym_chan_type] = STATE(266), + [sym_func_type] = STATE(266), + [sym_generic_type] = STATE(266), + [sym_struct_type] = STATE(266), + [sym_interface_type] = STATE(266), + [sym__stmt] = STATE(208), + [sym_block] = STATE(210), + [sym_expr_stmt] = STATE(210), + [sym_return_stmt] = STATE(210), + [sym_expr_list] = STATE(442), + [sym_if_stmt] = STATE(210), + [sym_short_var_decl] = STATE(210), + [sym_assignment_stmt] = STATE(210), + [sym_for_stmt] = STATE(210), + [sym__literal] = STATE(66), + [sym_int_literal] = STATE(118), + [sym_string_literal] = STATE(118), + [sym_rune_literal] = STATE(118), + [aux_sym_block_repeat1] = STATE(3), + [sym_identifier] = ACTIONS(71), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(74), + [anon_sym_LBRACE] = ACTIONS(77), + [anon_sym_RBRACE] = ACTIONS(80), + [anon_sym_match] = ACTIONS(82), + [anon_sym_if] = ACTIONS(85), + [anon_sym_PIPE] = ACTIONS(88), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_BANG] = ACTIONS(91), + [anon_sym_STAR] = ACTIONS(94), + [anon_sym_AMP] = ACTIONS(91), + [anon_sym_LT_DASH] = ACTIONS(97), + [anon_sym_CARET] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(100), + [anon_sym_func] = ACTIONS(103), + [anon_sym_map] = ACTIONS(106), + [anon_sym_chan] = ACTIONS(109), + [anon_sym_struct] = ACTIONS(112), + [anon_sym_interface] = ACTIONS(115), + [anon_sym_return] = ACTIONS(118), + [anon_sym_for] = ACTIONS(121), + [anon_sym_true] = ACTIONS(124), + [anon_sym_false] = ACTIONS(124), + [anon_sym_nil] = ACTIONS(124), + [aux_sym_int_literal_token1] = ACTIONS(127), + [aux_sym_int_literal_token2] = ACTIONS(127), + [aux_sym_int_literal_token3] = ACTIONS(127), + [aux_sym_int_literal_token4] = ACTIONS(130), + [sym_float_literal] = ACTIONS(133), + [anon_sym_DQUOTE] = ACTIONS(136), + [aux_sym_string_literal_token3] = ACTIONS(139), + [anon_sym_SQUOTE] = ACTIONS(142), + }, + [STATE(4)] = { + [sym_comment] = STATE(4), + [sym_match_expression] = STATE(66), + [sym_lambda_expression] = STATE(66), + [sym__expr] = STATE(42), + [sym_parenthesized_expr] = STATE(66), + [sym_unary_expr] = STATE(66), + [sym_binary_expr] = STATE(66), + [sym_call_expr] = STATE(66), + [sym_selector_expr] = STATE(66), + [sym_index_expr] = STATE(66), + [sym_error_propagation] = STATE(66), + [sym_safe_navigation] = STATE(66), + [sym_composite_literal] = STATE(66), + [sym_func_literal] = STATE(66), + [sym__type_expr] = STATE(578), + [sym_qualified_type] = STATE(385), + [sym_pointer_type] = STATE(266), + [sym_slice_type] = STATE(266), + [sym_array_type] = STATE(266), + [sym_map_type] = STATE(266), + [sym_chan_type] = STATE(266), + [sym_func_type] = STATE(266), + [sym_generic_type] = STATE(266), + [sym_struct_type] = STATE(266), + [sym_interface_type] = STATE(266), + [sym__stmt] = STATE(208), + [sym_block] = STATE(210), + [sym_expr_stmt] = STATE(210), + [sym_return_stmt] = STATE(210), + [sym_expr_list] = STATE(442), + [sym_if_stmt] = STATE(210), + [sym_short_var_decl] = STATE(210), + [sym_assignment_stmt] = STATE(210), + [sym_for_stmt] = STATE(210), + [sym__literal] = STATE(66), + [sym_int_literal] = STATE(118), + [sym_string_literal] = STATE(118), + [sym_rune_literal] = STATE(118), + [aux_sym_block_repeat1] = STATE(3), + [sym_identifier] = ACTIONS(21), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_LBRACE] = ACTIONS(25), + [anon_sym_RBRACE] = ACTIONS(145), + [anon_sym_match] = ACTIONS(29), + [anon_sym_if] = ACTIONS(31), + [anon_sym_PIPE] = ACTIONS(33), + [anon_sym_DASH] = ACTIONS(35), + [anon_sym_BANG] = ACTIONS(35), + [anon_sym_STAR] = ACTIONS(37), + [anon_sym_AMP] = ACTIONS(35), + [anon_sym_LT_DASH] = ACTIONS(39), + [anon_sym_CARET] = ACTIONS(35), + [anon_sym_LBRACK] = ACTIONS(41), + [anon_sym_func] = ACTIONS(43), + [anon_sym_map] = ACTIONS(45), + [anon_sym_chan] = ACTIONS(47), + [anon_sym_struct] = ACTIONS(49), + [anon_sym_interface] = ACTIONS(51), + [anon_sym_return] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_true] = ACTIONS(57), + [anon_sym_false] = ACTIONS(57), + [anon_sym_nil] = ACTIONS(57), + [aux_sym_int_literal_token1] = ACTIONS(59), + [aux_sym_int_literal_token2] = ACTIONS(59), + [aux_sym_int_literal_token3] = ACTIONS(59), + [aux_sym_int_literal_token4] = ACTIONS(61), + [sym_float_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token3] = ACTIONS(67), + [anon_sym_SQUOTE] = ACTIONS(69), + }, + [STATE(5)] = { + [sym_comment] = STATE(5), + [sym_match_expression] = STATE(66), + [sym_lambda_expression] = STATE(66), + [sym__expr] = STATE(42), + [sym_parenthesized_expr] = STATE(66), + [sym_unary_expr] = STATE(66), + [sym_binary_expr] = STATE(66), + [sym_call_expr] = STATE(66), + [sym_selector_expr] = STATE(66), + [sym_index_expr] = STATE(66), + [sym_error_propagation] = STATE(66), + [sym_safe_navigation] = STATE(66), + [sym_composite_literal] = STATE(66), + [sym_func_literal] = STATE(66), + [sym__type_expr] = STATE(578), + [sym_qualified_type] = STATE(385), + [sym_pointer_type] = STATE(266), + [sym_slice_type] = STATE(266), + [sym_array_type] = STATE(266), + [sym_map_type] = STATE(266), + [sym_chan_type] = STATE(266), + [sym_func_type] = STATE(266), + [sym_generic_type] = STATE(266), + [sym_struct_type] = STATE(266), + [sym_interface_type] = STATE(266), + [sym__stmt] = STATE(208), + [sym_block] = STATE(210), + [sym_expr_stmt] = STATE(210), + [sym_return_stmt] = STATE(210), + [sym_expr_list] = STATE(442), + [sym_if_stmt] = STATE(210), + [sym_short_var_decl] = STATE(210), + [sym_assignment_stmt] = STATE(210), + [sym_for_stmt] = STATE(210), + [sym__literal] = STATE(66), + [sym_int_literal] = STATE(118), + [sym_string_literal] = STATE(118), + [sym_rune_literal] = STATE(118), + [aux_sym_block_repeat1] = STATE(6), + [sym_identifier] = ACTIONS(21), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_LBRACE] = ACTIONS(25), + [anon_sym_RBRACE] = ACTIONS(147), + [anon_sym_match] = ACTIONS(29), + [anon_sym_if] = ACTIONS(31), + [anon_sym_PIPE] = ACTIONS(33), + [anon_sym_DASH] = ACTIONS(35), + [anon_sym_BANG] = ACTIONS(35), + [anon_sym_STAR] = ACTIONS(37), + [anon_sym_AMP] = ACTIONS(35), + [anon_sym_LT_DASH] = ACTIONS(39), + [anon_sym_CARET] = ACTIONS(35), + [anon_sym_LBRACK] = ACTIONS(41), + [anon_sym_func] = ACTIONS(43), + [anon_sym_map] = ACTIONS(45), + [anon_sym_chan] = ACTIONS(47), + [anon_sym_struct] = ACTIONS(49), + [anon_sym_interface] = ACTIONS(51), + [anon_sym_return] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_true] = ACTIONS(57), + [anon_sym_false] = ACTIONS(57), + [anon_sym_nil] = ACTIONS(57), + [aux_sym_int_literal_token1] = ACTIONS(59), + [aux_sym_int_literal_token2] = ACTIONS(59), + [aux_sym_int_literal_token3] = ACTIONS(59), + [aux_sym_int_literal_token4] = ACTIONS(61), + [sym_float_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token3] = ACTIONS(67), + [anon_sym_SQUOTE] = ACTIONS(69), + }, + [STATE(6)] = { + [sym_comment] = STATE(6), + [sym_match_expression] = STATE(66), + [sym_lambda_expression] = STATE(66), + [sym__expr] = STATE(42), + [sym_parenthesized_expr] = STATE(66), + [sym_unary_expr] = STATE(66), + [sym_binary_expr] = STATE(66), + [sym_call_expr] = STATE(66), + [sym_selector_expr] = STATE(66), + [sym_index_expr] = STATE(66), + [sym_error_propagation] = STATE(66), + [sym_safe_navigation] = STATE(66), + [sym_composite_literal] = STATE(66), + [sym_func_literal] = STATE(66), + [sym__type_expr] = STATE(578), + [sym_qualified_type] = STATE(385), + [sym_pointer_type] = STATE(266), + [sym_slice_type] = STATE(266), + [sym_array_type] = STATE(266), + [sym_map_type] = STATE(266), + [sym_chan_type] = STATE(266), + [sym_func_type] = STATE(266), + [sym_generic_type] = STATE(266), + [sym_struct_type] = STATE(266), + [sym_interface_type] = STATE(266), + [sym__stmt] = STATE(208), + [sym_block] = STATE(210), + [sym_expr_stmt] = STATE(210), + [sym_return_stmt] = STATE(210), + [sym_expr_list] = STATE(442), + [sym_if_stmt] = STATE(210), + [sym_short_var_decl] = STATE(210), + [sym_assignment_stmt] = STATE(210), + [sym_for_stmt] = STATE(210), + [sym__literal] = STATE(66), + [sym_int_literal] = STATE(118), + [sym_string_literal] = STATE(118), + [sym_rune_literal] = STATE(118), + [aux_sym_block_repeat1] = STATE(3), + [sym_identifier] = ACTIONS(21), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_LBRACE] = ACTIONS(25), + [anon_sym_RBRACE] = ACTIONS(149), + [anon_sym_match] = ACTIONS(29), + [anon_sym_if] = ACTIONS(31), + [anon_sym_PIPE] = ACTIONS(33), + [anon_sym_DASH] = ACTIONS(35), + [anon_sym_BANG] = ACTIONS(35), + [anon_sym_STAR] = ACTIONS(37), + [anon_sym_AMP] = ACTIONS(35), + [anon_sym_LT_DASH] = ACTIONS(39), + [anon_sym_CARET] = ACTIONS(35), + [anon_sym_LBRACK] = ACTIONS(41), + [anon_sym_func] = ACTIONS(43), + [anon_sym_map] = ACTIONS(45), + [anon_sym_chan] = ACTIONS(47), + [anon_sym_struct] = ACTIONS(49), + [anon_sym_interface] = ACTIONS(51), + [anon_sym_return] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_true] = ACTIONS(57), + [anon_sym_false] = ACTIONS(57), + [anon_sym_nil] = ACTIONS(57), + [aux_sym_int_literal_token1] = ACTIONS(59), + [aux_sym_int_literal_token2] = ACTIONS(59), + [aux_sym_int_literal_token3] = ACTIONS(59), + [aux_sym_int_literal_token4] = ACTIONS(61), + [sym_float_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token3] = ACTIONS(67), + [anon_sym_SQUOTE] = ACTIONS(69), + }, + [STATE(7)] = { + [sym_comment] = STATE(7), + [sym_match_expression] = STATE(66), + [sym_lambda_expression] = STATE(66), + [sym__expr] = STATE(42), + [sym_parenthesized_expr] = STATE(66), + [sym_unary_expr] = STATE(66), + [sym_binary_expr] = STATE(66), + [sym_call_expr] = STATE(66), + [sym_selector_expr] = STATE(66), + [sym_index_expr] = STATE(66), + [sym_error_propagation] = STATE(66), + [sym_safe_navigation] = STATE(66), + [sym_composite_literal] = STATE(66), + [sym_func_literal] = STATE(66), + [sym__type_expr] = STATE(578), + [sym_qualified_type] = STATE(385), + [sym_pointer_type] = STATE(266), + [sym_slice_type] = STATE(266), + [sym_array_type] = STATE(266), + [sym_map_type] = STATE(266), + [sym_chan_type] = STATE(266), + [sym_func_type] = STATE(266), + [sym_generic_type] = STATE(266), + [sym_struct_type] = STATE(266), + [sym_interface_type] = STATE(266), + [sym__stmt] = STATE(208), + [sym_block] = STATE(210), + [sym_expr_stmt] = STATE(210), + [sym_return_stmt] = STATE(210), + [sym_expr_list] = STATE(442), + [sym_if_stmt] = STATE(210), + [sym_short_var_decl] = STATE(210), + [sym_assignment_stmt] = STATE(210), + [sym_for_stmt] = STATE(210), + [sym__literal] = STATE(66), + [sym_int_literal] = STATE(118), + [sym_string_literal] = STATE(118), + [sym_rune_literal] = STATE(118), + [aux_sym_block_repeat1] = STATE(8), + [sym_identifier] = ACTIONS(21), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_LBRACE] = ACTIONS(25), + [anon_sym_RBRACE] = ACTIONS(151), + [anon_sym_match] = ACTIONS(29), + [anon_sym_if] = ACTIONS(31), + [anon_sym_PIPE] = ACTIONS(33), + [anon_sym_DASH] = ACTIONS(35), + [anon_sym_BANG] = ACTIONS(35), + [anon_sym_STAR] = ACTIONS(37), + [anon_sym_AMP] = ACTIONS(35), + [anon_sym_LT_DASH] = ACTIONS(39), + [anon_sym_CARET] = ACTIONS(35), + [anon_sym_LBRACK] = ACTIONS(41), + [anon_sym_func] = ACTIONS(43), + [anon_sym_map] = ACTIONS(45), + [anon_sym_chan] = ACTIONS(47), + [anon_sym_struct] = ACTIONS(49), + [anon_sym_interface] = ACTIONS(51), + [anon_sym_return] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_true] = ACTIONS(57), + [anon_sym_false] = ACTIONS(57), + [anon_sym_nil] = ACTIONS(57), + [aux_sym_int_literal_token1] = ACTIONS(59), + [aux_sym_int_literal_token2] = ACTIONS(59), + [aux_sym_int_literal_token3] = ACTIONS(59), + [aux_sym_int_literal_token4] = ACTIONS(61), + [sym_float_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token3] = ACTIONS(67), + [anon_sym_SQUOTE] = ACTIONS(69), + }, + [STATE(8)] = { + [sym_comment] = STATE(8), + [sym_match_expression] = STATE(66), + [sym_lambda_expression] = STATE(66), + [sym__expr] = STATE(42), + [sym_parenthesized_expr] = STATE(66), + [sym_unary_expr] = STATE(66), + [sym_binary_expr] = STATE(66), + [sym_call_expr] = STATE(66), + [sym_selector_expr] = STATE(66), + [sym_index_expr] = STATE(66), + [sym_error_propagation] = STATE(66), + [sym_safe_navigation] = STATE(66), + [sym_composite_literal] = STATE(66), + [sym_func_literal] = STATE(66), + [sym__type_expr] = STATE(578), + [sym_qualified_type] = STATE(385), + [sym_pointer_type] = STATE(266), + [sym_slice_type] = STATE(266), + [sym_array_type] = STATE(266), + [sym_map_type] = STATE(266), + [sym_chan_type] = STATE(266), + [sym_func_type] = STATE(266), + [sym_generic_type] = STATE(266), + [sym_struct_type] = STATE(266), + [sym_interface_type] = STATE(266), + [sym__stmt] = STATE(208), + [sym_block] = STATE(210), + [sym_expr_stmt] = STATE(210), + [sym_return_stmt] = STATE(210), + [sym_expr_list] = STATE(442), + [sym_if_stmt] = STATE(210), + [sym_short_var_decl] = STATE(210), + [sym_assignment_stmt] = STATE(210), + [sym_for_stmt] = STATE(210), + [sym__literal] = STATE(66), + [sym_int_literal] = STATE(118), + [sym_string_literal] = STATE(118), + [sym_rune_literal] = STATE(118), + [aux_sym_block_repeat1] = STATE(3), + [sym_identifier] = ACTIONS(21), + [aux_sym_comment_token1] = ACTIONS(3), + [aux_sym_comment_token2] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_LBRACE] = ACTIONS(25), + [anon_sym_RBRACE] = ACTIONS(153), + [anon_sym_match] = ACTIONS(29), + [anon_sym_if] = ACTIONS(31), + [anon_sym_PIPE] = ACTIONS(33), + [anon_sym_DASH] = ACTIONS(35), + [anon_sym_BANG] = ACTIONS(35), + [anon_sym_STAR] = ACTIONS(37), + [anon_sym_AMP] = ACTIONS(35), + [anon_sym_LT_DASH] = ACTIONS(39), + [anon_sym_CARET] = ACTIONS(35), + [anon_sym_LBRACK] = ACTIONS(41), + [anon_sym_func] = ACTIONS(43), + [anon_sym_map] = ACTIONS(45), + [anon_sym_chan] = ACTIONS(47), + [anon_sym_struct] = ACTIONS(49), + [anon_sym_interface] = ACTIONS(51), + [anon_sym_return] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_true] = ACTIONS(57), + [anon_sym_false] = ACTIONS(57), + [anon_sym_nil] = ACTIONS(57), + [aux_sym_int_literal_token1] = ACTIONS(59), + [aux_sym_int_literal_token2] = ACTIONS(59), + [aux_sym_int_literal_token3] = ACTIONS(59), + [aux_sym_int_literal_token4] = ACTIONS(61), + [sym_float_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token3] = ACTIONS(67), + [anon_sym_SQUOTE] = ACTIONS(69), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 4, + STATE(9), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(157), 25, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym_if, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(155), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [73] = 4, + STATE(10), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(161), 25, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym_if, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(159), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [146] = 9, + ACTIONS(167), 1, + anon_sym_DOT, + ACTIONS(170), 1, + anon_sym_LBRACE, + ACTIONS(172), 1, + anon_sym_EQ_GT, + ACTIONS(174), 1, + anon_sym_LBRACK, + STATE(11), 1, + sym_comment, + STATE(275), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(163), 32, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [229] = 4, + STATE(12), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(179), 25, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym_if, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(177), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [302] = 10, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + STATE(13), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(183), 23, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 32, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [387] = 4, + STATE(14), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(197), 25, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym_if, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(195), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [460] = 4, + STATE(15), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(201), 25, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym_if, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(199), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [533] = 4, + STATE(16), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(205), 25, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym_if, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(203), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [606] = 10, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + STATE(17), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(209), 23, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(207), 32, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [691] = 31, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(18), 1, + sym_comment, + STATE(187), 1, + sym__expr, + STATE(204), 1, + sym_expr_list, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(211), 2, + anon_sym_LBRACE, + anon_sym_RBRACE, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + ACTIONS(213), 3, + anon_sym_if, + anon_sym_return, + anon_sym_for, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [818] = 4, + STATE(19), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(217), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(215), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [890] = 4, + STATE(20), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(221), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(219), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [962] = 4, + STATE(21), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(225), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(223), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1034] = 4, + STATE(22), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(229), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(227), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1106] = 4, + STATE(23), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(233), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(231), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1178] = 4, + STATE(24), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(237), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(235), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1250] = 4, + STATE(25), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(241), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(239), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1322] = 4, + STATE(26), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(245), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(243), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1394] = 4, + STATE(27), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(249), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(247), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1466] = 4, + STATE(28), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(253), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(251), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1538] = 4, + STATE(29), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(257), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(255), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1610] = 4, + STATE(30), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(261), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(259), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1682] = 4, + STATE(31), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(265), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(263), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1754] = 4, + STATE(32), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(269), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(267), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1826] = 4, + STATE(33), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(273), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(271), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1898] = 4, + STATE(34), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(277), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(275), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [1970] = 4, + STATE(35), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(281), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(279), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2042] = 4, + STATE(36), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(163), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2114] = 4, + STATE(37), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(285), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(283), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2186] = 4, + STATE(38), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(289), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(287), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2258] = 4, + STATE(39), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(293), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(291), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2330] = 4, + STATE(40), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(297), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(295), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2402] = 4, + STATE(41), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(301), 24, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(299), 36, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_EQ_GT, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2474] = 23, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(319), 1, + anon_sym_PIPE_PIPE, + ACTIONS(321), 1, + anon_sym_AMP_AMP, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + ACTIONS(337), 1, + anon_sym_EQ, + STATE(42), 1, + sym_comment, + STATE(414), 1, + aux_sym_call_expr_repeat1, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(339), 5, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + ACTIONS(309), 10, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LT_DASH, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(303), 15, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [2583] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(43), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(233), 15, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(231), 18, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2684] = 17, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(44), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 15, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 20, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2781] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(45), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 15, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 19, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2880] = 16, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + STATE(46), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 15, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 21, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [2975] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(47), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(237), 15, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(235), 18, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3076] = 14, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + STATE(48), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 17, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_LT, + anon_sym_GT, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 25, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3167] = 9, + ACTIONS(167), 1, + anon_sym_DOT, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(359), 1, + anon_sym_LBRACE, + ACTIONS(362), 1, + anon_sym_EQ_GT, + STATE(49), 1, + sym_comment, + STATE(275), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(163), 29, + anon_sym_LPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3248] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(50), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(277), 15, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(275), 18, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3349] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(51), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(261), 15, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(259), 18, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3450] = 12, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + STATE(52), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 20, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_COLON, + anon_sym__, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_EQ, + anon_sym_var, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 26, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3537] = 10, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(53), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(209), 24, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(207), 28, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3619] = 10, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(54), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(183), 24, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 28, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3701] = 19, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(319), 1, + anon_sym_PIPE_PIPE, + ACTIONS(321), 1, + anon_sym_AMP_AMP, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(55), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(231), 16, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(233), 16, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [3801] = 12, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(56), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 21, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3887] = 18, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(321), 1, + anon_sym_AMP_AMP, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(57), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 16, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 17, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_PIPE_PIPE, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [3985] = 17, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(58), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 16, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 18, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [4081] = 16, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(59), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 16, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 19, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [4175] = 14, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(60), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(183), 18, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_LT, + anon_sym_GT, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(181), 23, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [4265] = 19, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(319), 1, + anon_sym_PIPE_PIPE, + ACTIONS(321), 1, + anon_sym_AMP_AMP, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(61), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(275), 16, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(277), 16, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [4365] = 19, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(319), 1, + anon_sym_PIPE_PIPE, + ACTIONS(321), 1, + anon_sym_AMP_AMP, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(62), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(259), 16, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(261), 16, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [4465] = 19, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(317), 1, + anon_sym_CARET, + ACTIONS(319), 1, + anon_sym_PIPE_PIPE, + ACTIONS(321), 1, + anon_sym_AMP_AMP, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(63), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(315), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(235), 16, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(237), 16, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [4565] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(64), 1, + sym_comment, + STATE(212), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(570), 1, + sym_expr_list, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(584), 2, + sym_expr_stmt, + sym_short_var_decl, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [4687] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(394), 1, + sym_identifier, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(398), 1, + anon_sym_RPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + STATE(65), 1, + sym_comment, + STATE(255), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(524), 1, + sym_lambda_param, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [4808] = 4, + STATE(66), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(163), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [4877] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(408), 1, + anon_sym_LBRACE, + STATE(23), 1, + sym_block, + STATE(67), 1, + sym_comment, + STATE(216), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [4998] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(410), 1, + sym_identifier, + ACTIONS(412), 1, + anon_sym_RBRACK, + STATE(68), 1, + sym_comment, + STATE(257), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(526), 1, + sym_type_param, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [5119] = 4, + STATE(69), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(301), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(299), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5188] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(414), 1, + sym_identifier, + ACTIONS(416), 1, + anon_sym_RBRACE, + STATE(70), 1, + sym_comment, + STATE(230), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(512), 1, + sym_keyed_element, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [5309] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(408), 1, + anon_sym_LBRACE, + STATE(24), 1, + sym_block, + STATE(71), 1, + sym_comment, + STATE(222), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [5430] = 4, + STATE(72), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(293), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(291), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5499] = 4, + STATE(73), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(233), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(231), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5568] = 4, + STATE(74), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(253), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(251), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5637] = 4, + STATE(75), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(179), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(177), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5706] = 4, + STATE(76), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(297), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(295), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5775] = 4, + STATE(77), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(221), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(219), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5844] = 4, + STATE(78), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(225), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(223), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5913] = 4, + STATE(79), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(229), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(227), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [5982] = 4, + STATE(80), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(237), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(235), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6051] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(408), 1, + anon_sym_LBRACE, + STATE(30), 1, + sym_block, + STATE(81), 1, + sym_comment, + STATE(225), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [6172] = 4, + STATE(82), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(241), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(239), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6241] = 4, + STATE(83), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(245), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(243), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6310] = 4, + STATE(84), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(249), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(247), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6379] = 4, + STATE(85), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(217), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(215), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6448] = 4, + STATE(86), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(257), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(255), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6517] = 4, + STATE(87), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(261), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(259), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6586] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(408), 1, + anon_sym_LBRACE, + STATE(34), 1, + sym_block, + STATE(88), 1, + sym_comment, + STATE(218), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [6707] = 4, + STATE(89), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(265), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(263), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6776] = 4, + STATE(90), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(269), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(267), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6845] = 4, + STATE(91), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(273), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(271), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6914] = 4, + STATE(92), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(277), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(275), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [6983] = 4, + STATE(93), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(281), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(279), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [7052] = 30, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + ACTIONS(418), 1, + anon_sym_LBRACE, + STATE(55), 1, + sym__expr, + STATE(73), 1, + sym_block, + STATE(94), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [7173] = 4, + STATE(95), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(285), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(283), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [7242] = 4, + STATE(96), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(157), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(155), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [7311] = 30, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(97), 1, + sym_comment, + STATE(209), 1, + sym_block, + STATE(240), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [7432] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(408), 1, + anon_sym_LBRACE, + ACTIONS(420), 1, + sym_identifier, + STATE(34), 1, + sym_block, + STATE(50), 1, + sym__expr, + STATE(98), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [7553] = 30, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(99), 1, + sym_comment, + STATE(193), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(389), 1, + sym_block, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [7674] = 4, + STATE(100), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(289), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(287), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [7743] = 30, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + ACTIONS(418), 1, + anon_sym_LBRACE, + STATE(62), 1, + sym__expr, + STATE(87), 1, + sym_block, + STATE(101), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [7864] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(408), 1, + anon_sym_LBRACE, + ACTIONS(420), 1, + sym_identifier, + STATE(23), 1, + sym_block, + STATE(43), 1, + sym__expr, + STATE(102), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [7985] = 30, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + ACTIONS(418), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__expr, + STATE(92), 1, + sym_block, + STATE(103), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [8106] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(394), 1, + sym_identifier, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(422), 1, + anon_sym_RPAREN, + STATE(104), 1, + sym_comment, + STATE(255), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(482), 1, + sym_lambda_param, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [8227] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(408), 1, + anon_sym_LBRACE, + ACTIONS(420), 1, + sym_identifier, + STATE(24), 1, + sym_block, + STATE(47), 1, + sym__expr, + STATE(105), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [8348] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(408), 1, + anon_sym_LBRACE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(23), 1, + sym_block, + STATE(106), 1, + sym_comment, + STATE(254), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [8469] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(408), 1, + anon_sym_LBRACE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(24), 1, + sym_block, + STATE(107), 1, + sym_comment, + STATE(246), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [8590] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(408), 1, + anon_sym_LBRACE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(30), 1, + sym_block, + STATE(108), 1, + sym_comment, + STATE(247), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [8711] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(408), 1, + anon_sym_LBRACE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(34), 1, + sym_block, + STATE(109), 1, + sym_comment, + STATE(248), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [8832] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(408), 1, + anon_sym_LBRACE, + ACTIONS(420), 1, + sym_identifier, + STATE(30), 1, + sym_block, + STATE(51), 1, + sym__expr, + STATE(110), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [8953] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(414), 1, + sym_identifier, + ACTIONS(436), 1, + anon_sym_RBRACE, + STATE(111), 1, + sym_comment, + STATE(230), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(493), 1, + sym_keyed_element, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [9074] = 30, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(112), 1, + sym_comment, + STATE(192), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(388), 1, + sym_block, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [9195] = 4, + STATE(113), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(161), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(159), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [9264] = 4, + STATE(114), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(197), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(195), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [9333] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(394), 1, + sym_identifier, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(438), 1, + anon_sym_RPAREN, + STATE(115), 1, + sym_comment, + STATE(255), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(516), 1, + sym_lambda_param, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [9454] = 4, + STATE(116), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(201), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(199), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [9523] = 30, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(394), 1, + sym_identifier, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(440), 1, + anon_sym_RPAREN, + STATE(117), 1, + sym_comment, + STATE(250), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(522), 1, + sym_lambda_param, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [9644] = 4, + STATE(118), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(205), 25, + anon_sym_match, + anon_sym_if, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_QMARK, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_EQ, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(203), 32, + anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_LBRACK, + anon_sym_QMARK_DOT, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [9713] = 30, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + ACTIONS(418), 1, + anon_sym_LBRACE, + STATE(63), 1, + sym__expr, + STATE(80), 1, + sym_block, + STATE(119), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [9834] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(442), 1, + anon_sym_RBRACK, + STATE(120), 1, + sym_comment, + STATE(249), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [9952] = 29, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(442), 1, + anon_sym_RBRACK, + ACTIONS(444), 1, + sym_identifier, + ACTIONS(446), 1, + anon_sym_STAR, + ACTIONS(448), 1, + anon_sym_LT_DASH, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(452), 1, + anon_sym_func, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + STATE(121), 1, + sym_comment, + STATE(249), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(460), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [10070] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(458), 1, + anon_sym_RPAREN, + STATE(122), 1, + sym_comment, + STATE(233), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [10188] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(414), 1, + sym_identifier, + STATE(123), 1, + sym_comment, + STATE(230), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(537), 1, + sym_keyed_element, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [10306] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(460), 1, + anon_sym_RPAREN, + STATE(124), 1, + sym_comment, + STATE(226), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [10424] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(462), 1, + anon_sym_RPAREN, + STATE(125), 1, + sym_comment, + STATE(227), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [10542] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(464), 1, + anon_sym_RPAREN, + STATE(126), 1, + sym_comment, + STATE(232), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [10660] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(127), 1, + sym_comment, + STATE(203), 1, + sym_expr_list, + STATE(234), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [10778] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(412), 1, + anon_sym_RBRACK, + ACTIONS(420), 1, + sym_identifier, + STATE(128), 1, + sym_comment, + STATE(257), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [10896] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(466), 1, + anon_sym_RBRACK, + STATE(129), 1, + sym_comment, + STATE(253), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11014] = 29, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(130), 1, + sym_comment, + STATE(187), 1, + sym__expr, + STATE(207), 1, + sym_expr_list, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11132] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(468), 1, + anon_sym_RBRACK, + STATE(131), 1, + sym_comment, + STATE(260), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11250] = 29, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(444), 1, + sym_identifier, + ACTIONS(446), 1, + anon_sym_STAR, + ACTIONS(448), 1, + anon_sym_LT_DASH, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(452), 1, + anon_sym_func, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(466), 1, + anon_sym_RBRACK, + STATE(132), 1, + sym_comment, + STATE(253), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(460), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11368] = 29, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(133), 1, + sym_comment, + STATE(187), 1, + sym__expr, + STATE(203), 1, + sym_expr_list, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11486] = 29, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(444), 1, + sym_identifier, + ACTIONS(446), 1, + anon_sym_STAR, + ACTIONS(448), 1, + anon_sym_LT_DASH, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(452), 1, + anon_sym_func, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(470), 1, + anon_sym_RBRACK, + STATE(134), 1, + sym_comment, + STATE(262), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(460), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11604] = 29, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(470), 1, + anon_sym_RBRACK, + STATE(135), 1, + sym_comment, + STATE(262), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11722] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(136), 1, + sym_comment, + STATE(219), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11837] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(137), 1, + sym_comment, + STATE(258), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [11952] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(138), 1, + sym_comment, + STATE(237), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12067] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(52), 1, + sym__expr, + STATE(139), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12182] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(13), 1, + sym__expr, + STATE(140), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12297] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(141), 1, + sym_comment, + STATE(251), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12412] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(45), 1, + sym__expr, + STATE(142), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12527] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(44), 1, + sym__expr, + STATE(143), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12642] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(46), 1, + sym__expr, + STATE(144), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12757] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(48), 1, + sym__expr, + STATE(145), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12872] = 28, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(444), 1, + sym_identifier, + ACTIONS(446), 1, + anon_sym_STAR, + ACTIONS(448), 1, + anon_sym_LT_DASH, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(452), 1, + anon_sym_func, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + STATE(146), 1, + sym_comment, + STATE(243), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(460), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [12987] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(147), 1, + sym_comment, + STATE(256), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [13102] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(53), 1, + sym__expr, + STATE(148), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [13217] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(53), 1, + sym__expr, + STATE(149), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(567), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [13332] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + ACTIONS(472), 1, + anon_sym_chan, + STATE(53), 1, + sym__expr, + STATE(150), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [13447] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(151), 1, + sym_comment, + STATE(220), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [13562] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(13), 1, + sym__expr, + STATE(152), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [13677] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(153), 1, + sym_comment, + STATE(223), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [13792] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(17), 1, + sym__expr, + STATE(154), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [13907] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(155), 1, + sym_comment, + STATE(224), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14022] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(156), 1, + sym_comment, + STATE(221), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14137] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(17), 1, + sym__expr, + STATE(157), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(480), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14252] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(472), 1, + anon_sym_chan, + STATE(17), 1, + sym__expr, + STATE(158), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14367] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(159), 1, + sym_comment, + STATE(188), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14482] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(160), 1, + sym_comment, + STATE(194), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14597] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(56), 1, + sym__expr, + STATE(161), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14712] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(54), 1, + sym__expr, + STATE(162), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14827] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(57), 1, + sym__expr, + STATE(163), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [14942] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(58), 1, + sym__expr, + STATE(164), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15057] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(59), 1, + sym__expr, + STATE(165), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15172] = 28, + ACTIONS(21), 1, + sym_identifier, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_match, + ACTIONS(33), 1, + anon_sym_PIPE, + ACTIONS(37), 1, + anon_sym_STAR, + ACTIONS(39), 1, + anon_sym_LT_DASH, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_func, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(61), 1, + aux_sym_int_literal_token4, + ACTIONS(63), 1, + sym_float_literal, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + ACTIONS(69), 1, + anon_sym_SQUOTE, + STATE(60), 1, + sym__expr, + STATE(166), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(578), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(57), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(59), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(118), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(35), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(66), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15287] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(167), 1, + sym_comment, + STATE(259), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15402] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(13), 1, + sym__expr, + STATE(168), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15517] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(169), 1, + sym_comment, + STATE(261), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15632] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(170), 1, + sym_comment, + STATE(242), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15747] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(171), 1, + sym_comment, + STATE(244), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15862] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(172), 1, + sym_comment, + STATE(245), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [15977] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(173), 1, + sym_comment, + STATE(198), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [16092] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(174), 1, + sym_comment, + STATE(195), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [16207] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(17), 1, + sym__expr, + STATE(175), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [16322] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + STATE(17), 1, + sym__expr, + STATE(176), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(480), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [16437] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(364), 1, + sym_identifier, + ACTIONS(366), 1, + anon_sym_LPAREN, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(374), 1, + anon_sym_STAR, + ACTIONS(376), 1, + anon_sym_LT_DASH, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(472), 1, + anon_sym_chan, + STATE(17), 1, + sym__expr, + STATE(177), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(372), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [16552] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(178), 1, + sym_comment, + STATE(196), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [16667] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(17), 1, + sym__expr, + STATE(179), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [16782] = 28, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(444), 1, + sym_identifier, + ACTIONS(446), 1, + anon_sym_STAR, + ACTIONS(448), 1, + anon_sym_LT_DASH, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(452), 1, + anon_sym_func, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + STATE(17), 1, + sym__expr, + STATE(180), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(480), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [16897] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + ACTIONS(472), 1, + anon_sym_chan, + STATE(17), 1, + sym__expr, + STATE(181), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [17012] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(424), 1, + sym_identifier, + ACTIONS(426), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_PIPE, + ACTIONS(432), 1, + anon_sym_STAR, + ACTIONS(434), 1, + anon_sym_LT_DASH, + STATE(17), 1, + sym__expr, + STATE(182), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(480), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(430), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [17127] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(183), 1, + sym_comment, + STATE(197), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [17242] = 28, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(444), 1, + sym_identifier, + ACTIONS(446), 1, + anon_sym_STAR, + ACTIONS(448), 1, + anon_sym_LT_DASH, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(452), 1, + anon_sym_func, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + STATE(184), 1, + sym_comment, + STATE(252), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(460), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [17357] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + STATE(185), 1, + sym_comment, + STATE(241), 1, + sym__expr, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [17472] = 28, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(368), 1, + anon_sym_match, + ACTIONS(378), 1, + anon_sym_func, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(400), 1, + anon_sym_PIPE, + ACTIONS(404), 1, + anon_sym_STAR, + ACTIONS(406), 1, + anon_sym_LT_DASH, + ACTIONS(420), 1, + sym_identifier, + ACTIONS(474), 1, + anon_sym_chan, + STATE(17), 1, + sym__expr, + STATE(186), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(582), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + ACTIONS(402), 4, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_CARET, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + STATE(36), 13, + sym_match_expression, + sym_lambda_expression, + sym_parenthesized_expr, + sym_unary_expr, + sym_binary_expr, + sym_call_expr, + sym_selector_expr, + sym_index_expr, + sym_error_propagation, + sym_safe_navigation, + sym_composite_literal, + sym_func_literal, + sym__literal, + [17587] = 21, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(313), 1, + anon_sym_PIPE, + ACTIONS(319), 1, + anon_sym_PIPE_PIPE, + ACTIONS(321), 1, + anon_sym_AMP_AMP, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + ACTIONS(476), 1, + anon_sym_COMMA, + STATE(187), 1, + sym_comment, + STATE(200), 1, + aux_sym_call_expr_repeat1, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(315), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(317), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(339), 10, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LT_DASH, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(337), 15, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [17686] = 19, + ACTIONS(305), 1, + anon_sym_LPAREN, + ACTIONS(307), 1, + anon_sym_DOT, + ACTIONS(313), 1, + anon_sym_PIPE, + ACTIONS(319), 1, + anon_sym_PIPE_PIPE, + ACTIONS(321), 1, + anon_sym_AMP_AMP, + ACTIONS(323), 1, + anon_sym_QMARK_QMARK, + ACTIONS(331), 1, + anon_sym_LBRACK, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(335), 1, + anon_sym_QMARK_DOT, + STATE(188), 1, + sym_comment, + STATE(587), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(315), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(327), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(317), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(325), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(329), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(480), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LT_DASH, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(478), 15, + anon_sym_match, + anon_sym_if, + anon_sym_BANG, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [17780] = 22, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(167), 1, + anon_sym_DOT, + ACTIONS(170), 1, + anon_sym_LBRACE, + ACTIONS(172), 1, + anon_sym_EQ_GT, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(484), 1, + anon_sym_COMMA, + ACTIONS(486), 1, + anon_sym_STAR, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(491), 1, + anon_sym_LBRACK, + ACTIONS(494), 1, + anon_sym_RBRACK, + ACTIONS(497), 1, + anon_sym_func, + STATE(189), 1, + sym_comment, + STATE(275), 1, + sym_type_args, + STATE(385), 1, + sym_qualified_type, + STATE(553), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_QMARK, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + ACTIONS(163), 16, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_QMARK_DOT, + [17876] = 4, + STATE(190), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(283), 20, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(285), 22, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_match, + anon_sym_if, + anon_sym__, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + anon_sym_return, + anon_sym_else, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [17930] = 4, + STATE(191), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(287), 20, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + ACTIONS(289), 22, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_match, + anon_sym_if, + anon_sym__, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + anon_sym_return, + anon_sym_else, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + [17984] = 20, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(503), 1, + anon_sym_COMMA, + STATE(192), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(499), 6, + anon_sym__, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(501), 8, + anon_sym_RBRACE, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18069] = 20, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(509), 1, + anon_sym_COMMA, + STATE(193), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(505), 6, + anon_sym__, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(507), 8, + anon_sym_RBRACE, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18154] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(194), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(511), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(513), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [18232] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(195), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(515), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(517), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [18310] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(196), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(519), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(521), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [18388] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(197), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(523), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(525), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [18466] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(345), 1, + anon_sym_CARET, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(478), 1, + anon_sym_EQ, + STATE(198), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 3, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(343), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 4, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(480), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + [18543] = 5, + ACTIONS(527), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(199), 2, + sym_comment, + aux_sym_call_expr_repeat1, + ACTIONS(478), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(480), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18591] = 6, + ACTIONS(476), 1, + anon_sym_COMMA, + STATE(199), 1, + aux_sym_call_expr_repeat1, + STATE(200), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(530), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(532), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18641] = 5, + ACTIONS(538), 1, + anon_sym_else, + STATE(201), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(534), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(536), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18688] = 5, + ACTIONS(544), 1, + anon_sym_else, + STATE(202), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(540), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(542), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18735] = 4, + STATE(203), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(546), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(548), 19, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + anon_sym_SEMI, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18780] = 4, + STATE(204), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(550), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(552), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18824] = 4, + STATE(205), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(554), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(556), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18868] = 4, + STATE(206), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(540), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(542), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18912] = 4, + STATE(207), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(558), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(560), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [18956] = 4, + STATE(208), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(562), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(564), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [19000] = 4, + STATE(209), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(566), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(568), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [19044] = 4, + STATE(210), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(570), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(572), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [19088] = 4, + STATE(211), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(574), 14, + anon_sym_match, + anon_sym_if, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_return, + anon_sym_for, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(576), 18, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT_DASH, + anon_sym_CARET, + anon_sym_LBRACK, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [19132] = 23, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(309), 1, + anon_sym_SEMI, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(339), 1, + anon_sym_COLON_EQ, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(201), 1, + sym_block, + STATE(212), 1, + sym_comment, + STATE(414), 1, + aux_sym_call_expr_repeat1, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [19214] = 10, + ACTIONS(167), 1, + anon_sym_DOT, + ACTIONS(170), 1, + anon_sym_LBRACE, + ACTIONS(172), 1, + anon_sym_EQ_GT, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(596), 1, + anon_sym_COLON, + STATE(213), 1, + sym_comment, + STATE(275), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_QMARK, + ACTIONS(163), 19, + anon_sym_LPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_QMARK_DOT, + [19269] = 12, + ACTIONS(167), 1, + anon_sym_DOT, + ACTIONS(170), 1, + anon_sym_LBRACE, + ACTIONS(172), 1, + anon_sym_EQ_GT, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(599), 1, + anon_sym_RPAREN, + ACTIONS(602), 1, + anon_sym_COMMA, + ACTIONS(604), 1, + anon_sym_COLON, + STATE(214), 1, + sym_comment, + STATE(275), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_QMARK, + ACTIONS(163), 17, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_QMARK_DOT, + [19328] = 9, + ACTIONS(167), 1, + anon_sym_DOT, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(359), 1, + anon_sym_LBRACE, + ACTIONS(606), 1, + anon_sym_EQ_GT, + STATE(215), 1, + sym_comment, + STATE(275), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_QMARK, + ACTIONS(163), 20, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_QMARK_DOT, + anon_sym_SEMI, + anon_sym_COLON_EQ, + [19381] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(216), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(231), 4, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON_EQ, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [19451] = 10, + ACTIONS(167), 1, + anon_sym_DOT, + ACTIONS(172), 1, + anon_sym_EQ_GT, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(359), 1, + anon_sym_RBRACK, + STATE(217), 1, + sym_comment, + STATE(275), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(170), 2, + anon_sym_LBRACE, + anon_sym_COMMA, + ACTIONS(165), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_QMARK, + ACTIONS(163), 17, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_QMARK_DOT, + [19505] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(218), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(275), 4, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON_EQ, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [19575] = 16, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(219), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(181), 6, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_EQ, + [19641] = 12, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + STATE(220), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(183), 3, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(181), 14, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_SEMI, + anon_sym_COLON_EQ, + [19699] = 14, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + STATE(221), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(183), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(181), 11, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_EQ, + [19761] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(222), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(235), 4, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON_EQ, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [19831] = 17, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(223), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(181), 5, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_COLON_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [19899] = 15, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + STATE(224), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(181), 7, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_SEMI, + anon_sym_COLON_EQ, + [19963] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(225), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(259), 4, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON_EQ, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [20033] = 20, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(608), 1, + anon_sym_RPAREN, + STATE(226), 1, + sym_comment, + STATE(481), 1, + aux_sym_call_expr_repeat1, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [20106] = 20, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(610), 1, + anon_sym_RPAREN, + STATE(227), 1, + sym_comment, + STATE(498), 1, + aux_sym_call_expr_repeat1, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [20179] = 18, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(612), 1, + ts_builtin_sym_end, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(622), 1, + anon_sym_func, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + STATE(228), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(406), 1, + sym__type_expr, + STATE(430), 1, + sym_block, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(614), 6, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_type, + anon_sym_const, + anon_sym_var, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [20248] = 16, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(633), 1, + anon_sym_func, + STATE(229), 1, + sym_comment, + STATE(270), 1, + sym__type_expr, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(629), 3, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(631), 6, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_type, + anon_sym_const, + anon_sym_var, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [20313] = 19, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(638), 1, + anon_sym_COLON, + STATE(230), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(636), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [20384] = 18, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(640), 1, + ts_builtin_sym_end, + ACTIONS(644), 1, + anon_sym_func, + STATE(231), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(405), 1, + sym__type_expr, + STATE(426), 1, + sym_block, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(642), 6, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_type, + anon_sym_const, + anon_sym_var, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [20453] = 20, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(460), 1, + anon_sym_RPAREN, + STATE(232), 1, + sym_comment, + STATE(521), 1, + aux_sym_call_expr_repeat1, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [20526] = 20, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(462), 1, + anon_sym_RPAREN, + STATE(233), 1, + sym_comment, + STATE(495), 1, + aux_sym_call_expr_repeat1, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [20599] = 20, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(339), 1, + anon_sym_SEMI, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(234), 1, + sym_comment, + STATE(414), 1, + aux_sym_call_expr_repeat1, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [20672] = 18, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(647), 1, + ts_builtin_sym_end, + ACTIONS(651), 1, + anon_sym_func, + STATE(235), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(407), 1, + sym__type_expr, + STATE(434), 1, + sym_block, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(649), 6, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_type, + anon_sym_const, + anon_sym_var, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [20741] = 18, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(654), 1, + ts_builtin_sym_end, + ACTIONS(658), 1, + anon_sym_func, + STATE(236), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(411), 1, + sym__type_expr, + STATE(421), 1, + sym_block, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(656), 6, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_type, + anon_sym_const, + anon_sym_var, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [20810] = 19, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(202), 1, + sym_block, + STATE(237), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [20880] = 17, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(661), 1, + ts_builtin_sym_end, + ACTIONS(665), 1, + anon_sym_func, + ACTIONS(668), 1, + anon_sym_EQ, + STATE(238), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(400), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(663), 6, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_type, + anon_sym_const, + anon_sym_var, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [20946] = 9, + ACTIONS(167), 1, + anon_sym_DOT, + ACTIONS(170), 1, + anon_sym_LBRACE, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(670), 1, + anon_sym_EQ_GT, + STATE(239), 1, + sym_comment, + STATE(275), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(165), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_QMARK, + ACTIONS(163), 17, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + anon_sym_QMARK_DOT, + [20996] = 19, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + STATE(211), 1, + sym_block, + STATE(240), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21066] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + STATE(241), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(673), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21134] = 16, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(675), 1, + anon_sym_PIPE, + ACTIONS(683), 1, + anon_sym_QMARK_QMARK, + STATE(242), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(687), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(181), 3, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(685), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21197] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(689), 1, + anon_sym_RBRACK, + STATE(243), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21264] = 15, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(675), 1, + anon_sym_PIPE, + STATE(244), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(687), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(181), 4, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + ACTIONS(685), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21325] = 14, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(675), 1, + anon_sym_PIPE, + STATE(245), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(183), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(181), 8, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [21384] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(235), 1, + anon_sym_EQ_GT, + ACTIONS(675), 1, + anon_sym_PIPE, + ACTIONS(683), 1, + anon_sym_QMARK_QMARK, + ACTIONS(691), 1, + anon_sym_PIPE_PIPE, + ACTIONS(693), 1, + anon_sym_AMP_AMP, + STATE(246), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(687), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(685), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21451] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(259), 1, + anon_sym_EQ_GT, + ACTIONS(675), 1, + anon_sym_PIPE, + ACTIONS(683), 1, + anon_sym_QMARK_QMARK, + ACTIONS(691), 1, + anon_sym_PIPE_PIPE, + ACTIONS(693), 1, + anon_sym_AMP_AMP, + STATE(247), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(687), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(685), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21518] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(275), 1, + anon_sym_EQ_GT, + ACTIONS(675), 1, + anon_sym_PIPE, + ACTIONS(683), 1, + anon_sym_QMARK_QMARK, + ACTIONS(691), 1, + anon_sym_PIPE_PIPE, + ACTIONS(693), 1, + anon_sym_AMP_AMP, + STATE(248), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(687), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(685), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21585] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(695), 1, + anon_sym_RBRACK, + STATE(249), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21652] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(697), 1, + anon_sym_RPAREN, + STATE(250), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21719] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(675), 1, + anon_sym_PIPE, + ACTIONS(683), 1, + anon_sym_QMARK_QMARK, + ACTIONS(691), 1, + anon_sym_PIPE_PIPE, + ACTIONS(693), 1, + anon_sym_AMP_AMP, + ACTIONS(699), 1, + anon_sym_EQ_GT, + STATE(251), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(687), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(685), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21786] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(701), 1, + anon_sym_RBRACK, + STATE(252), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21853] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(703), 1, + anon_sym_RBRACK, + STATE(253), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21920] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(231), 1, + anon_sym_EQ_GT, + ACTIONS(675), 1, + anon_sym_PIPE, + ACTIONS(683), 1, + anon_sym_QMARK_QMARK, + ACTIONS(691), 1, + anon_sym_PIPE_PIPE, + ACTIONS(693), 1, + anon_sym_AMP_AMP, + STATE(254), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(687), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(685), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [21987] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(705), 1, + anon_sym_RPAREN, + STATE(255), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [22054] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + ACTIONS(707), 1, + anon_sym_LBRACE, + STATE(256), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [22121] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(709), 1, + anon_sym_RBRACK, + STATE(257), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [22188] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(578), 1, + anon_sym_PIPE, + ACTIONS(586), 1, + anon_sym_PIPE_PIPE, + ACTIONS(588), 1, + anon_sym_AMP_AMP, + ACTIONS(590), 1, + anon_sym_QMARK_QMARK, + ACTIONS(711), 1, + anon_sym_LBRACE, + STATE(258), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(584), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(594), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(580), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(592), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(582), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [22255] = 12, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + STATE(259), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(183), 3, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + ACTIONS(181), 11, + anon_sym_EQ_GT, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + [22310] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(713), 1, + anon_sym_RBRACK, + STATE(260), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [22377] = 17, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(675), 1, + anon_sym_PIPE, + ACTIONS(683), 1, + anon_sym_QMARK_QMARK, + ACTIONS(693), 1, + anon_sym_AMP_AMP, + STATE(261), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(181), 2, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + ACTIONS(681), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(687), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(677), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(685), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(679), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [22442] = 18, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(187), 1, + anon_sym_DOT, + ACTIONS(189), 1, + anon_sym_LBRACK, + ACTIONS(191), 1, + anon_sym_QMARK, + ACTIONS(193), 1, + anon_sym_QMARK_DOT, + ACTIONS(341), 1, + anon_sym_PIPE, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE, + ACTIONS(349), 1, + anon_sym_AMP_AMP, + ACTIONS(351), 1, + anon_sym_QMARK_QMARK, + ACTIONS(715), 1, + anon_sym_RBRACK, + STATE(262), 1, + sym_comment, + STATE(574), 1, + sym_type_args, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(343), 2, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(355), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 3, + anon_sym_DASH, + anon_sym_CARET, + anon_sym_PLUS, + ACTIONS(353), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(357), 5, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_AMP_CARET, + [22509] = 4, + STATE(263), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(719), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(717), 14, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22547] = 4, + STATE(264), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(723), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(721), 14, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22585] = 15, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(265), 1, + sym_comment, + STATE(270), 1, + sym__type_expr, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(629), 6, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_RBRACK, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [22645] = 4, + STATE(266), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(727), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(170), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22682] = 4, + STATE(267), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(731), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(729), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22719] = 4, + STATE(268), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(735), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(733), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22756] = 4, + STATE(269), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(739), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(737), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22793] = 4, + STATE(270), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(743), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(741), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22830] = 4, + STATE(271), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(747), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(745), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22867] = 4, + STATE(272), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(751), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(749), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22904] = 4, + STATE(273), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(755), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(753), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22941] = 4, + STATE(274), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(759), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(757), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [22978] = 4, + STATE(275), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(763), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(761), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23015] = 4, + STATE(276), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(767), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(765), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23052] = 4, + STATE(277), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(771), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(769), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23089] = 4, + STATE(278), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(775), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(773), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23126] = 18, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(777), 1, + anon_sym_DOT, + ACTIONS(779), 1, + anon_sym_LBRACK, + ACTIONS(781), 1, + anon_sym_DOT_DOT_DOT, + STATE(275), 1, + sym_type_args, + STATE(279), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(538), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(170), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23191] = 4, + STATE(280), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(785), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(783), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23228] = 4, + STATE(281), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(789), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(787), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23265] = 4, + STATE(282), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(793), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(791), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23302] = 4, + STATE(283), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(797), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(795), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23339] = 4, + STATE(284), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(801), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + ACTIONS(799), 13, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [23376] = 5, + STATE(285), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(749), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(803), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + ACTIONS(806), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [23414] = 5, + STATE(286), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(783), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(809), 10, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + ACTIONS(812), 12, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [23452] = 17, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(815), 1, + anon_sym_LBRACE, + STATE(28), 1, + sym_block, + STATE(287), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(449), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(629), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23514] = 17, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(818), 1, + sym_identifier, + ACTIONS(820), 1, + anon_sym_RBRACE, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + STATE(288), 1, + sym_comment, + STATE(292), 1, + aux_sym_interface_type_repeat1, + STATE(397), 1, + sym_qualified_type, + STATE(403), 1, + sym__type_expr, + STATE(404), 1, + sym_method_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23575] = 17, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(834), 1, + sym_identifier, + ACTIONS(836), 1, + anon_sym_RPAREN, + ACTIONS(838), 1, + anon_sym_DOT_DOT_DOT, + STATE(289), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(486), 1, + sym_param_decl, + STATE(534), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23636] = 17, + ACTIONS(170), 1, + anon_sym_RBRACE, + ACTIONS(840), 1, + sym_identifier, + ACTIONS(843), 1, + anon_sym_DOT, + ACTIONS(845), 1, + anon_sym_STAR, + ACTIONS(848), 1, + anon_sym_LT_DASH, + ACTIONS(851), 1, + anon_sym_LBRACK, + ACTIONS(854), 1, + anon_sym_func, + ACTIONS(857), 1, + anon_sym_map, + ACTIONS(860), 1, + anon_sym_chan, + ACTIONS(863), 1, + anon_sym_struct, + ACTIONS(866), 1, + anon_sym_interface, + STATE(275), 1, + sym_type_args, + STATE(290), 1, + sym_comment, + STATE(396), 1, + sym__type_expr, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23697] = 17, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(869), 1, + sym_identifier, + ACTIONS(871), 1, + anon_sym_RBRACE, + STATE(291), 1, + sym_comment, + STATE(296), 1, + aux_sym_struct_type_repeat1, + STATE(397), 1, + sym_qualified_type, + STATE(409), 1, + sym__type_expr, + STATE(412), 1, + sym_field_decl, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23758] = 16, + ACTIONS(873), 1, + sym_identifier, + ACTIONS(876), 1, + anon_sym_RBRACE, + ACTIONS(878), 1, + anon_sym_STAR, + ACTIONS(881), 1, + anon_sym_LT_DASH, + ACTIONS(884), 1, + anon_sym_LBRACK, + ACTIONS(887), 1, + anon_sym_func, + ACTIONS(890), 1, + anon_sym_map, + ACTIONS(893), 1, + anon_sym_chan, + ACTIONS(896), 1, + anon_sym_struct, + ACTIONS(899), 1, + anon_sym_interface, + STATE(397), 1, + sym_qualified_type, + STATE(403), 1, + sym__type_expr, + STATE(404), 1, + sym_method_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(292), 2, + sym_comment, + aux_sym_interface_type_repeat1, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23817] = 17, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(869), 1, + sym_identifier, + ACTIONS(902), 1, + anon_sym_RBRACE, + STATE(291), 1, + aux_sym_struct_type_repeat1, + STATE(293), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + STATE(409), 1, + sym__type_expr, + STATE(412), 1, + sym_field_decl, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23878] = 17, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(818), 1, + sym_identifier, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(904), 1, + anon_sym_RBRACE, + STATE(288), 1, + aux_sym_interface_type_repeat1, + STATE(294), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + STATE(403), 1, + sym__type_expr, + STATE(404), 1, + sym_method_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23939] = 15, + ACTIONS(906), 1, + sym_identifier, + ACTIONS(909), 1, + anon_sym_STAR, + ACTIONS(912), 1, + anon_sym_LT_DASH, + ACTIONS(915), 1, + anon_sym_LBRACK, + ACTIONS(918), 1, + anon_sym_func, + ACTIONS(921), 1, + anon_sym_map, + ACTIONS(924), 1, + anon_sym_chan, + ACTIONS(927), 1, + anon_sym_struct, + ACTIONS(930), 1, + anon_sym_interface, + STATE(270), 1, + sym__type_expr, + STATE(295), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(629), 3, + anon_sym_RBRACE, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [23996] = 16, + ACTIONS(933), 1, + sym_identifier, + ACTIONS(936), 1, + anon_sym_RBRACE, + ACTIONS(938), 1, + anon_sym_STAR, + ACTIONS(941), 1, + anon_sym_LT_DASH, + ACTIONS(944), 1, + anon_sym_LBRACK, + ACTIONS(947), 1, + anon_sym_func, + ACTIONS(950), 1, + anon_sym_map, + ACTIONS(953), 1, + anon_sym_chan, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(959), 1, + anon_sym_interface, + STATE(397), 1, + sym_qualified_type, + STATE(409), 1, + sym__type_expr, + STATE(412), 1, + sym_field_decl, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(296), 2, + sym_comment, + aux_sym_struct_type_repeat1, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24055] = 17, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(170), 1, + anon_sym_RPAREN, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(843), 1, + anon_sym_DOT, + ACTIONS(962), 1, + anon_sym_STAR, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(966), 1, + anon_sym_LBRACK, + ACTIONS(968), 1, + anon_sym_func, + STATE(275), 1, + sym_type_args, + STATE(297), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(603), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24116] = 17, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(970), 1, + sym_identifier, + ACTIONS(972), 1, + anon_sym_RBRACE, + ACTIONS(974), 1, + anon_sym__, + STATE(298), 1, + sym_comment, + STATE(306), 1, + aux_sym_match_expression_repeat1, + STATE(392), 1, + sym_match_arm, + STATE(552), 1, + sym_match_pattern, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(470), 2, + sym_variant_match, + sym__literal, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + [24176] = 15, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(976), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + STATE(270), 1, + sym__type_expr, + STATE(299), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(629), 2, + anon_sym_RPAREN, + anon_sym_EQ, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24232] = 17, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(970), 1, + sym_identifier, + ACTIONS(974), 1, + anon_sym__, + ACTIONS(991), 1, + anon_sym_RBRACE, + STATE(300), 1, + sym_comment, + STATE(306), 1, + aux_sym_match_expression_repeat1, + STATE(392), 1, + sym_match_arm, + STATE(552), 1, + sym_match_pattern, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(470), 2, + sym_variant_match, + sym__literal, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + [24292] = 15, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(270), 1, + sym__type_expr, + STATE(301), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(629), 2, + anon_sym_RPAREN, + anon_sym_LBRACE, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24348] = 16, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(661), 1, + anon_sym_RPAREN, + ACTIONS(668), 1, + anon_sym_EQ, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + ACTIONS(995), 1, + sym_identifier, + STATE(302), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(400), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24406] = 16, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + ACTIONS(998), 1, + anon_sym_LBRACE, + STATE(74), 1, + sym_block, + STATE(303), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(556), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24464] = 17, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(970), 1, + sym_identifier, + ACTIONS(974), 1, + anon_sym__, + ACTIONS(1001), 1, + anon_sym_RBRACE, + STATE(298), 1, + aux_sym_match_expression_repeat1, + STATE(304), 1, + sym_comment, + STATE(392), 1, + sym_match_arm, + STATE(552), 1, + sym_match_pattern, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(470), 2, + sym_variant_match, + sym__literal, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + [24524] = 17, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(970), 1, + sym_identifier, + ACTIONS(974), 1, + anon_sym__, + ACTIONS(1003), 1, + anon_sym_RBRACE, + STATE(300), 1, + aux_sym_match_expression_repeat1, + STATE(305), 1, + sym_comment, + STATE(392), 1, + sym_match_arm, + STATE(552), 1, + sym_match_pattern, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(470), 2, + sym_variant_match, + sym__literal, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + [24584] = 16, + ACTIONS(1005), 1, + sym_identifier, + ACTIONS(1008), 1, + anon_sym_RBRACE, + ACTIONS(1010), 1, + anon_sym__, + ACTIONS(1019), 1, + aux_sym_int_literal_token4, + ACTIONS(1022), 1, + sym_float_literal, + ACTIONS(1025), 1, + anon_sym_DQUOTE, + ACTIONS(1028), 1, + aux_sym_string_literal_token3, + ACTIONS(1031), 1, + anon_sym_SQUOTE, + STATE(392), 1, + sym_match_arm, + STATE(552), 1, + sym_match_pattern, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(306), 2, + sym_comment, + aux_sym_match_expression_repeat1, + STATE(470), 2, + sym_variant_match, + sym__literal, + ACTIONS(1013), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(1016), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + [24642] = 16, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(834), 1, + sym_identifier, + ACTIONS(838), 1, + anon_sym_DOT_DOT_DOT, + STATE(307), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(534), 1, + sym__type_expr, + STATE(540), 1, + sym_param_decl, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24700] = 15, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(308), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(553), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(484), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24756] = 16, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(815), 1, + anon_sym_LBRACE, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(28), 1, + sym_block, + STATE(309), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(449), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24814] = 15, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + ACTIONS(1034), 1, + anon_sym_EQ, + STATE(310), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(401), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24869] = 15, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1034), 1, + anon_sym_EQ, + ACTIONS(1036), 1, + anon_sym_func, + STATE(311), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(401), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24924] = 15, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + ACTIONS(1038), 1, + anon_sym_LBRACK, + STATE(312), 1, + sym_comment, + STATE(325), 1, + sym_type_params, + STATE(385), 1, + sym_qualified_type, + STATE(420), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [24979] = 15, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1040), 1, + anon_sym_RPAREN, + STATE(313), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(514), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25034] = 15, + ACTIONS(1042), 1, + sym_identifier, + ACTIONS(1045), 1, + anon_sym_RBRACE, + ACTIONS(1047), 1, + anon_sym_STAR, + ACTIONS(1050), 1, + anon_sym_LT_DASH, + ACTIONS(1053), 1, + anon_sym_LBRACK, + ACTIONS(1056), 1, + anon_sym_func, + ACTIONS(1059), 1, + anon_sym_map, + ACTIONS(1062), 1, + anon_sym_chan, + ACTIONS(1065), 1, + anon_sym_struct, + ACTIONS(1068), 1, + anon_sym_interface, + STATE(314), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + STATE(410), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25089] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1071), 1, + anon_sym_chan, + STATE(280), 1, + sym__type_expr, + STATE(315), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25141] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(472), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(280), 1, + sym__type_expr, + STATE(316), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25193] = 15, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(970), 1, + sym_identifier, + ACTIONS(974), 1, + anon_sym__, + ACTIONS(1073), 1, + anon_sym_RPAREN, + STATE(317), 1, + sym_comment, + STATE(483), 1, + sym_match_pattern, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(470), 2, + sym_variant_match, + sym__literal, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + [25247] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + ACTIONS(1075), 1, + anon_sym_LT_DASH, + STATE(269), 1, + sym__type_expr, + STATE(318), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25299] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + ACTIONS(1077), 1, + anon_sym_LT_DASH, + STATE(285), 1, + sym__type_expr, + STATE(319), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25351] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(320), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(619), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25403] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + STATE(274), 1, + sym__type_expr, + STATE(321), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25455] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(1079), 1, + sym_identifier, + ACTIONS(1081), 1, + anon_sym_LT_DASH, + STATE(272), 1, + sym__type_expr, + STATE(322), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25507] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(271), 1, + sym__type_expr, + STATE(323), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25559] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(1079), 1, + sym_identifier, + STATE(267), 1, + sym__type_expr, + STATE(324), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25611] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + STATE(325), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(424), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25663] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(1079), 1, + sym_identifier, + ACTIONS(1083), 1, + anon_sym_chan, + STATE(272), 1, + sym__type_expr, + STATE(326), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25715] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(1079), 1, + sym_identifier, + ACTIONS(1083), 1, + anon_sym_chan, + STATE(280), 1, + sym__type_expr, + STATE(327), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25767] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(1079), 1, + sym_identifier, + ACTIONS(1085), 1, + anon_sym_LT_DASH, + STATE(285), 1, + sym__type_expr, + STATE(328), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25819] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(1079), 1, + sym_identifier, + STATE(271), 1, + sym__type_expr, + STATE(329), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25871] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(1079), 1, + sym_identifier, + ACTIONS(1083), 1, + anon_sym_chan, + STATE(286), 1, + sym__type_expr, + STATE(330), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25923] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(331), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(565), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [25975] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(1079), 1, + sym_identifier, + STATE(282), 1, + sym__type_expr, + STATE(332), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26027] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(333), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(532), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26079] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + ACTIONS(1087), 1, + anon_sym_LT_DASH, + STATE(272), 1, + sym__type_expr, + STATE(334), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26131] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(472), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(286), 1, + sym__type_expr, + STATE(335), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26183] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(267), 1, + sym__type_expr, + STATE(336), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26235] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(1089), 1, + sym_identifier, + ACTIONS(1091), 1, + anon_sym_STAR, + STATE(337), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(591), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26287] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(338), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(572), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26339] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(472), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(272), 1, + sym__type_expr, + STATE(339), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26391] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(282), 1, + sym__type_expr, + STATE(340), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26443] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(341), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(615), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26495] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(342), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(505), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26547] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(343), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(487), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26599] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(344), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(538), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26651] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + ACTIONS(1093), 1, + anon_sym_LT_DASH, + STATE(269), 1, + sym__type_expr, + STATE(345), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26703] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(274), 1, + sym__type_expr, + STATE(346), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26755] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + ACTIONS(1095), 1, + anon_sym_LT_DASH, + STATE(272), 1, + sym__type_expr, + STATE(347), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26807] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + STATE(267), 1, + sym__type_expr, + STATE(348), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26859] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(1036), 1, + anon_sym_func, + ACTIONS(1097), 1, + anon_sym_chan, + STATE(272), 1, + sym__type_expr, + STATE(349), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26911] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(350), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(623), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [26963] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + ACTIONS(1099), 1, + anon_sym_LT_DASH, + STATE(285), 1, + sym__type_expr, + STATE(351), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27015] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + STATE(271), 1, + sym__type_expr, + STATE(352), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27067] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(1036), 1, + anon_sym_func, + ACTIONS(1097), 1, + anon_sym_chan, + STATE(286), 1, + sym__type_expr, + STATE(353), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27119] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(354), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(543), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27171] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(627), 1, + anon_sym_chan, + ACTIONS(1036), 1, + anon_sym_func, + STATE(282), 1, + sym__type_expr, + STATE(355), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27223] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + ACTIONS(1101), 1, + anon_sym_LT_DASH, + STATE(269), 1, + sym__type_expr, + STATE(356), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27275] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(824), 1, + anon_sym_LT_DASH, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(1079), 1, + sym_identifier, + STATE(274), 1, + sym__type_expr, + STATE(357), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27327] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + ACTIONS(1103), 1, + anon_sym_LT_DASH, + STATE(272), 1, + sym__type_expr, + STATE(358), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27379] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + STATE(267), 1, + sym__type_expr, + STATE(359), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27431] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(1105), 1, + anon_sym_chan, + STATE(272), 1, + sym__type_expr, + STATE(360), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27483] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(1105), 1, + anon_sym_chan, + STATE(280), 1, + sym__type_expr, + STATE(361), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27535] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1107), 1, + anon_sym_LT_DASH, + STATE(362), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(443), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27587] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + STATE(271), 1, + sym__type_expr, + STATE(363), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27639] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1071), 1, + anon_sym_chan, + STATE(286), 1, + sym__type_expr, + STATE(364), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27691] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + STATE(282), 1, + sym__type_expr, + STATE(365), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27743] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(822), 1, + anon_sym_STAR, + ACTIONS(826), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_func, + ACTIONS(830), 1, + anon_sym_map, + ACTIONS(832), 1, + anon_sym_chan, + ACTIONS(1079), 1, + sym_identifier, + ACTIONS(1109), 1, + anon_sym_LT_DASH, + STATE(269), 1, + sym__type_expr, + STATE(366), 1, + sym_comment, + STATE(397), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27795] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + ACTIONS(1111), 1, + anon_sym_LT_DASH, + STATE(285), 1, + sym__type_expr, + STATE(367), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27847] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1071), 1, + anon_sym_chan, + STATE(368), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(444), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27899] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(1105), 1, + anon_sym_chan, + STATE(286), 1, + sym__type_expr, + STATE(369), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [27951] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(979), 1, + anon_sym_STAR, + ACTIONS(981), 1, + anon_sym_LT_DASH, + ACTIONS(983), 1, + anon_sym_LBRACK, + ACTIONS(985), 1, + anon_sym_func, + ACTIONS(987), 1, + anon_sym_map, + ACTIONS(989), 1, + anon_sym_chan, + STATE(274), 1, + sym__type_expr, + STATE(370), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28003] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(371), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(583), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28055] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1071), 1, + anon_sym_chan, + STATE(272), 1, + sym__type_expr, + STATE(372), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28107] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1113), 1, + anon_sym_LT_DASH, + STATE(285), 1, + sym__type_expr, + STATE(373), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28159] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1115), 1, + anon_sym_LT_DASH, + STATE(269), 1, + sym__type_expr, + STATE(374), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28211] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + ACTIONS(1117), 1, + anon_sym_LT_DASH, + STATE(272), 1, + sym__type_expr, + STATE(375), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28263] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(267), 1, + sym__type_expr, + STATE(376), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28315] = 14, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(45), 1, + anon_sym_map, + ACTIONS(47), 1, + anon_sym_chan, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(964), 1, + anon_sym_LT_DASH, + ACTIONS(968), 1, + anon_sym_func, + ACTIONS(993), 1, + anon_sym_STAR, + STATE(377), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(611), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28367] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(378), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + STATE(588), 1, + sym__type_expr, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28419] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(271), 1, + sym__type_expr, + STATE(379), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28471] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(282), 1, + sym__type_expr, + STATE(380), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28523] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(450), 1, + anon_sym_LBRACK, + ACTIONS(454), 1, + anon_sym_map, + ACTIONS(456), 1, + anon_sym_chan, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(489), 1, + anon_sym_LT_DASH, + ACTIONS(497), 1, + anon_sym_func, + ACTIONS(725), 1, + anon_sym_STAR, + STATE(274), 1, + sym__type_expr, + STATE(381), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28575] = 14, + ACTIONS(49), 1, + anon_sym_struct, + ACTIONS(51), 1, + anon_sym_interface, + ACTIONS(482), 1, + sym_identifier, + ACTIONS(616), 1, + anon_sym_STAR, + ACTIONS(618), 1, + anon_sym_LT_DASH, + ACTIONS(620), 1, + anon_sym_LBRACK, + ACTIONS(625), 1, + anon_sym_map, + ACTIONS(1036), 1, + anon_sym_func, + ACTIONS(1097), 1, + anon_sym_chan, + STATE(280), 1, + sym__type_expr, + STATE(382), 1, + sym_comment, + STATE(385), 1, + sym_qualified_type, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(266), 9, + sym_pointer_type, + sym_slice_type, + sym_array_type, + sym_map_type, + sym_chan_type, + sym_func_type, + sym_generic_type, + sym_struct_type, + sym_interface_type, + [28627] = 14, + ACTIONS(384), 1, + aux_sym_int_literal_token4, + ACTIONS(386), 1, + sym_float_literal, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(392), 1, + anon_sym_SQUOTE, + ACTIONS(970), 1, + sym_identifier, + ACTIONS(974), 1, + anon_sym__, + STATE(383), 1, + sym_comment, + STATE(536), 1, + sym_match_pattern, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(470), 2, + sym_variant_match, + sym__literal, + ACTIONS(380), 3, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + ACTIONS(382), 3, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + STATE(16), 3, + sym_int_literal, + sym_string_literal, + sym_rune_literal, + [28678] = 7, + ACTIONS(843), 1, + anon_sym_DOT, + ACTIONS(1119), 1, + anon_sym_LBRACK, + STATE(275), 1, + sym_type_args, + STATE(384), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(170), 8, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_EQ, + ACTIONS(727), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [28715] = 6, + ACTIONS(1119), 1, + anon_sym_LBRACK, + STATE(275), 1, + sym_type_args, + STATE(385), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(170), 8, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_EQ, + ACTIONS(727), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [28749] = 13, + ACTIONS(7), 1, + anon_sym_package, + ACTIONS(9), 1, + anon_sym_import, + ACTIONS(11), 1, + anon_sym_enum, + ACTIONS(13), 1, + anon_sym_func, + ACTIONS(15), 1, + anon_sym_type, + ACTIONS(17), 1, + anon_sym_const, + ACTIONS(19), 1, + anon_sym_var, + ACTIONS(1121), 1, + ts_builtin_sym_end, + STATE(386), 1, + sym_comment, + STATE(387), 1, + aux_sym_source_file_repeat1, + STATE(432), 1, + sym__item, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(417), 7, + sym_package_clause, + sym_import_declaration, + sym_enum_declaration, + sym_function_declaration, + sym_type_declaration, + sym_const_declaration, + sym_var_declaration, + [28796] = 12, + ACTIONS(1123), 1, + ts_builtin_sym_end, + ACTIONS(1125), 1, + anon_sym_package, + ACTIONS(1128), 1, + anon_sym_import, + ACTIONS(1131), 1, + anon_sym_enum, + ACTIONS(1134), 1, + anon_sym_func, + ACTIONS(1137), 1, + anon_sym_type, + ACTIONS(1140), 1, + anon_sym_const, + ACTIONS(1143), 1, + anon_sym_var, + STATE(432), 1, + sym__item, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(387), 2, + sym_comment, + aux_sym_source_file_repeat1, + STATE(417), 7, + sym_package_clause, + sym_import_declaration, + sym_enum_declaration, + sym_function_declaration, + sym_type_declaration, + sym_const_declaration, + sym_var_declaration, + [28841] = 5, + ACTIONS(503), 1, + anon_sym_COMMA, + STATE(388), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(499), 6, + anon_sym__, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(501), 8, + anon_sym_RBRACE, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [28870] = 5, + ACTIONS(509), 1, + anon_sym_COMMA, + STATE(389), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(505), 6, + anon_sym__, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(507), 8, + anon_sym_RBRACE, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [28899] = 7, + ACTIONS(843), 1, + anon_sym_DOT, + ACTIONS(1146), 1, + anon_sym_LBRACK, + STATE(275), 1, + sym_type_args, + STATE(390), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(170), 5, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + ACTIONS(727), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [28931] = 9, + ACTIONS(843), 1, + anon_sym_DOT, + ACTIONS(1146), 1, + anon_sym_LBRACK, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(275), 1, + sym_type_args, + STATE(314), 1, + sym_param_list, + STATE(391), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(170), 3, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + ACTIONS(727), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [28967] = 4, + STATE(392), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1151), 6, + anon_sym__, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(1153), 8, + anon_sym_RBRACE, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [28993] = 4, + STATE(393), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1155), 6, + anon_sym__, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(1157), 8, + anon_sym_RBRACE, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [29019] = 4, + STATE(394), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1159), 6, + anon_sym__, + anon_sym_true, + anon_sym_false, + anon_sym_nil, + sym_identifier, + aux_sym_int_literal_token4, + ACTIONS(1161), 8, + anon_sym_RBRACE, + aux_sym_int_literal_token1, + aux_sym_int_literal_token2, + aux_sym_int_literal_token3, + sym_float_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + anon_sym_SQUOTE, + [29045] = 4, + STATE(395), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1163), 5, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + ACTIONS(1165), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [29070] = 7, + ACTIONS(65), 1, + anon_sym_DQUOTE, + ACTIONS(67), 1, + aux_sym_string_literal_token3, + STATE(396), 1, + sym_comment, + STATE(413), 1, + sym_string_literal, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1169), 4, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1167), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29101] = 6, + ACTIONS(1146), 1, + anon_sym_LBRACK, + STATE(275), 1, + sym_type_args, + STATE(397), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(170), 5, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + ACTIONS(727), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29130] = 4, + STATE(398), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1171), 5, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + ACTIONS(1173), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [29155] = 4, + STATE(399), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1177), 5, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1175), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29178] = 5, + ACTIONS(1183), 1, + anon_sym_EQ, + STATE(400), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1179), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + ACTIONS(1181), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [29203] = 5, + ACTIONS(1189), 1, + anon_sym_EQ, + STATE(401), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1185), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + ACTIONS(1187), 8, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + sym_identifier, + [29228] = 4, + STATE(402), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1193), 5, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1191), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29251] = 4, + STATE(403), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1197), 4, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1195), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29273] = 4, + STATE(404), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1201), 4, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1199), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29295] = 5, + ACTIONS(25), 1, + anon_sym_LBRACE, + STATE(405), 1, + sym_comment, + STATE(434), 1, + sym_block, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(647), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29319] = 5, + ACTIONS(25), 1, + anon_sym_LBRACE, + STATE(406), 1, + sym_comment, + STATE(423), 1, + sym_block, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1203), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29343] = 5, + ACTIONS(25), 1, + anon_sym_LBRACE, + STATE(407), 1, + sym_comment, + STATE(436), 1, + sym_block, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1205), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29367] = 4, + ACTIONS(1207), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(408), 2, + sym_comment, + aux_sym_call_expr_repeat1, + ACTIONS(480), 8, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + [29389] = 4, + STATE(409), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1212), 4, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1210), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29411] = 4, + STATE(410), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1216), 4, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1214), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29433] = 5, + ACTIONS(25), 1, + anon_sym_LBRACE, + STATE(411), 1, + sym_comment, + STATE(430), 1, + sym_block, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(612), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29457] = 4, + STATE(412), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1220), 4, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1218), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29479] = 4, + STATE(413), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1224), 4, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LBRACK, + ACTIONS(1222), 6, + anon_sym_func, + anon_sym_map, + anon_sym_chan, + anon_sym_struct, + anon_sym_interface, + sym_identifier, + [29501] = 5, + ACTIONS(311), 1, + anon_sym_COMMA, + STATE(408), 1, + aux_sym_call_expr_repeat1, + STATE(414), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(532), 7, + anon_sym_EQ, + anon_sym_SEMI, + anon_sym_COLON_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + [29524] = 3, + STATE(415), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1226), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29542] = 9, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(1230), 1, + anon_sym_RPAREN, + STATE(398), 1, + sym_string_literal, + STATE(416), 1, + sym_comment, + STATE(419), 1, + aux_sym_import_declaration_repeat1, + STATE(445), 1, + sym_import_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1228), 2, + anon_sym_DOT, + sym_identifier, + [29572] = 3, + STATE(417), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1232), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29590] = 3, + STATE(418), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1234), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29608] = 9, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(1236), 1, + anon_sym_RPAREN, + STATE(398), 1, + sym_string_literal, + STATE(419), 1, + sym_comment, + STATE(440), 1, + aux_sym_import_declaration_repeat1, + STATE(445), 1, + sym_import_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1228), 2, + anon_sym_DOT, + sym_identifier, + [29638] = 3, + STATE(420), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1238), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29656] = 3, + STATE(421), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(612), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29674] = 3, + STATE(422), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1240), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29692] = 3, + STATE(423), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1242), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29710] = 3, + STATE(424), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1244), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29728] = 3, + STATE(425), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1246), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29746] = 3, + STATE(426), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(647), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29764] = 3, + STATE(427), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1248), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29782] = 3, + STATE(428), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1250), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29800] = 3, + STATE(429), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1252), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29818] = 3, + STATE(430), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1203), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29836] = 3, + STATE(431), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1254), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29854] = 3, + STATE(432), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1256), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29872] = 3, + STATE(433), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1258), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29890] = 3, + STATE(434), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1205), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29908] = 3, + STATE(435), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1260), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29926] = 3, + STATE(436), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1262), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29944] = 3, + STATE(437), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1264), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29962] = 3, + STATE(438), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1266), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29980] = 3, + STATE(439), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1268), 8, + ts_builtin_sym_end, + anon_sym_package, + anon_sym_import, + anon_sym_enum, + anon_sym_func, + anon_sym_type, + anon_sym_const, + anon_sym_var, + [29998] = 8, + ACTIONS(1273), 1, + anon_sym_RPAREN, + ACTIONS(1275), 1, + anon_sym_DQUOTE, + ACTIONS(1278), 1, + aux_sym_string_literal_token3, + STATE(398), 1, + sym_string_literal, + STATE(445), 1, + sym_import_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1270), 2, + anon_sym_DOT, + sym_identifier, + STATE(440), 2, + sym_comment, + aux_sym_import_declaration_repeat1, + [30026] = 8, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + ACTIONS(1281), 1, + anon_sym_LPAREN, + STATE(398), 1, + sym_string_literal, + STATE(425), 1, + sym_import_spec, + STATE(441), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1228), 2, + anon_sym_DOT, + sym_identifier, + [30053] = 4, + ACTIONS(1285), 1, + anon_sym_COLON_EQ, + STATE(442), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1283), 5, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + [30071] = 3, + STATE(443), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(803), 6, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_RBRACK, + [30087] = 3, + STATE(444), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(809), 6, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_PIPE, + anon_sym_RBRACK, + [30103] = 3, + STATE(445), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1287), 5, + anon_sym_RPAREN, + anon_sym_DOT, + sym_identifier, + anon_sym_DQUOTE, + aux_sym_string_literal_token3, + [30118] = 4, + ACTIONS(1289), 1, + anon_sym_LPAREN, + STATE(446), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1291), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_EQ_GT, + [30135] = 4, + ACTIONS(604), 1, + anon_sym_COLON, + STATE(447), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(602), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PIPE, + [30151] = 5, + ACTIONS(1295), 1, + anon_sym_DQUOTE, + STATE(448), 1, + sym_comment, + STATE(465), 1, + aux_sym_string_literal_repeat1, + ACTIONS(1293), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1297), 2, + aux_sym_string_literal_token1, + aux_sym_string_literal_token2, + [30169] = 5, + ACTIONS(1299), 1, + anon_sym_LBRACE, + STATE(26), 1, + sym_block, + STATE(449), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(741), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [30187] = 5, + ACTIONS(1302), 1, + sym_identifier, + ACTIONS(1305), 1, + anon_sym_RBRACE, + STATE(541), 1, + sym_enum_variant, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(450), 2, + sym_comment, + aux_sym_enum_declaration_repeat1, + [30205] = 6, + ACTIONS(1149), 1, + anon_sym_LPAREN, + ACTIONS(1307), 1, + anon_sym_LBRACK, + STATE(231), 1, + sym_param_list, + STATE(451), 1, + sym_comment, + STATE(544), 1, + sym_type_params, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30225] = 6, + ACTIONS(1309), 1, + sym_identifier, + ACTIONS(1311), 1, + anon_sym_RPAREN, + STATE(452), 1, + sym_comment, + STATE(455), 1, + aux_sym_const_declaration_repeat1, + STATE(559), 1, + sym_const_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30245] = 6, + ACTIONS(1313), 1, + sym_identifier, + ACTIONS(1315), 1, + anon_sym_RPAREN, + STATE(453), 1, + sym_comment, + STATE(462), 1, + aux_sym_var_declaration_repeat1, + STATE(548), 1, + sym_var_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30265] = 5, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_if, + STATE(454), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(206), 2, + sym_block, + sym_if_stmt, + [30283] = 6, + ACTIONS(1309), 1, + sym_identifier, + ACTIONS(1319), 1, + anon_sym_RPAREN, + STATE(455), 1, + sym_comment, + STATE(472), 1, + aux_sym_const_declaration_repeat1, + STATE(559), 1, + sym_const_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30303] = 3, + STATE(456), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1321), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_EQ_GT, + [30317] = 5, + ACTIONS(1323), 1, + anon_sym_DQUOTE, + STATE(457), 1, + sym_comment, + STATE(458), 1, + aux_sym_string_literal_repeat1, + ACTIONS(1293), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1297), 2, + aux_sym_string_literal_token1, + aux_sym_string_literal_token2, + [30335] = 5, + ACTIONS(1325), 1, + anon_sym_DQUOTE, + STATE(458), 1, + sym_comment, + STATE(466), 1, + aux_sym_string_literal_repeat1, + ACTIONS(1293), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1297), 2, + aux_sym_string_literal_token1, + aux_sym_string_literal_token2, + [30353] = 6, + ACTIONS(1327), 1, + sym_identifier, + ACTIONS(1329), 1, + anon_sym_RBRACE, + STATE(450), 1, + aux_sym_enum_declaration_repeat1, + STATE(459), 1, + sym_comment, + STATE(541), 1, + sym_enum_variant, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30373] = 6, + ACTIONS(1331), 1, + anon_sym_LBRACE, + ACTIONS(1333), 1, + anon_sym_COMMA, + ACTIONS(1335), 1, + anon_sym_RBRACK, + STATE(460), 1, + sym_comment, + STATE(478), 1, + aux_sym_enum_variant_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30393] = 3, + STATE(461), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1337), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_EQ_GT, + [30407] = 6, + ACTIONS(1313), 1, + sym_identifier, + ACTIONS(1339), 1, + anon_sym_RPAREN, + STATE(462), 1, + sym_comment, + STATE(475), 1, + aux_sym_var_declaration_repeat1, + STATE(548), 1, + sym_var_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30427] = 5, + ACTIONS(25), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_if, + STATE(463), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(205), 2, + sym_block, + sym_if_stmt, + [30445] = 3, + STATE(464), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1341), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_EQ_GT, + [30459] = 5, + ACTIONS(1343), 1, + anon_sym_DQUOTE, + STATE(465), 1, + sym_comment, + STATE(466), 1, + aux_sym_string_literal_repeat1, + ACTIONS(1293), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1297), 2, + aux_sym_string_literal_token1, + aux_sym_string_literal_token2, + [30477] = 4, + ACTIONS(1345), 1, + anon_sym_DQUOTE, + ACTIONS(1293), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1347), 2, + aux_sym_string_literal_token1, + aux_sym_string_literal_token2, + STATE(466), 2, + sym_comment, + aux_sym_string_literal_repeat1, + [30493] = 5, + ACTIONS(1352), 1, + anon_sym_LPAREN, + ACTIONS(1354), 1, + anon_sym_LBRACE, + STATE(467), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1350), 2, + anon_sym_RBRACE, + sym_identifier, + [30511] = 4, + ACTIONS(1358), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1356), 2, + anon_sym_RPAREN, + anon_sym_PIPE, + STATE(468), 2, + sym_comment, + aux_sym_lambda_expression_repeat1, + [30527] = 6, + ACTIONS(1327), 1, + sym_identifier, + ACTIONS(1361), 1, + anon_sym_RBRACE, + STATE(450), 1, + aux_sym_enum_declaration_repeat1, + STATE(469), 1, + sym_comment, + STATE(541), 1, + sym_enum_variant, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30547] = 3, + STATE(470), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1363), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_EQ_GT, + [30561] = 6, + ACTIONS(1149), 1, + anon_sym_LPAREN, + ACTIONS(1307), 1, + anon_sym_LBRACK, + STATE(236), 1, + sym_param_list, + STATE(471), 1, + sym_comment, + STATE(545), 1, + sym_type_params, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30581] = 5, + ACTIONS(1365), 1, + sym_identifier, + ACTIONS(1368), 1, + anon_sym_RPAREN, + STATE(559), 1, + sym_const_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(472), 2, + sym_comment, + aux_sym_const_declaration_repeat1, + [30599] = 6, + ACTIONS(1327), 1, + sym_identifier, + ACTIONS(1370), 1, + anon_sym_RBRACE, + STATE(469), 1, + aux_sym_enum_declaration_repeat1, + STATE(473), 1, + sym_comment, + STATE(541), 1, + sym_enum_variant, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30619] = 6, + ACTIONS(1327), 1, + sym_identifier, + ACTIONS(1361), 1, + anon_sym_RBRACE, + STATE(459), 1, + aux_sym_enum_declaration_repeat1, + STATE(474), 1, + sym_comment, + STATE(541), 1, + sym_enum_variant, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30639] = 5, + ACTIONS(1372), 1, + sym_identifier, + ACTIONS(1375), 1, + anon_sym_RPAREN, + STATE(548), 1, + sym_var_spec, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(475), 2, + sym_comment, + aux_sym_var_declaration_repeat1, + [30657] = 4, + ACTIONS(1379), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1377), 2, + anon_sym_RPAREN, + anon_sym_RBRACK, + STATE(476), 2, + sym_comment, + aux_sym_enum_variant_repeat1, + [30673] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1384), 1, + anon_sym_PIPE, + STATE(477), 1, + sym_comment, + STATE(507), 1, + aux_sym_lambda_expression_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30690] = 5, + ACTIONS(1333), 1, + anon_sym_COMMA, + ACTIONS(1386), 1, + anon_sym_RBRACK, + STATE(476), 1, + aux_sym_enum_variant_repeat1, + STATE(478), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30707] = 4, + ACTIONS(1388), 1, + anon_sym_RPAREN, + ACTIONS(1390), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(479), 2, + sym_comment, + aux_sym_param_list_repeat1, + [30722] = 4, + ACTIONS(1393), 1, + anon_sym_LBRACE, + STATE(480), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(757), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [30737] = 5, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(1396), 1, + anon_sym_RPAREN, + STATE(408), 1, + aux_sym_call_expr_repeat1, + STATE(481), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30754] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1398), 1, + anon_sym_RPAREN, + STATE(482), 1, + sym_comment, + STATE(529), 1, + aux_sym_lambda_expression_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30771] = 5, + ACTIONS(1400), 1, + anon_sym_RPAREN, + ACTIONS(1402), 1, + anon_sym_COMMA, + STATE(483), 1, + sym_comment, + STATE(491), 1, + aux_sym_variant_match_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30788] = 5, + ACTIONS(1404), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym_LPAREN, + STATE(435), 1, + sym_const_spec, + STATE(484), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30805] = 5, + ACTIONS(606), 1, + anon_sym_PIPE, + ACTIONS(1408), 1, + sym_identifier, + STATE(485), 1, + sym_comment, + STATE(488), 1, + sym_lambda_param, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30822] = 5, + ACTIONS(1410), 1, + anon_sym_RPAREN, + ACTIONS(1412), 1, + anon_sym_COMMA, + STATE(486), 1, + sym_comment, + STATE(489), 1, + aux_sym_param_list_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30839] = 5, + ACTIONS(1333), 1, + anon_sym_COMMA, + ACTIONS(1335), 1, + anon_sym_RBRACK, + STATE(478), 1, + aux_sym_enum_variant_repeat1, + STATE(487), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30856] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1414), 1, + anon_sym_PIPE, + STATE(488), 1, + sym_comment, + STATE(490), 1, + aux_sym_lambda_expression_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30873] = 5, + ACTIONS(1412), 1, + anon_sym_COMMA, + ACTIONS(1416), 1, + anon_sym_RPAREN, + STATE(479), 1, + aux_sym_param_list_repeat1, + STATE(489), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30890] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1418), 1, + anon_sym_PIPE, + STATE(468), 1, + aux_sym_lambda_expression_repeat1, + STATE(490), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30907] = 5, + ACTIONS(1402), 1, + anon_sym_COMMA, + ACTIONS(1420), 1, + anon_sym_RPAREN, + STATE(491), 1, + sym_comment, + STATE(502), 1, + aux_sym_variant_match_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30924] = 5, + ACTIONS(1333), 1, + anon_sym_COMMA, + ACTIONS(1422), 1, + anon_sym_RPAREN, + STATE(476), 1, + aux_sym_enum_variant_repeat1, + STATE(492), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30941] = 5, + ACTIONS(1424), 1, + anon_sym_RBRACE, + ACTIONS(1426), 1, + anon_sym_COMMA, + STATE(493), 1, + sym_comment, + STATE(497), 1, + aux_sym_composite_literal_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30958] = 5, + ACTIONS(1422), 1, + anon_sym_RBRACE, + ACTIONS(1428), 1, + anon_sym_COMMA, + STATE(494), 1, + sym_comment, + STATE(506), 1, + aux_sym_enum_variant_repeat2, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30975] = 5, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(610), 1, + anon_sym_RPAREN, + STATE(408), 1, + aux_sym_call_expr_repeat1, + STATE(495), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [30992] = 5, + ACTIONS(1430), 1, + sym_identifier, + ACTIONS(1432), 1, + anon_sym_LPAREN, + STATE(496), 1, + sym_comment, + STATE(593), 1, + sym_receiver, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31009] = 5, + ACTIONS(1426), 1, + anon_sym_COMMA, + ACTIONS(1434), 1, + anon_sym_RBRACE, + STATE(497), 1, + sym_comment, + STATE(520), 1, + aux_sym_composite_literal_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31026] = 5, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(1436), 1, + anon_sym_RPAREN, + STATE(408), 1, + aux_sym_call_expr_repeat1, + STATE(498), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31043] = 5, + ACTIONS(362), 1, + anon_sym_PIPE, + ACTIONS(1408), 1, + sym_identifier, + STATE(477), 1, + sym_lambda_param, + STATE(499), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31060] = 3, + STATE(500), 1, + sym_comment, + ACTIONS(1293), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1438), 3, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + aux_sym_string_literal_token2, + [31073] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1440), 1, + anon_sym_PIPE, + STATE(501), 1, + sym_comment, + STATE(531), 1, + aux_sym_lambda_expression_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31090] = 4, + ACTIONS(1442), 1, + anon_sym_RPAREN, + ACTIONS(1444), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(502), 2, + sym_comment, + aux_sym_variant_match_repeat1, + [31105] = 3, + STATE(503), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1356), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PIPE, + [31118] = 5, + ACTIONS(1447), 1, + sym_identifier, + ACTIONS(1449), 1, + anon_sym_LPAREN, + STATE(438), 1, + sym_var_spec, + STATE(504), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31135] = 3, + STATE(505), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1377), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + [31148] = 4, + ACTIONS(1451), 1, + anon_sym_RBRACE, + ACTIONS(1453), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(506), 2, + sym_comment, + aux_sym_enum_variant_repeat2, + [31163] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1456), 1, + anon_sym_PIPE, + STATE(468), 1, + aux_sym_lambda_expression_repeat1, + STATE(507), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31180] = 5, + ACTIONS(1307), 1, + anon_sym_LBRACK, + ACTIONS(1458), 1, + anon_sym_LBRACE, + STATE(508), 1, + sym_comment, + STATE(604), 1, + sym_type_params, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31197] = 5, + ACTIONS(1408), 1, + sym_identifier, + ACTIONS(1460), 1, + anon_sym_PIPE, + STATE(509), 1, + sym_comment, + STATE(510), 1, + sym_lambda_param, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31214] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1462), 1, + anon_sym_PIPE, + STATE(510), 1, + sym_comment, + STATE(511), 1, + aux_sym_lambda_expression_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31231] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1464), 1, + anon_sym_PIPE, + STATE(468), 1, + aux_sym_lambda_expression_repeat1, + STATE(511), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31248] = 5, + ACTIONS(1426), 1, + anon_sym_COMMA, + ACTIONS(1466), 1, + anon_sym_RBRACE, + STATE(512), 1, + sym_comment, + STATE(528), 1, + aux_sym_composite_literal_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31265] = 5, + ACTIONS(388), 1, + anon_sym_DQUOTE, + ACTIONS(390), 1, + aux_sym_string_literal_token3, + STATE(395), 1, + sym_string_literal, + STATE(513), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31282] = 5, + ACTIONS(1333), 1, + anon_sym_COMMA, + ACTIONS(1468), 1, + anon_sym_RPAREN, + STATE(492), 1, + aux_sym_enum_variant_repeat1, + STATE(514), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31299] = 5, + ACTIONS(1428), 1, + anon_sym_COMMA, + ACTIONS(1468), 1, + anon_sym_RBRACE, + STATE(494), 1, + aux_sym_enum_variant_repeat2, + STATE(515), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31316] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1470), 1, + anon_sym_RPAREN, + STATE(516), 1, + sym_comment, + STATE(519), 1, + aux_sym_lambda_expression_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31333] = 5, + ACTIONS(1472), 1, + anon_sym_COMMA, + ACTIONS(1474), 1, + anon_sym_RBRACK, + STATE(517), 1, + sym_comment, + STATE(518), 1, + aux_sym_type_params_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31350] = 4, + ACTIONS(1476), 1, + anon_sym_COMMA, + ACTIONS(1479), 1, + anon_sym_RBRACK, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(518), 2, + sym_comment, + aux_sym_type_params_repeat1, + [31365] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1481), 1, + anon_sym_RPAREN, + STATE(468), 1, + aux_sym_lambda_expression_repeat1, + STATE(519), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31382] = 4, + ACTIONS(1483), 1, + anon_sym_RBRACE, + ACTIONS(1485), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + STATE(520), 2, + sym_comment, + aux_sym_composite_literal_repeat1, + [31397] = 5, + ACTIONS(311), 1, + anon_sym_COMMA, + ACTIONS(608), 1, + anon_sym_RPAREN, + STATE(408), 1, + aux_sym_call_expr_repeat1, + STATE(521), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31414] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1488), 1, + anon_sym_RPAREN, + STATE(522), 1, + sym_comment, + STATE(523), 1, + aux_sym_lambda_expression_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31431] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1490), 1, + anon_sym_RPAREN, + STATE(468), 1, + aux_sym_lambda_expression_repeat1, + STATE(523), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31448] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1492), 1, + anon_sym_RPAREN, + STATE(524), 1, + sym_comment, + STATE(525), 1, + aux_sym_lambda_expression_repeat1, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31465] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1494), 1, + anon_sym_RPAREN, + STATE(468), 1, + aux_sym_lambda_expression_repeat1, + STATE(525), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31482] = 5, + ACTIONS(1472), 1, + anon_sym_COMMA, + ACTIONS(1496), 1, + anon_sym_RBRACK, + STATE(517), 1, + aux_sym_type_params_repeat1, + STATE(526), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31499] = 5, + ACTIONS(172), 1, + anon_sym_PIPE, + ACTIONS(1408), 1, + sym_identifier, + STATE(501), 1, + sym_lambda_param, + STATE(527), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31516] = 5, + ACTIONS(1426), 1, + anon_sym_COMMA, + ACTIONS(1498), 1, + anon_sym_RBRACE, + STATE(520), 1, + aux_sym_composite_literal_repeat1, + STATE(528), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31533] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1500), 1, + anon_sym_RPAREN, + STATE(468), 1, + aux_sym_lambda_expression_repeat1, + STATE(529), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31550] = 5, + ACTIONS(1040), 1, + anon_sym_RBRACE, + ACTIONS(1502), 1, + sym_identifier, + STATE(515), 1, + sym_variant_field, + STATE(530), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31567] = 5, + ACTIONS(1382), 1, + anon_sym_COMMA, + ACTIONS(1504), 1, + anon_sym_PIPE, + STATE(468), 1, + aux_sym_lambda_expression_repeat1, + STATE(531), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31584] = 3, + STATE(532), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1506), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PIPE, + [31597] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(301), 1, + sym_param_list, + STATE(533), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31611] = 3, + STATE(534), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1508), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [31623] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(299), 1, + sym_param_list, + STATE(535), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31637] = 3, + STATE(536), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1442), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [31649] = 3, + STATE(537), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1483), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [31661] = 3, + STATE(538), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1510), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [31673] = 3, + STATE(539), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1512), 2, + anon_sym_RBRACE, + sym_identifier, + [31685] = 3, + STATE(540), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1388), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [31697] = 3, + STATE(541), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1514), 2, + anon_sym_RBRACE, + sym_identifier, + [31709] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(295), 1, + sym_param_list, + STATE(542), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31723] = 3, + STATE(543), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1516), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [31735] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(235), 1, + sym_param_list, + STATE(544), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31749] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(228), 1, + sym_param_list, + STATE(545), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31763] = 3, + STATE(546), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1518), 2, + anon_sym_RBRACE, + sym_identifier, + [31775] = 4, + ACTIONS(1520), 1, + sym_identifier, + STATE(547), 1, + sym_comment, + STATE(551), 1, + sym_type_param, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31789] = 3, + STATE(548), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1522), 2, + anon_sym_RPAREN, + sym_identifier, + [31801] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(309), 1, + sym_param_list, + STATE(549), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31815] = 3, + STATE(550), 1, + sym_comment, + ACTIONS(1293), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1524), 2, + aux_sym_string_literal_token2, + aux_sym_rune_literal_token1, + [31827] = 3, + STATE(551), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1479), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [31839] = 4, + ACTIONS(1526), 1, + anon_sym_if, + ACTIONS(1528), 1, + anon_sym_EQ_GT, + STATE(552), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31853] = 3, + STATE(553), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1530), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [31865] = 3, + STATE(554), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1532), 2, + anon_sym_RBRACE, + sym_identifier, + [31877] = 4, + ACTIONS(1520), 1, + sym_identifier, + STATE(526), 1, + sym_type_param, + STATE(555), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31891] = 4, + ACTIONS(1534), 1, + anon_sym_LBRACE, + STATE(83), 1, + sym_block, + STATE(556), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31905] = 4, + ACTIONS(1502), 1, + sym_identifier, + STATE(557), 1, + sym_comment, + STATE(561), 1, + sym_variant_field, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31919] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(229), 1, + sym_param_list, + STATE(558), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31933] = 3, + STATE(559), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1537), 2, + anon_sym_RPAREN, + sym_identifier, + [31945] = 4, + ACTIONS(1408), 1, + sym_identifier, + STATE(503), 1, + sym_lambda_param, + STATE(560), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31959] = 3, + STATE(561), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1451), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [31971] = 3, + STATE(562), 1, + sym_comment, + ACTIONS(1293), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1539), 2, + aux_sym_string_literal_token2, + aux_sym_rune_literal_token1, + [31983] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(265), 1, + sym_param_list, + STATE(563), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [31997] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(287), 1, + sym_param_list, + STATE(564), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32011] = 3, + STATE(565), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + ACTIONS(1541), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [32023] = 4, + ACTIONS(1149), 1, + anon_sym_LPAREN, + STATE(303), 1, + sym_param_list, + STATE(566), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32037] = 3, + ACTIONS(1543), 1, + anon_sym_LBRACE, + STATE(567), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32048] = 3, + ACTIONS(1546), 1, + anon_sym_EQ_GT, + STATE(568), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32059] = 3, + ACTIONS(1548), 1, + sym_identifier, + STATE(569), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32070] = 3, + ACTIONS(1550), 1, + anon_sym_COLON_EQ, + STATE(570), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32081] = 3, + ACTIONS(1552), 1, + anon_sym_chan, + STATE(571), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32092] = 3, + ACTIONS(1554), 1, + anon_sym_RBRACK, + STATE(572), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32103] = 3, + ACTIONS(1384), 1, + anon_sym_EQ_GT, + STATE(573), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32114] = 3, + ACTIONS(1556), 1, + anon_sym_LPAREN, + STATE(574), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32125] = 3, + ACTIONS(1414), 1, + anon_sym_EQ_GT, + STATE(575), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32136] = 3, + ACTIONS(1558), 1, + ts_builtin_sym_end, + STATE(576), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32147] = 3, + ACTIONS(1560), 1, + anon_sym_COLON, + STATE(577), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32158] = 3, + ACTIONS(1562), 1, + anon_sym_LBRACE, + STATE(578), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32169] = 3, + ACTIONS(1564), 1, + sym_identifier, + STATE(579), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32180] = 3, + ACTIONS(1566), 1, + anon_sym_EQ_GT, + STATE(580), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32191] = 3, + ACTIONS(1456), 1, + anon_sym_EQ_GT, + STATE(581), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32202] = 3, + ACTIONS(1331), 1, + anon_sym_LBRACE, + STATE(582), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32213] = 3, + ACTIONS(1568), 1, + anon_sym_RBRACK, + STATE(583), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32224] = 3, + ACTIONS(1570), 1, + anon_sym_SEMI, + STATE(584), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32235] = 3, + ACTIONS(1572), 1, + anon_sym_LBRACE, + STATE(585), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32246] = 3, + ACTIONS(1574), 1, + sym_identifier, + STATE(586), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32257] = 3, + ACTIONS(1576), 1, + anon_sym_LPAREN, + STATE(587), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32268] = 3, + ACTIONS(1578), 1, + anon_sym_RBRACK, + STATE(588), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32279] = 3, + ACTIONS(1418), 1, + anon_sym_EQ_GT, + STATE(589), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32290] = 3, + ACTIONS(1580), 1, + anon_sym_chan, + STATE(590), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32301] = 3, + ACTIONS(1582), 1, + anon_sym_RPAREN, + STATE(591), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32312] = 3, + ACTIONS(1584), 1, + anon_sym_SQUOTE, + STATE(592), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32323] = 3, + ACTIONS(1586), 1, + sym_identifier, + STATE(593), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32334] = 3, + ACTIONS(1588), 1, + anon_sym_chan, + STATE(594), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32345] = 3, + ACTIONS(1590), 1, + sym_identifier, + STATE(595), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32356] = 3, + ACTIONS(1592), 1, + anon_sym_EQ_GT, + STATE(596), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32367] = 3, + ACTIONS(1594), 1, + sym_identifier, + STATE(597), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32378] = 3, + ACTIONS(1596), 1, + sym_identifier, + STATE(598), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32389] = 3, + ACTIONS(1598), 1, + sym_identifier, + STATE(599), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32400] = 3, + ACTIONS(1600), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32411] = 3, + ACTIONS(1602), 1, + anon_sym_LBRACE, + STATE(601), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32422] = 3, + ACTIONS(1604), 1, + sym_identifier, + STATE(602), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32433] = 3, + ACTIONS(1606), 1, + anon_sym_RPAREN, + STATE(603), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32444] = 3, + ACTIONS(1608), 1, + anon_sym_LBRACE, + STATE(604), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32455] = 3, + ACTIONS(1610), 1, + anon_sym_LBRACK, + STATE(605), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32466] = 3, + ACTIONS(1504), 1, + anon_sym_EQ_GT, + STATE(606), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32477] = 3, + ACTIONS(1612), 1, + sym_identifier, + STATE(607), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32488] = 3, + ACTIONS(1614), 1, + anon_sym_chan, + STATE(608), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32499] = 3, + ACTIONS(1462), 1, + anon_sym_EQ_GT, + STATE(609), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32510] = 3, + ACTIONS(1616), 1, + anon_sym_EQ_GT, + STATE(610), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32521] = 3, + ACTIONS(1618), 1, + anon_sym_RPAREN, + STATE(611), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32532] = 3, + ACTIONS(1440), 1, + anon_sym_EQ_GT, + STATE(612), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32543] = 3, + ACTIONS(1621), 1, + sym_identifier, + STATE(613), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32554] = 3, + ACTIONS(1623), 1, + anon_sym_chan, + STATE(614), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32565] = 3, + ACTIONS(1625), 1, + anon_sym_RPAREN, + STATE(615), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32576] = 3, + ACTIONS(1628), 1, + sym_identifier, + STATE(616), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32587] = 3, + ACTIONS(1630), 1, + anon_sym_LBRACK, + STATE(617), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32598] = 3, + ACTIONS(1464), 1, + anon_sym_EQ_GT, + STATE(618), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32609] = 3, + ACTIONS(1632), 1, + anon_sym_RBRACK, + STATE(619), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32620] = 3, + ACTIONS(1634), 1, + anon_sym_LBRACK, + STATE(620), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32631] = 3, + ACTIONS(1636), 1, + anon_sym_SQUOTE, + STATE(621), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32642] = 3, + ACTIONS(1638), 1, + anon_sym_LBRACK, + STATE(622), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32653] = 3, + ACTIONS(1640), 1, + anon_sym_RBRACK, + STATE(623), 1, + sym_comment, + ACTIONS(3), 2, + aux_sym_comment_token1, + aux_sym_comment_token2, + [32664] = 1, + ACTIONS(1642), 1, + ts_builtin_sym_end, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(9)] = 0, + [SMALL_STATE(10)] = 73, + [SMALL_STATE(11)] = 146, + [SMALL_STATE(12)] = 229, + [SMALL_STATE(13)] = 302, + [SMALL_STATE(14)] = 387, + [SMALL_STATE(15)] = 460, + [SMALL_STATE(16)] = 533, + [SMALL_STATE(17)] = 606, + [SMALL_STATE(18)] = 691, + [SMALL_STATE(19)] = 818, + [SMALL_STATE(20)] = 890, + [SMALL_STATE(21)] = 962, + [SMALL_STATE(22)] = 1034, + [SMALL_STATE(23)] = 1106, + [SMALL_STATE(24)] = 1178, + [SMALL_STATE(25)] = 1250, + [SMALL_STATE(26)] = 1322, + [SMALL_STATE(27)] = 1394, + [SMALL_STATE(28)] = 1466, + [SMALL_STATE(29)] = 1538, + [SMALL_STATE(30)] = 1610, + [SMALL_STATE(31)] = 1682, + [SMALL_STATE(32)] = 1754, + [SMALL_STATE(33)] = 1826, + [SMALL_STATE(34)] = 1898, + [SMALL_STATE(35)] = 1970, + [SMALL_STATE(36)] = 2042, + [SMALL_STATE(37)] = 2114, + [SMALL_STATE(38)] = 2186, + [SMALL_STATE(39)] = 2258, + [SMALL_STATE(40)] = 2330, + [SMALL_STATE(41)] = 2402, + [SMALL_STATE(42)] = 2474, + [SMALL_STATE(43)] = 2583, + [SMALL_STATE(44)] = 2684, + [SMALL_STATE(45)] = 2781, + [SMALL_STATE(46)] = 2880, + [SMALL_STATE(47)] = 2975, + [SMALL_STATE(48)] = 3076, + [SMALL_STATE(49)] = 3167, + [SMALL_STATE(50)] = 3248, + [SMALL_STATE(51)] = 3349, + [SMALL_STATE(52)] = 3450, + [SMALL_STATE(53)] = 3537, + [SMALL_STATE(54)] = 3619, + [SMALL_STATE(55)] = 3701, + [SMALL_STATE(56)] = 3801, + [SMALL_STATE(57)] = 3887, + [SMALL_STATE(58)] = 3985, + [SMALL_STATE(59)] = 4081, + [SMALL_STATE(60)] = 4175, + [SMALL_STATE(61)] = 4265, + [SMALL_STATE(62)] = 4365, + [SMALL_STATE(63)] = 4465, + [SMALL_STATE(64)] = 4565, + [SMALL_STATE(65)] = 4687, + [SMALL_STATE(66)] = 4808, + [SMALL_STATE(67)] = 4877, + [SMALL_STATE(68)] = 4998, + [SMALL_STATE(69)] = 5119, + [SMALL_STATE(70)] = 5188, + [SMALL_STATE(71)] = 5309, + [SMALL_STATE(72)] = 5430, + [SMALL_STATE(73)] = 5499, + [SMALL_STATE(74)] = 5568, + [SMALL_STATE(75)] = 5637, + [SMALL_STATE(76)] = 5706, + [SMALL_STATE(77)] = 5775, + [SMALL_STATE(78)] = 5844, + [SMALL_STATE(79)] = 5913, + [SMALL_STATE(80)] = 5982, + [SMALL_STATE(81)] = 6051, + [SMALL_STATE(82)] = 6172, + [SMALL_STATE(83)] = 6241, + [SMALL_STATE(84)] = 6310, + [SMALL_STATE(85)] = 6379, + [SMALL_STATE(86)] = 6448, + [SMALL_STATE(87)] = 6517, + [SMALL_STATE(88)] = 6586, + [SMALL_STATE(89)] = 6707, + [SMALL_STATE(90)] = 6776, + [SMALL_STATE(91)] = 6845, + [SMALL_STATE(92)] = 6914, + [SMALL_STATE(93)] = 6983, + [SMALL_STATE(94)] = 7052, + [SMALL_STATE(95)] = 7173, + [SMALL_STATE(96)] = 7242, + [SMALL_STATE(97)] = 7311, + [SMALL_STATE(98)] = 7432, + [SMALL_STATE(99)] = 7553, + [SMALL_STATE(100)] = 7674, + [SMALL_STATE(101)] = 7743, + [SMALL_STATE(102)] = 7864, + [SMALL_STATE(103)] = 7985, + [SMALL_STATE(104)] = 8106, + [SMALL_STATE(105)] = 8227, + [SMALL_STATE(106)] = 8348, + [SMALL_STATE(107)] = 8469, + [SMALL_STATE(108)] = 8590, + [SMALL_STATE(109)] = 8711, + [SMALL_STATE(110)] = 8832, + [SMALL_STATE(111)] = 8953, + [SMALL_STATE(112)] = 9074, + [SMALL_STATE(113)] = 9195, + [SMALL_STATE(114)] = 9264, + [SMALL_STATE(115)] = 9333, + [SMALL_STATE(116)] = 9454, + [SMALL_STATE(117)] = 9523, + [SMALL_STATE(118)] = 9644, + [SMALL_STATE(119)] = 9713, + [SMALL_STATE(120)] = 9834, + [SMALL_STATE(121)] = 9952, + [SMALL_STATE(122)] = 10070, + [SMALL_STATE(123)] = 10188, + [SMALL_STATE(124)] = 10306, + [SMALL_STATE(125)] = 10424, + [SMALL_STATE(126)] = 10542, + [SMALL_STATE(127)] = 10660, + [SMALL_STATE(128)] = 10778, + [SMALL_STATE(129)] = 10896, + [SMALL_STATE(130)] = 11014, + [SMALL_STATE(131)] = 11132, + [SMALL_STATE(132)] = 11250, + [SMALL_STATE(133)] = 11368, + [SMALL_STATE(134)] = 11486, + [SMALL_STATE(135)] = 11604, + [SMALL_STATE(136)] = 11722, + [SMALL_STATE(137)] = 11837, + [SMALL_STATE(138)] = 11952, + [SMALL_STATE(139)] = 12067, + [SMALL_STATE(140)] = 12182, + [SMALL_STATE(141)] = 12297, + [SMALL_STATE(142)] = 12412, + [SMALL_STATE(143)] = 12527, + [SMALL_STATE(144)] = 12642, + [SMALL_STATE(145)] = 12757, + [SMALL_STATE(146)] = 12872, + [SMALL_STATE(147)] = 12987, + [SMALL_STATE(148)] = 13102, + [SMALL_STATE(149)] = 13217, + [SMALL_STATE(150)] = 13332, + [SMALL_STATE(151)] = 13447, + [SMALL_STATE(152)] = 13562, + [SMALL_STATE(153)] = 13677, + [SMALL_STATE(154)] = 13792, + [SMALL_STATE(155)] = 13907, + [SMALL_STATE(156)] = 14022, + [SMALL_STATE(157)] = 14137, + [SMALL_STATE(158)] = 14252, + [SMALL_STATE(159)] = 14367, + [SMALL_STATE(160)] = 14482, + [SMALL_STATE(161)] = 14597, + [SMALL_STATE(162)] = 14712, + [SMALL_STATE(163)] = 14827, + [SMALL_STATE(164)] = 14942, + [SMALL_STATE(165)] = 15057, + [SMALL_STATE(166)] = 15172, + [SMALL_STATE(167)] = 15287, + [SMALL_STATE(168)] = 15402, + [SMALL_STATE(169)] = 15517, + [SMALL_STATE(170)] = 15632, + [SMALL_STATE(171)] = 15747, + [SMALL_STATE(172)] = 15862, + [SMALL_STATE(173)] = 15977, + [SMALL_STATE(174)] = 16092, + [SMALL_STATE(175)] = 16207, + [SMALL_STATE(176)] = 16322, + [SMALL_STATE(177)] = 16437, + [SMALL_STATE(178)] = 16552, + [SMALL_STATE(179)] = 16667, + [SMALL_STATE(180)] = 16782, + [SMALL_STATE(181)] = 16897, + [SMALL_STATE(182)] = 17012, + [SMALL_STATE(183)] = 17127, + [SMALL_STATE(184)] = 17242, + [SMALL_STATE(185)] = 17357, + [SMALL_STATE(186)] = 17472, + [SMALL_STATE(187)] = 17587, + [SMALL_STATE(188)] = 17686, + [SMALL_STATE(189)] = 17780, + [SMALL_STATE(190)] = 17876, + [SMALL_STATE(191)] = 17930, + [SMALL_STATE(192)] = 17984, + [SMALL_STATE(193)] = 18069, + [SMALL_STATE(194)] = 18154, + [SMALL_STATE(195)] = 18232, + [SMALL_STATE(196)] = 18310, + [SMALL_STATE(197)] = 18388, + [SMALL_STATE(198)] = 18466, + [SMALL_STATE(199)] = 18543, + [SMALL_STATE(200)] = 18591, + [SMALL_STATE(201)] = 18641, + [SMALL_STATE(202)] = 18688, + [SMALL_STATE(203)] = 18735, + [SMALL_STATE(204)] = 18780, + [SMALL_STATE(205)] = 18824, + [SMALL_STATE(206)] = 18868, + [SMALL_STATE(207)] = 18912, + [SMALL_STATE(208)] = 18956, + [SMALL_STATE(209)] = 19000, + [SMALL_STATE(210)] = 19044, + [SMALL_STATE(211)] = 19088, + [SMALL_STATE(212)] = 19132, + [SMALL_STATE(213)] = 19214, + [SMALL_STATE(214)] = 19269, + [SMALL_STATE(215)] = 19328, + [SMALL_STATE(216)] = 19381, + [SMALL_STATE(217)] = 19451, + [SMALL_STATE(218)] = 19505, + [SMALL_STATE(219)] = 19575, + [SMALL_STATE(220)] = 19641, + [SMALL_STATE(221)] = 19699, + [SMALL_STATE(222)] = 19761, + [SMALL_STATE(223)] = 19831, + [SMALL_STATE(224)] = 19899, + [SMALL_STATE(225)] = 19963, + [SMALL_STATE(226)] = 20033, + [SMALL_STATE(227)] = 20106, + [SMALL_STATE(228)] = 20179, + [SMALL_STATE(229)] = 20248, + [SMALL_STATE(230)] = 20313, + [SMALL_STATE(231)] = 20384, + [SMALL_STATE(232)] = 20453, + [SMALL_STATE(233)] = 20526, + [SMALL_STATE(234)] = 20599, + [SMALL_STATE(235)] = 20672, + [SMALL_STATE(236)] = 20741, + [SMALL_STATE(237)] = 20810, + [SMALL_STATE(238)] = 20880, + [SMALL_STATE(239)] = 20946, + [SMALL_STATE(240)] = 20996, + [SMALL_STATE(241)] = 21066, + [SMALL_STATE(242)] = 21134, + [SMALL_STATE(243)] = 21197, + [SMALL_STATE(244)] = 21264, + [SMALL_STATE(245)] = 21325, + [SMALL_STATE(246)] = 21384, + [SMALL_STATE(247)] = 21451, + [SMALL_STATE(248)] = 21518, + [SMALL_STATE(249)] = 21585, + [SMALL_STATE(250)] = 21652, + [SMALL_STATE(251)] = 21719, + [SMALL_STATE(252)] = 21786, + [SMALL_STATE(253)] = 21853, + [SMALL_STATE(254)] = 21920, + [SMALL_STATE(255)] = 21987, + [SMALL_STATE(256)] = 22054, + [SMALL_STATE(257)] = 22121, + [SMALL_STATE(258)] = 22188, + [SMALL_STATE(259)] = 22255, + [SMALL_STATE(260)] = 22310, + [SMALL_STATE(261)] = 22377, + [SMALL_STATE(262)] = 22442, + [SMALL_STATE(263)] = 22509, + [SMALL_STATE(264)] = 22547, + [SMALL_STATE(265)] = 22585, + [SMALL_STATE(266)] = 22645, + [SMALL_STATE(267)] = 22682, + [SMALL_STATE(268)] = 22719, + [SMALL_STATE(269)] = 22756, + [SMALL_STATE(270)] = 22793, + [SMALL_STATE(271)] = 22830, + [SMALL_STATE(272)] = 22867, + [SMALL_STATE(273)] = 22904, + [SMALL_STATE(274)] = 22941, + [SMALL_STATE(275)] = 22978, + [SMALL_STATE(276)] = 23015, + [SMALL_STATE(277)] = 23052, + [SMALL_STATE(278)] = 23089, + [SMALL_STATE(279)] = 23126, + [SMALL_STATE(280)] = 23191, + [SMALL_STATE(281)] = 23228, + [SMALL_STATE(282)] = 23265, + [SMALL_STATE(283)] = 23302, + [SMALL_STATE(284)] = 23339, + [SMALL_STATE(285)] = 23376, + [SMALL_STATE(286)] = 23414, + [SMALL_STATE(287)] = 23452, + [SMALL_STATE(288)] = 23514, + [SMALL_STATE(289)] = 23575, + [SMALL_STATE(290)] = 23636, + [SMALL_STATE(291)] = 23697, + [SMALL_STATE(292)] = 23758, + [SMALL_STATE(293)] = 23817, + [SMALL_STATE(294)] = 23878, + [SMALL_STATE(295)] = 23939, + [SMALL_STATE(296)] = 23996, + [SMALL_STATE(297)] = 24055, + [SMALL_STATE(298)] = 24116, + [SMALL_STATE(299)] = 24176, + [SMALL_STATE(300)] = 24232, + [SMALL_STATE(301)] = 24292, + [SMALL_STATE(302)] = 24348, + [SMALL_STATE(303)] = 24406, + [SMALL_STATE(304)] = 24464, + [SMALL_STATE(305)] = 24524, + [SMALL_STATE(306)] = 24584, + [SMALL_STATE(307)] = 24642, + [SMALL_STATE(308)] = 24700, + [SMALL_STATE(309)] = 24756, + [SMALL_STATE(310)] = 24814, + [SMALL_STATE(311)] = 24869, + [SMALL_STATE(312)] = 24924, + [SMALL_STATE(313)] = 24979, + [SMALL_STATE(314)] = 25034, + [SMALL_STATE(315)] = 25089, + [SMALL_STATE(316)] = 25141, + [SMALL_STATE(317)] = 25193, + [SMALL_STATE(318)] = 25247, + [SMALL_STATE(319)] = 25299, + [SMALL_STATE(320)] = 25351, + [SMALL_STATE(321)] = 25403, + [SMALL_STATE(322)] = 25455, + [SMALL_STATE(323)] = 25507, + [SMALL_STATE(324)] = 25559, + [SMALL_STATE(325)] = 25611, + [SMALL_STATE(326)] = 25663, + [SMALL_STATE(327)] = 25715, + [SMALL_STATE(328)] = 25767, + [SMALL_STATE(329)] = 25819, + [SMALL_STATE(330)] = 25871, + [SMALL_STATE(331)] = 25923, + [SMALL_STATE(332)] = 25975, + [SMALL_STATE(333)] = 26027, + [SMALL_STATE(334)] = 26079, + [SMALL_STATE(335)] = 26131, + [SMALL_STATE(336)] = 26183, + [SMALL_STATE(337)] = 26235, + [SMALL_STATE(338)] = 26287, + [SMALL_STATE(339)] = 26339, + [SMALL_STATE(340)] = 26391, + [SMALL_STATE(341)] = 26443, + [SMALL_STATE(342)] = 26495, + [SMALL_STATE(343)] = 26547, + [SMALL_STATE(344)] = 26599, + [SMALL_STATE(345)] = 26651, + [SMALL_STATE(346)] = 26703, + [SMALL_STATE(347)] = 26755, + [SMALL_STATE(348)] = 26807, + [SMALL_STATE(349)] = 26859, + [SMALL_STATE(350)] = 26911, + [SMALL_STATE(351)] = 26963, + [SMALL_STATE(352)] = 27015, + [SMALL_STATE(353)] = 27067, + [SMALL_STATE(354)] = 27119, + [SMALL_STATE(355)] = 27171, + [SMALL_STATE(356)] = 27223, + [SMALL_STATE(357)] = 27275, + [SMALL_STATE(358)] = 27327, + [SMALL_STATE(359)] = 27379, + [SMALL_STATE(360)] = 27431, + [SMALL_STATE(361)] = 27483, + [SMALL_STATE(362)] = 27535, + [SMALL_STATE(363)] = 27587, + [SMALL_STATE(364)] = 27639, + [SMALL_STATE(365)] = 27691, + [SMALL_STATE(366)] = 27743, + [SMALL_STATE(367)] = 27795, + [SMALL_STATE(368)] = 27847, + [SMALL_STATE(369)] = 27899, + [SMALL_STATE(370)] = 27951, + [SMALL_STATE(371)] = 28003, + [SMALL_STATE(372)] = 28055, + [SMALL_STATE(373)] = 28107, + [SMALL_STATE(374)] = 28159, + [SMALL_STATE(375)] = 28211, + [SMALL_STATE(376)] = 28263, + [SMALL_STATE(377)] = 28315, + [SMALL_STATE(378)] = 28367, + [SMALL_STATE(379)] = 28419, + [SMALL_STATE(380)] = 28471, + [SMALL_STATE(381)] = 28523, + [SMALL_STATE(382)] = 28575, + [SMALL_STATE(383)] = 28627, + [SMALL_STATE(384)] = 28678, + [SMALL_STATE(385)] = 28715, + [SMALL_STATE(386)] = 28749, + [SMALL_STATE(387)] = 28796, + [SMALL_STATE(388)] = 28841, + [SMALL_STATE(389)] = 28870, + [SMALL_STATE(390)] = 28899, + [SMALL_STATE(391)] = 28931, + [SMALL_STATE(392)] = 28967, + [SMALL_STATE(393)] = 28993, + [SMALL_STATE(394)] = 29019, + [SMALL_STATE(395)] = 29045, + [SMALL_STATE(396)] = 29070, + [SMALL_STATE(397)] = 29101, + [SMALL_STATE(398)] = 29130, + [SMALL_STATE(399)] = 29155, + [SMALL_STATE(400)] = 29178, + [SMALL_STATE(401)] = 29203, + [SMALL_STATE(402)] = 29228, + [SMALL_STATE(403)] = 29251, + [SMALL_STATE(404)] = 29273, + [SMALL_STATE(405)] = 29295, + [SMALL_STATE(406)] = 29319, + [SMALL_STATE(407)] = 29343, + [SMALL_STATE(408)] = 29367, + [SMALL_STATE(409)] = 29389, + [SMALL_STATE(410)] = 29411, + [SMALL_STATE(411)] = 29433, + [SMALL_STATE(412)] = 29457, + [SMALL_STATE(413)] = 29479, + [SMALL_STATE(414)] = 29501, + [SMALL_STATE(415)] = 29524, + [SMALL_STATE(416)] = 29542, + [SMALL_STATE(417)] = 29572, + [SMALL_STATE(418)] = 29590, + [SMALL_STATE(419)] = 29608, + [SMALL_STATE(420)] = 29638, + [SMALL_STATE(421)] = 29656, + [SMALL_STATE(422)] = 29674, + [SMALL_STATE(423)] = 29692, + [SMALL_STATE(424)] = 29710, + [SMALL_STATE(425)] = 29728, + [SMALL_STATE(426)] = 29746, + [SMALL_STATE(427)] = 29764, + [SMALL_STATE(428)] = 29782, + [SMALL_STATE(429)] = 29800, + [SMALL_STATE(430)] = 29818, + [SMALL_STATE(431)] = 29836, + [SMALL_STATE(432)] = 29854, + [SMALL_STATE(433)] = 29872, + [SMALL_STATE(434)] = 29890, + [SMALL_STATE(435)] = 29908, + [SMALL_STATE(436)] = 29926, + [SMALL_STATE(437)] = 29944, + [SMALL_STATE(438)] = 29962, + [SMALL_STATE(439)] = 29980, + [SMALL_STATE(440)] = 29998, + [SMALL_STATE(441)] = 30026, + [SMALL_STATE(442)] = 30053, + [SMALL_STATE(443)] = 30071, + [SMALL_STATE(444)] = 30087, + [SMALL_STATE(445)] = 30103, + [SMALL_STATE(446)] = 30118, + [SMALL_STATE(447)] = 30135, + [SMALL_STATE(448)] = 30151, + [SMALL_STATE(449)] = 30169, + [SMALL_STATE(450)] = 30187, + [SMALL_STATE(451)] = 30205, + [SMALL_STATE(452)] = 30225, + [SMALL_STATE(453)] = 30245, + [SMALL_STATE(454)] = 30265, + [SMALL_STATE(455)] = 30283, + [SMALL_STATE(456)] = 30303, + [SMALL_STATE(457)] = 30317, + [SMALL_STATE(458)] = 30335, + [SMALL_STATE(459)] = 30353, + [SMALL_STATE(460)] = 30373, + [SMALL_STATE(461)] = 30393, + [SMALL_STATE(462)] = 30407, + [SMALL_STATE(463)] = 30427, + [SMALL_STATE(464)] = 30445, + [SMALL_STATE(465)] = 30459, + [SMALL_STATE(466)] = 30477, + [SMALL_STATE(467)] = 30493, + [SMALL_STATE(468)] = 30511, + [SMALL_STATE(469)] = 30527, + [SMALL_STATE(470)] = 30547, + [SMALL_STATE(471)] = 30561, + [SMALL_STATE(472)] = 30581, + [SMALL_STATE(473)] = 30599, + [SMALL_STATE(474)] = 30619, + [SMALL_STATE(475)] = 30639, + [SMALL_STATE(476)] = 30657, + [SMALL_STATE(477)] = 30673, + [SMALL_STATE(478)] = 30690, + [SMALL_STATE(479)] = 30707, + [SMALL_STATE(480)] = 30722, + [SMALL_STATE(481)] = 30737, + [SMALL_STATE(482)] = 30754, + [SMALL_STATE(483)] = 30771, + [SMALL_STATE(484)] = 30788, + [SMALL_STATE(485)] = 30805, + [SMALL_STATE(486)] = 30822, + [SMALL_STATE(487)] = 30839, + [SMALL_STATE(488)] = 30856, + [SMALL_STATE(489)] = 30873, + [SMALL_STATE(490)] = 30890, + [SMALL_STATE(491)] = 30907, + [SMALL_STATE(492)] = 30924, + [SMALL_STATE(493)] = 30941, + [SMALL_STATE(494)] = 30958, + [SMALL_STATE(495)] = 30975, + [SMALL_STATE(496)] = 30992, + [SMALL_STATE(497)] = 31009, + [SMALL_STATE(498)] = 31026, + [SMALL_STATE(499)] = 31043, + [SMALL_STATE(500)] = 31060, + [SMALL_STATE(501)] = 31073, + [SMALL_STATE(502)] = 31090, + [SMALL_STATE(503)] = 31105, + [SMALL_STATE(504)] = 31118, + [SMALL_STATE(505)] = 31135, + [SMALL_STATE(506)] = 31148, + [SMALL_STATE(507)] = 31163, + [SMALL_STATE(508)] = 31180, + [SMALL_STATE(509)] = 31197, + [SMALL_STATE(510)] = 31214, + [SMALL_STATE(511)] = 31231, + [SMALL_STATE(512)] = 31248, + [SMALL_STATE(513)] = 31265, + [SMALL_STATE(514)] = 31282, + [SMALL_STATE(515)] = 31299, + [SMALL_STATE(516)] = 31316, + [SMALL_STATE(517)] = 31333, + [SMALL_STATE(518)] = 31350, + [SMALL_STATE(519)] = 31365, + [SMALL_STATE(520)] = 31382, + [SMALL_STATE(521)] = 31397, + [SMALL_STATE(522)] = 31414, + [SMALL_STATE(523)] = 31431, + [SMALL_STATE(524)] = 31448, + [SMALL_STATE(525)] = 31465, + [SMALL_STATE(526)] = 31482, + [SMALL_STATE(527)] = 31499, + [SMALL_STATE(528)] = 31516, + [SMALL_STATE(529)] = 31533, + [SMALL_STATE(530)] = 31550, + [SMALL_STATE(531)] = 31567, + [SMALL_STATE(532)] = 31584, + [SMALL_STATE(533)] = 31597, + [SMALL_STATE(534)] = 31611, + [SMALL_STATE(535)] = 31623, + [SMALL_STATE(536)] = 31637, + [SMALL_STATE(537)] = 31649, + [SMALL_STATE(538)] = 31661, + [SMALL_STATE(539)] = 31673, + [SMALL_STATE(540)] = 31685, + [SMALL_STATE(541)] = 31697, + [SMALL_STATE(542)] = 31709, + [SMALL_STATE(543)] = 31723, + [SMALL_STATE(544)] = 31735, + [SMALL_STATE(545)] = 31749, + [SMALL_STATE(546)] = 31763, + [SMALL_STATE(547)] = 31775, + [SMALL_STATE(548)] = 31789, + [SMALL_STATE(549)] = 31801, + [SMALL_STATE(550)] = 31815, + [SMALL_STATE(551)] = 31827, + [SMALL_STATE(552)] = 31839, + [SMALL_STATE(553)] = 31853, + [SMALL_STATE(554)] = 31865, + [SMALL_STATE(555)] = 31877, + [SMALL_STATE(556)] = 31891, + [SMALL_STATE(557)] = 31905, + [SMALL_STATE(558)] = 31919, + [SMALL_STATE(559)] = 31933, + [SMALL_STATE(560)] = 31945, + [SMALL_STATE(561)] = 31959, + [SMALL_STATE(562)] = 31971, + [SMALL_STATE(563)] = 31983, + [SMALL_STATE(564)] = 31997, + [SMALL_STATE(565)] = 32011, + [SMALL_STATE(566)] = 32023, + [SMALL_STATE(567)] = 32037, + [SMALL_STATE(568)] = 32048, + [SMALL_STATE(569)] = 32059, + [SMALL_STATE(570)] = 32070, + [SMALL_STATE(571)] = 32081, + [SMALL_STATE(572)] = 32092, + [SMALL_STATE(573)] = 32103, + [SMALL_STATE(574)] = 32114, + [SMALL_STATE(575)] = 32125, + [SMALL_STATE(576)] = 32136, + [SMALL_STATE(577)] = 32147, + [SMALL_STATE(578)] = 32158, + [SMALL_STATE(579)] = 32169, + [SMALL_STATE(580)] = 32180, + [SMALL_STATE(581)] = 32191, + [SMALL_STATE(582)] = 32202, + [SMALL_STATE(583)] = 32213, + [SMALL_STATE(584)] = 32224, + [SMALL_STATE(585)] = 32235, + [SMALL_STATE(586)] = 32246, + [SMALL_STATE(587)] = 32257, + [SMALL_STATE(588)] = 32268, + [SMALL_STATE(589)] = 32279, + [SMALL_STATE(590)] = 32290, + [SMALL_STATE(591)] = 32301, + [SMALL_STATE(592)] = 32312, + [SMALL_STATE(593)] = 32323, + [SMALL_STATE(594)] = 32334, + [SMALL_STATE(595)] = 32345, + [SMALL_STATE(596)] = 32356, + [SMALL_STATE(597)] = 32367, + [SMALL_STATE(598)] = 32378, + [SMALL_STATE(599)] = 32389, + [SMALL_STATE(600)] = 32400, + [SMALL_STATE(601)] = 32411, + [SMALL_STATE(602)] = 32422, + [SMALL_STATE(603)] = 32433, + [SMALL_STATE(604)] = 32444, + [SMALL_STATE(605)] = 32455, + [SMALL_STATE(606)] = 32466, + [SMALL_STATE(607)] = 32477, + [SMALL_STATE(608)] = 32488, + [SMALL_STATE(609)] = 32499, + [SMALL_STATE(610)] = 32510, + [SMALL_STATE(611)] = 32521, + [SMALL_STATE(612)] = 32532, + [SMALL_STATE(613)] = 32543, + [SMALL_STATE(614)] = 32554, + [SMALL_STATE(615)] = 32565, + [SMALL_STATE(616)] = 32576, + [SMALL_STATE(617)] = 32587, + [SMALL_STATE(618)] = 32598, + [SMALL_STATE(619)] = 32609, + [SMALL_STATE(620)] = 32620, + [SMALL_STATE(621)] = 32631, + [SMALL_STATE(622)] = 32642, + [SMALL_STATE(623)] = 32653, + [SMALL_STATE(624)] = 32664, +}; + +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}}, SHIFT(624), + [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(566), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(605), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(318), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(601), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(49), + [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(117), + [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2), + [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), + [82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(137), + [85] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(64), + [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(499), + [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(148), + [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(149), + [97] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(150), + [100] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(129), + [103] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(566), + [106] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(605), + [109] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(318), + [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(601), + [115] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(585), + [118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(18), + [121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(97), + [124] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(118), + [127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(96), + [130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(96), + [133] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(118), + [136] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(457), + [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(113), + [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(550), + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int_literal, 1, 0, 0), + [157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int_literal, 1, 0, 0), + [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 1, 0, 0), + [161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 1, 0, 0), + [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), + [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1, 0, 0), + [167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), SHIFT(586), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_expr, 1, 0, 0), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [174] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), SHIFT(343), + [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rune_literal, 3, 0, 0), + [179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rune_literal, 3, 0, 0), + [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expr, 3, 0, 0), + [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expr, 3, 0, 0), + [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), + [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), + [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal, 1, 0, 0), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__literal, 1, 0, 0), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expr, 2, 0, 0), + [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expr, 2, 0, 0), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_stmt, 1, 0, 0), + [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_stmt, 1, 0, 0), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expr, 4, 0, 0), + [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expr, 4, 0, 0), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_selector_expr, 3, 0, 0), + [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_selector_expr, 3, 0, 0), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_safe_navigation, 3, 0, 0), + [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_safe_navigation, 3, 0, 0), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_composite_literal, 3, 0, 0), + [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_composite_literal, 3, 0, 0), + [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 3, 0, 0), + [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 3, 0, 0), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, 0, 0), + [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, 0, 0), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 4, 0, 0), + [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 4, 0, 0), + [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_literal, 4, 0, 0), + [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_func_literal, 4, 0, 0), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expr, 4, 0, 0), + [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expr, 4, 0, 0), + [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_literal, 3, 0, 0), + [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_func_literal, 3, 0, 0), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_composite_literal, 4, 0, 0), + [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_composite_literal, 4, 0, 0), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, 0, 0), + [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, 0, 0), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 5, 0, 0), + [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 5, 0, 0), + [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expr, 5, 0, 0), + [269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expr, 5, 0, 0), + [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_composite_literal, 5, 0, 0), + [273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_composite_literal, 5, 0, 0), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6, 0, 0), + [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6, 0, 0), + [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expr, 6, 0, 0), + [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expr, 6, 0, 0), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expr, 3, 0, 0), + [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expr, 3, 0, 0), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expr, 3, 0, 0), + [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expr, 3, 0, 0), + [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_propagation, 2, 0, 0), + [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_propagation, 2, 0, 0), + [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_stmt, 1, 0, 0), + [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_stmt, 1, 0, 0), + [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), + [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_list, 1, 0, 0), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_list, 1, 0, 0), + [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), + [343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [359] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), REDUCE(sym__type_expr, 1, 0, 0), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(549), + [380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), + [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [410] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), + [424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [452] = {.entry = {.count = 1, .reusable = false}}, SHIFT(564), + [454] = {.entry = {.count = 1, .reusable = false}}, SHIFT(622), + [456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(319), + [474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(373), + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_call_expr_repeat1, 2, 0, 0), + [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_call_expr_repeat1, 2, 0, 0), + [482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384), + [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_param, 1, 0, 0), + [486] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), SHIFT(381), + [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(614), + [491] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), SHIFT(134), + [494] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), REDUCE(sym_type_param, 1, 0, 0), + [497] = {.entry = {.count = 1, .reusable = false}}, SHIFT(563), + [499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 5, 0, 0), + [501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 5, 0, 0), + [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 3, 0, 0), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 0), + [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_spec, 3, 0, 0), + [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_spec, 3, 0, 0), + [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_spec, 4, 0, 0), + [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_spec, 4, 0, 0), + [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_spec, 4, 0, 0), + [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_spec, 4, 0, 0), + [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_spec, 3, 0, 0), + [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_spec, 3, 0, 0), + [527] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_expr_repeat1, 2, 0, 0), SHIFT_REPEAT(159), + [530] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_list, 2, 0, 0), + [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_list, 2, 0, 0), + [534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 3, 0, 0), + [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 3, 0, 0), + [538] = {.entry = {.count = 1, .reusable = false}}, SHIFT(454), + [540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 5, 0, 0), + [542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 5, 0, 0), + [544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(463), + [546] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_short_var_decl, 3, 0, 0), + [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_var_decl, 3, 0, 0), + [550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_stmt, 2, 0, 0), + [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_stmt, 2, 0, 0), + [554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 7, 0, 0), + [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 7, 0, 0), + [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_stmt, 3, 0, 0), + [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_stmt, 3, 0, 0), + [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1, 0, 0), + [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1, 0, 0), + [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_stmt, 2, 0, 0), + [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_stmt, 2, 0, 0), + [570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__stmt, 1, 0, 0), + [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__stmt, 1, 0, 0), + [574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_stmt, 3, 0, 0), + [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_stmt, 3, 0, 0), + [578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [596] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), SHIFT(185), + [599] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_lambda_param, 1, 0, 0), REDUCE(sym__expr, 1, 0, 0), + [602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_param, 1, 0, 0), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, 0, 3), + [614] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, 0, 3), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [622] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_declaration, 5, 0, 3), SHIFT(558), + [625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(617), + [627] = {.entry = {.count = 1, .reusable = false}}, SHIFT(345), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_type, 2, 0, 0), + [631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), + [633] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(558), + [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyed_element, 1, 0, 0), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, 0, 1), + [642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, 0, 1), + [644] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_declaration, 3, 0, 1), SHIFT(558), + [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, 0, 1), + [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, 0, 1), + [651] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_declaration, 4, 0, 1), SHIFT(558), + [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, 0, 3), + [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, 0, 3), + [658] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_declaration, 4, 0, 3), SHIFT(558), + [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_spec, 1, 0, 0), + [663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_spec, 1, 0, 0), + [665] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_const_spec, 1, 0, 0), SHIFT(558), + [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [670] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), SHIFT(106), + [673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyed_element, 3, 0, 0), + [675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), + [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_args, 4, 0, 0), + [719] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_args, 4, 0, 0), + [721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_args, 3, 0, 0), + [723] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_args, 3, 0, 0), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_expr, 1, 0, 0), + [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_type, 3, 0, 0), + [731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_type, 3, 0, 0), + [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 4, 0, 0), + [735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_param_list, 4, 0, 0), + [737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chan_type, 2, 0, 0), + [739] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_chan_type, 2, 0, 0), + [741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_type, 3, 0, 0), + [743] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_func_type, 3, 0, 0), + [745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 4, 0, 0), + [747] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 4, 0, 0), + [749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chan_type, 3, 0, 0), + [751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_chan_type, 3, 0, 0), + [753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type, 3, 0, 0), + [755] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type, 3, 0, 0), + [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type, 2, 0, 0), + [759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type, 2, 0, 0), + [761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 2, 0, 0), + [763] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 2, 0, 0), + [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 3, 0, 0), + [767] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 3, 0, 0), + [769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 2, 0, 0), + [771] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_param_list, 2, 0, 0), + [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_type, 3, 0, 0), + [775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_type, 3, 0, 0), + [777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(586), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chan_type, 4, 0, 0), + [785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_chan_type, 4, 0, 0), + [787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 3, 0, 0), + [789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_param_list, 3, 0, 0), + [791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 5, 0, 0), + [793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_type, 5, 0, 0), + [795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_type, 4, 0, 0), + [797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_type, 4, 0, 0), + [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 4, 0, 0), + [801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 4, 0, 0), + [803] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_chan_type, 2, 0, 0), REDUCE(sym_chan_type, 3, 0, 0), + [806] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_chan_type, 2, 0, 0), REDUCE(sym_chan_type, 3, 0, 0), + [809] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_chan_type, 3, 0, 0), REDUCE(sym_chan_type, 4, 0, 0), + [812] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_chan_type, 3, 0, 0), REDUCE(sym_chan_type, 4, 0, 0), + [815] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(5), + [818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(391), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), + [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(542), + [830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(600), + [832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(366), + [834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), + [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [840] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(390), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [845] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(357), + [848] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(594), + [851] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(121), + [854] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(542), + [857] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(600), + [860] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(366), + [863] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(601), + [866] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(585), + [869] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [873] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(391), + [876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), + [878] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(357), + [881] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(594), + [884] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(120), + [887] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(542), + [890] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(600), + [893] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(366), + [896] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(601), + [899] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_type_repeat1, 2, 0, 0), SHIFT_REPEAT(585), + [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [906] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(390), + [909] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(357), + [912] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(594), + [915] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(120), + [918] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(542), + [921] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(600), + [924] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(366), + [927] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(601), + [930] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(585), + [933] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(290), + [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), + [938] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(357), + [941] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(594), + [944] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(120), + [947] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(542), + [950] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(600), + [953] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(366), + [956] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(601), + [959] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_type_repeat1, 2, 0, 0), SHIFT_REPEAT(585), + [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), + [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(533), + [970] = {.entry = {.count = 1, .reusable = false}}, SHIFT(446), + [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [974] = {.entry = {.count = 1, .reusable = false}}, SHIFT(470), + [976] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(384), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(535), + [987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(620), + [989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(356), + [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [995] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_const_spec, 1, 0, 0), SHIFT(384), + [998] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_func_type, 2, 0, 0), SHIFT(7), + [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1005] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(446), + [1008] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), + [1010] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(470), + [1013] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(16), + [1016] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(9), + [1019] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(9), + [1022] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(16), + [1025] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(448), + [1028] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [1031] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(562), + [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [1036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(558), + [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), + [1042] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(390), + [1045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_spec, 2, 0, 0), + [1047] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(357), + [1050] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(594), + [1053] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(120), + [1056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(542), + [1059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(600), + [1062] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(366), + [1065] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(601), + [1068] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_method_spec, 2, 0, 0), SHIFT(585), + [1071] = {.entry = {.count = 1, .reusable = false}}, SHIFT(362), + [1073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [1079] = {.entry = {.count = 1, .reusable = false}}, SHIFT(390), + [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [1083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(328), + [1085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [1089] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297), + [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [1097] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351), + [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [1105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(367), + [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [1111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), + [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [1121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [1123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [1125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(595), + [1128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(441), + [1131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(607), + [1134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(496), + [1137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(597), + [1140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(484), + [1143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(504), + [1146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_expr, 1, 0, 0), SHIFT(343), + [1149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [1151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 1, 0, 0), + [1153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 1, 0, 0), + [1155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 4, 0, 0), + [1157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 4, 0, 0), + [1159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 6, 0, 0), + [1161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 6, 0, 0), + [1163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_spec, 2, 0, 0), + [1165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_spec, 2, 0, 0), + [1167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_decl, 2, 0, 0), + [1169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_decl, 2, 0, 0), + [1171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_spec, 1, 0, 0), + [1173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_spec, 1, 0, 0), + [1175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_params, 3, 0, 0), + [1177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_params, 3, 0, 0), + [1179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_spec, 2, 0, 0), + [1181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_spec, 2, 0, 0), + [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_spec, 2, 0, 0), + [1187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_spec, 2, 0, 0), + [1189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [1191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_params, 4, 0, 0), + [1193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_params, 4, 0, 0), + [1195] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_spec, 1, 0, 0), + [1197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_spec, 1, 0, 0), + [1199] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interface_type_repeat1, 1, 0, 0), + [1201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_type_repeat1, 1, 0, 0), + [1203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, 0, 3), + [1205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, 0, 1), + [1207] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_call_expr_repeat1, 2, 0, 0), SHIFT_REPEAT(173), + [1210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_decl, 1, 0, 0), + [1212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_decl, 1, 0, 0), + [1214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_spec, 3, 0, 0), + [1216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_spec, 3, 0, 0), + [1218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_type_repeat1, 1, 0, 0), + [1220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_type_repeat1, 1, 0, 0), + [1222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_decl, 3, 0, 0), + [1224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_decl, 3, 0, 0), + [1226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 3, 0, 0), + [1228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [1230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__item, 1, 0, 0), + [1234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 4, 0, 1), + [1236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [1238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 3, 0, 0), + [1240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, 0, 1), + [1242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, 0, 3), + [1244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, 0, 0), + [1246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, 0, 0), + [1248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 3, 0, 0), + [1250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 3, 0, 0), + [1252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 4, 0, 0), + [1254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 4, 0, 0), + [1256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1, 0, 0), + [1258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, 0, 1), + [1260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 2, 0, 0), + [1262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, 0, 1), + [1264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_package_clause, 2, 0, 0), + [1266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 2, 0, 0), + [1268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 4, 0, 0), + [1270] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(513), + [1273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_declaration_repeat1, 2, 0, 0), + [1275] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(448), + [1278] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [1281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [1285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [1287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_declaration_repeat1, 1, 0, 0), + [1289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [1291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variant_match, 1, 0, 0), + [1293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(624), + [1295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [1297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(500), + [1299] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_func_type, 3, 0, 0), SHIFT(5), + [1302] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(467), + [1305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_declaration_repeat1, 2, 0, 0), + [1307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), + [1309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [1311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [1313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [1315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [1317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [1319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variant_match, 3, 0, 0), + [1323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), + [1325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [1327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [1329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [1331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [1333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), + [1335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [1337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variant_match, 4, 0, 0), + [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [1341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variant_match, 5, 0, 0), + [1343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [1345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), + [1347] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(500), + [1350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 1, 0, 2), + [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [1354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [1356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_expression_repeat1, 2, 0, 0), + [1358] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(560), + [1361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [1363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_pattern, 1, 0, 0), + [1365] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_const_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(302), + [1368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_const_declaration_repeat1, 2, 0, 0), + [1370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [1372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_var_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(310), + [1375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_var_declaration_repeat1, 2, 0, 0), + [1377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), + [1379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), SHIFT_REPEAT(342), + [1382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [1384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [1386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [1388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2, 0, 0), + [1390] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2, 0, 0), SHIFT_REPEAT(307), + [1393] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_pointer_type, 2, 0, 0), SHIFT(70), + [1396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [1400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [1402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [1404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [1406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [1410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [1412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [1414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [1418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [1420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [1422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [1424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [1426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [1428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [1430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [1432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [1434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [1436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [1438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 1, 0, 0), + [1440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [1442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_variant_match_repeat1, 2, 0, 0), + [1444] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_variant_match_repeat1, 2, 0, 0), SHIFT_REPEAT(383), + [1447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [1449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [1451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat2, 2, 0, 0), + [1453] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat2, 2, 0, 0), SHIFT_REPEAT(557), + [1456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [1458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [1462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [1464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [1466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [1468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), + [1470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), + [1472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), + [1474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1476] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_params_repeat1, 2, 0, 0), SHIFT_REPEAT(547), + [1479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_params_repeat1, 2, 0, 0), + [1481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [1483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_composite_literal_repeat1, 2, 0, 0), + [1485] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_composite_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(123), + [1488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), + [1490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [1492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), + [1494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [1498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [1500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), + [1502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), + [1504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [1506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_param, 3, 0, 0), + [1508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_decl, 1, 0, 0), + [1510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_decl, 2, 0, 0), + [1512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 5, 0, 2), + [1514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_declaration_repeat1, 1, 0, 0), + [1516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variant_field, 3, 0, 0), + [1518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 3, 0, 2), + [1520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [1522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_var_declaration_repeat1, 1, 0, 0), + [1524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621), + [1526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [1528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [1530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_param, 2, 0, 0), + [1532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 4, 0, 2), + [1534] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_func_type, 3, 0, 0), SHIFT(7), + [1537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_const_declaration_repeat1, 1, 0, 0), + [1539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(592), + [1541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_decl, 3, 0, 0), + [1543] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_pointer_type, 2, 0, 0), SHIFT(111), + [1546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [1548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [1550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [1552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [1554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [1556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [1558] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [1562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [1564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [1570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [1572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [1574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [1578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [1584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [1586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [1590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [1592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receiver, 3, 0, 0), + [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [1604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receiver, 4, 0, 0), + [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [1612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), + [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [1616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [1618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_pointer_type, 2, 0, 0), SHIFT(602), + [1621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receiver, 5, 0, 0), + [1623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [1625] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_pointer_type, 2, 0, 0), SHIFT(613), + [1628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [1636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [1638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [1642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 1, 0, 0), +}; + +#ifdef __cplusplus +extern "C" { +#endif +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) +#endif + +TS_PUBLIC const TSLanguage *tree_sitter_dingo(void) { + static const TSLanguage language = { + .abi_version = LANGUAGE_VERSION, + .symbol_count = SYMBOL_COUNT, + .alias_count = ALIAS_COUNT, + .token_count = TOKEN_COUNT, + .external_token_count = EXTERNAL_TOKEN_COUNT, + .state_count = STATE_COUNT, + .large_state_count = LARGE_STATE_COUNT, + .production_id_count = PRODUCTION_ID_COUNT, + .field_count = FIELD_COUNT, + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, + .parse_table = &ts_parse_table[0][0], + .small_parse_table = ts_small_parse_table, + .small_parse_table_map = ts_small_parse_table_map, + .parse_actions = ts_parse_actions, + .symbol_names = ts_symbol_names, + .field_names = ts_field_names, + .field_map_slices = ts_field_map_slices, + .field_map_entries = ts_field_map_entries, + .symbol_metadata = ts_symbol_metadata, + .public_symbol_map = ts_symbol_map, + .alias_map = ts_non_terminal_alias_map, + .alias_sequences = &ts_alias_sequences[0][0], + .lex_modes = (const void*)ts_lex_modes, + .lex_fn = ts_lex, + .keyword_lex_fn = ts_lex_keywords, + .keyword_capture_token = sym_identifier, + .primary_state_ids = ts_primary_state_ids, + }; + return &language; +} +#ifdef __cplusplus +} +#endif diff --git a/editors/nvim/tree-sitter-dingo/src/tree_sitter/alloc.h b/editors/nvim/tree-sitter-dingo/src/tree_sitter/alloc.h new file mode 100644 index 0000000..1abdd12 --- /dev/null +++ b/editors/nvim/tree-sitter-dingo/src/tree_sitter/alloc.h @@ -0,0 +1,54 @@ +#ifndef TREE_SITTER_ALLOC_H_ +#define TREE_SITTER_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +// Allow clients to override allocation functions +#ifdef TREE_SITTER_REUSE_ALLOCATOR + +extern void *(*ts_current_malloc)(size_t size); +extern void *(*ts_current_calloc)(size_t count, size_t size); +extern void *(*ts_current_realloc)(void *ptr, size_t size); +extern void (*ts_current_free)(void *ptr); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/editors/nvim/tree-sitter-dingo/src/tree_sitter/array.h b/editors/nvim/tree-sitter-dingo/src/tree_sitter/array.h new file mode 100644 index 0000000..a17a574 --- /dev/null +++ b/editors/nvim/tree-sitter-dingo/src/tree_sitter/array.h @@ -0,0 +1,291 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + _array__reserve((Array *)(self), array_elem_size(self), new_capacity) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) _array__delete((Array *)(self)) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + (_array__grow((Array *)(self), 1, array_elem_size(self)), \ + (self)->contents[(self)->size++] = (element)) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + _array__grow((Array *)(self), count, array_elem_size(self)); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), (self)->size, \ + 0, count, contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), _index, \ + old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((Array *)(self), array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) + +/// Swap one array with another +#define array_swap(self, other) \ + _array__swap((Array *)(self), (Array *)(other)) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +typedef Array(void) Array; + +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(Array *self) { + if (self->contents) { + ts_free(self->contents); + self->contents = NULL; + self->size = 0; + self->capacity = 0; + } +} + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(Array *self, size_t element_size, + uint32_t index) { + assert(index < self->size); + char *contents = (char *)self->contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (self->size - index - 1) * element_size); + self->size--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { + if (new_capacity > self->capacity) { + if (self->contents) { + self->contents = ts_realloc(self->contents, new_capacity * element_size); + } else { + self->contents = ts_malloc(new_capacity * element_size); + } + self->capacity = new_capacity; + } +} + +/// This is not what you're looking for, see `array_assign`. +static inline void _array__assign(Array *self, const Array *other, size_t element_size) { + _array__reserve(self, element_size, other->size); + self->size = other->size; + memcpy(self->contents, other->contents, self->size * element_size); +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(Array *self, Array *other) { + Array swap = *other; + *other = *self; + *self = swap; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { + uint32_t new_size = self->size + count; + if (new_size > self->capacity) { + uint32_t new_capacity = self->capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + _array__reserve(self, element_size, new_capacity); + } +} + +/// This is not what you're looking for, see `array_splice`. +static inline void _array__splice(Array *self, size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = self->size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + assert(old_end <= self->size); + + _array__reserve(self, element_size, new_size); + + char *contents = (char *)self->contents; + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + self->size += new_count - old_count; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(pop) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/editors/nvim/tree-sitter-dingo/src/tree_sitter/parser.h b/editors/nvim/tree-sitter-dingo/src/tree_sitter/parser.h new file mode 100644 index 0000000..858107d --- /dev/null +++ b/editors/nvim/tree-sitter-dingo/src/tree_sitter/parser.h @@ -0,0 +1,286 @@ +#ifndef TREE_SITTER_PARSER_H_ +#define TREE_SITTER_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ts_builtin_sym_error ((TSSymbol)-1) +#define ts_builtin_sym_end 0 +#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +typedef struct TSLanguageMetadata { + uint8_t major_version; + uint8_t minor_version; + uint8_t patch_version; +} TSLanguageMetadata; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +// Used to index the field and supertype maps. +typedef struct { + uint16_t index; + uint16_t length; +} TSMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); + void (*log)(const TSLexer *, const char *, ...); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; + uint16_t reserved_word_set_id; +} TSLexerMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + +struct TSLanguage { + uint32_t abi_version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexerMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; + const char *name; + const TSSymbol *reserved_words; + uint16_t max_reserved_word_set_size; + uint32_t supertype_count; + const TSSymbol *supertype_symbols; + const TSMapSlice *supertype_map_slices; + const TSSymbol *supertype_map_entries; + TSLanguageMetadata metadata; +}; + +static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + const TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + const TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + +/* + * Lexer Macros + */ + +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + UNUSED \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value) \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value), \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_