#include <tree_sitter/parser.h>

#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif

#define LANGUAGE_VERSION 14
#define STATE_COUNT 442
#define LARGE_STATE_COUNT 49
#define SYMBOL_COUNT 197
#define ALIAS_COUNT 4
#define TOKEN_COUNT 106
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 18
#define MAX_ALIAS_SEQUENCE_LENGTH 12
#define PRODUCTION_ID_COUNT 61

enum {
  sym_identifier = 1,
  anon_sym_POUNDinclude = 2,
  anon_sym_SEMI = 3,
  anon_sym_POUNDpragma = 4,
  anon_sym_version = 5,
  anon_sym_not_DASHversion = 6,
  anon_sym_test_DASHversion_DASHset = 7,
  aux_sym_pragma_directive_token1 = 8,
  anon_sym_DQUOTE = 9,
  aux_sym_pragma_directive_token2 = 10,
  anon_sym_DOT = 11,
  anon_sym_global = 12,
  anon_sym_COMMA = 13,
  anon_sym_const = 14,
  anon_sym_EQ = 15,
  anon_sym_DASH_GT = 16,
  anon_sym_LPAREN = 17,
  anon_sym_RPAREN = 18,
  anon_sym_int = 19,
  anon_sym_cell = 20,
  anon_sym_slice = 21,
  anon_sym_builder = 22,
  anon_sym_cont = 23,
  anon_sym_tuple = 24,
  anon_sym_LBRACK = 25,
  anon_sym_RBRACK = 26,
  sym_var = 27,
  anon_sym_LPAREN_RPAREN = 28,
  anon_sym_PLUS_EQ = 29,
  anon_sym_DASH_EQ = 30,
  anon_sym_STAR_EQ = 31,
  anon_sym_SLASH_EQ = 32,
  anon_sym_TILDE_SLASH_EQ = 33,
  anon_sym_CARET_SLASH_EQ = 34,
  anon_sym_PERCENT_EQ = 35,
  anon_sym_TILDE_PERCENT_EQ = 36,
  anon_sym_CARET_PERCENT_EQ = 37,
  anon_sym_LT_LT_EQ = 38,
  anon_sym_GT_GT_EQ = 39,
  anon_sym_TILDE_GT_GT_EQ = 40,
  anon_sym_CARET_GT_GT_EQ = 41,
  anon_sym_AMP_EQ = 42,
  anon_sym_PIPE_EQ = 43,
  anon_sym_CARET_EQ = 44,
  anon_sym_QMARK = 45,
  anon_sym_COLON = 46,
  anon_sym_EQ_EQ = 47,
  anon_sym_LT = 48,
  anon_sym_GT = 49,
  anon_sym_LT_EQ = 50,
  anon_sym_GT_EQ = 51,
  anon_sym_BANG_EQ = 52,
  anon_sym_LT_EQ_GT = 53,
  anon_sym_LT_LT = 54,
  anon_sym_GT_GT = 55,
  anon_sym_TILDE_GT_GT = 56,
  anon_sym_CARET_GT_GT = 57,
  anon_sym_DASH = 58,
  anon_sym_PLUS = 59,
  anon_sym_PIPE = 60,
  anon_sym_CARET = 61,
  anon_sym_STAR = 62,
  anon_sym_SLASH = 63,
  anon_sym_PERCENT = 64,
  anon_sym_TILDE_SLASH = 65,
  anon_sym_CARET_SLASH = 66,
  anon_sym_TILDE_PERCENT = 67,
  anon_sym_CARET_PERCENT = 68,
  anon_sym_SLASH_PERCENT = 69,
  anon_sym_AMP = 70,
  anon_sym_TILDE = 71,
  anon_sym_type = 72,
  anon_sym_impure = 73,
  sym_function_name = 74,
  anon_sym_inline = 75,
  anon_sym_inline_ref = 76,
  anon_sym_method_id = 77,
  anon_sym_forall = 78,
  anon_sym_asm = 79,
  aux_sym_asm_instruction_token1 = 80,
  anon_sym_DQUOTE_DQUOTE_DQUOTE = 81,
  aux_sym__multiline_string_fragment_token1 = 82,
  anon_sym_return = 83,
  anon_sym_LBRACE = 84,
  anon_sym_RBRACE = 85,
  anon_sym_repeat = 86,
  anon_sym_if = 87,
  anon_sym_ifnot = 88,
  anon_sym_else = 89,
  anon_sym_elseif = 90,
  anon_sym_elseifnot = 91,
  anon_sym_do = 92,
  anon_sym_until = 93,
  anon_sym_while = 94,
  anon_sym_try = 95,
  anon_sym_catch = 96,
  sym_number = 97,
  anon_sym_s = 98,
  anon_sym_a = 99,
  anon_sym_u = 100,
  anon_sym_h = 101,
  anon_sym_H = 102,
  anon_sym_c = 103,
  sym_underscore = 104,
  sym_comment = 105,
  sym_translation_unit = 106,
  sym__top_level_item = 107,
  sym_include_directive = 108,
  sym_pragma_directive = 109,
  sym_global_var_declarations = 110,
  sym_const_var_declarations = 111,
  sym__global_var_declaration = 112,
  sym__const_var_declaration = 113,
  sym__type = 114,
  sym_function_type = 115,
  sym__atomic_type = 116,
  sym__parenthesized_type = 117,
  sym_primitive_type = 118,
  sym_tensor_type = 119,
  sym_tuple_type = 120,
  sym_hole_type = 121,
  sym_unit_type = 122,
  sym_type_identifier = 123,
  sym__expression = 124,
  sym__expr10 = 125,
  sym__expr13 = 126,
  sym__expr15 = 127,
  sym__expr17 = 128,
  sym__expr20 = 129,
  sym__expr30 = 130,
  sym__expr75 = 131,
  sym__expr80 = 132,
  sym_method_call = 133,
  sym__expr90 = 134,
  sym_function_application = 135,
  sym_variable_declaration = 136,
  sym_type_expression = 137,
  sym_parenthesized_type_expression = 138,
  sym_tensor_type_expression = 139,
  sym_tuple_type_expression = 140,
  sym__nontype_expr100 = 141,
  sym__expr100 = 142,
  sym_unit_literal = 143,
  sym_parenthesized_expression = 144,
  sym_tensor_expression = 145,
  sym_tuple_expression = 146,
  sym_function_definition = 147,
  sym_inline = 148,
  sym_method_id = 149,
  sym_type_variables_list = 150,
  sym_parameter_list = 151,
  sym_parameter_declaration = 152,
  sym_asm_function_body = 153,
  sym_asm_specifier = 154,
  sym_asm_instruction = 155,
  sym_multiline_asm_instruction = 156,
  sym__multiline_string_fragment = 157,
  sym__statement = 158,
  sym_return_statement = 159,
  sym_block_statement = 160,
  sym_expression_statement = 161,
  sym_empty_statement = 162,
  sym_repeat_statement = 163,
  sym_if_statement = 164,
  sym__if_statement_contents = 165,
  sym_do_statement = 166,
  sym_while_statement = 167,
  sym_try_statement = 168,
  sym_string = 169,
  sym__string_literal = 170,
  sym__raw_slice_const = 171,
  sym__slice_const_address = 172,
  sym__int_const_hex = 173,
  sym__string_sha_first_32 = 174,
  sym__string_sha_256 = 175,
  sym__string_crc_32 = 176,
  aux_sym_translation_unit_repeat1 = 177,
  aux_sym_global_var_declarations_repeat1 = 178,
  aux_sym_const_var_declarations_repeat1 = 179,
  aux_sym_tensor_type_repeat1 = 180,
  aux_sym__expr17_repeat1 = 181,
  aux_sym__expr20_repeat1 = 182,
  aux_sym__expr30_repeat1 = 183,
  aux_sym__expr80_repeat1 = 184,
  aux_sym_function_application_repeat1 = 185,
  aux_sym_tensor_type_expression_repeat1 = 186,
  aux_sym_tensor_expression_repeat1 = 187,
  aux_sym_type_variables_list_repeat1 = 188,
  aux_sym_parameter_list_repeat1 = 189,
  aux_sym_asm_function_body_repeat1 = 190,
  aux_sym_asm_specifier_repeat1 = 191,
  aux_sym_asm_specifier_repeat2 = 192,
  aux_sym_multiline_asm_instruction_repeat1 = 193,
  aux_sym__multiline_string_fragment_repeat1 = 194,
  aux_sym_block_statement_repeat1 = 195,
  aux_sym_try_statement_repeat1 = 196,
  alias_sym_include_path = 197,
  alias_sym_minor_version = 198,
  alias_sym_parameter = 199,
  alias_sym_patch_version = 200,
};

static const char * const ts_symbol_names[] = {
  [ts_builtin_sym_end] = "end",
  [sym_identifier] = "identifier",
  [anon_sym_POUNDinclude] = "#include",
  [anon_sym_SEMI] = ";",
  [anon_sym_POUNDpragma] = "#pragma",
  [anon_sym_version] = "version",
  [anon_sym_not_DASHversion] = "not-version",
  [anon_sym_test_DASHversion_DASHset] = "test-version-set",
  [aux_sym_pragma_directive_token1] = "version_operator",
  [anon_sym_DQUOTE] = "\"",
  [aux_sym_pragma_directive_token2] = "major_version",
  [anon_sym_DOT] = ".",
  [anon_sym_global] = "global",
  [anon_sym_COMMA] = ",",
  [anon_sym_const] = "const",
  [anon_sym_EQ] = "=",
  [anon_sym_DASH_GT] = "->",
  [anon_sym_LPAREN] = "(",
  [anon_sym_RPAREN] = ")",
  [anon_sym_int] = "int",
  [anon_sym_cell] = "cell",
  [anon_sym_slice] = "slice",
  [anon_sym_builder] = "builder",
  [anon_sym_cont] = "cont",
  [anon_sym_tuple] = "tuple",
  [anon_sym_LBRACK] = "[",
  [anon_sym_RBRACK] = "]",
  [sym_var] = "var",
  [anon_sym_LPAREN_RPAREN] = "()",
  [anon_sym_PLUS_EQ] = "+=",
  [anon_sym_DASH_EQ] = "-=",
  [anon_sym_STAR_EQ] = "*=",
  [anon_sym_SLASH_EQ] = "/=",
  [anon_sym_TILDE_SLASH_EQ] = "~/=",
  [anon_sym_CARET_SLASH_EQ] = "^/=",
  [anon_sym_PERCENT_EQ] = "%=",
  [anon_sym_TILDE_PERCENT_EQ] = "~%=",
  [anon_sym_CARET_PERCENT_EQ] = "^%=",
  [anon_sym_LT_LT_EQ] = "<<=",
  [anon_sym_GT_GT_EQ] = ">>=",
  [anon_sym_TILDE_GT_GT_EQ] = "~>>=",
  [anon_sym_CARET_GT_GT_EQ] = "^>>=",
  [anon_sym_AMP_EQ] = "&=",
  [anon_sym_PIPE_EQ] = "|=",
  [anon_sym_CARET_EQ] = "^=",
  [anon_sym_QMARK] = "\?",
  [anon_sym_COLON] = ":",
  [anon_sym_EQ_EQ] = "==",
  [anon_sym_LT] = "<",
  [anon_sym_GT] = ">",
  [anon_sym_LT_EQ] = "<=",
  [anon_sym_GT_EQ] = ">=",
  [anon_sym_BANG_EQ] = "!=",
  [anon_sym_LT_EQ_GT] = "<=>",
  [anon_sym_LT_LT] = "<<",
  [anon_sym_GT_GT] = ">>",
  [anon_sym_TILDE_GT_GT] = "~>>",
  [anon_sym_CARET_GT_GT] = "^>>",
  [anon_sym_DASH] = "-",
  [anon_sym_PLUS] = "+",
  [anon_sym_PIPE] = "|",
  [anon_sym_CARET] = "^",
  [anon_sym_STAR] = "*",
  [anon_sym_SLASH] = "/",
  [anon_sym_PERCENT] = "%",
  [anon_sym_TILDE_SLASH] = "~/",
  [anon_sym_CARET_SLASH] = "^/",
  [anon_sym_TILDE_PERCENT] = "~%",
  [anon_sym_CARET_PERCENT] = "^%",
  [anon_sym_SLASH_PERCENT] = "/%",
  [anon_sym_AMP] = "&",
  [anon_sym_TILDE] = "~",
  [anon_sym_type] = "type",
  [anon_sym_impure] = "impure",
  [sym_function_name] = "function_name",
  [anon_sym_inline] = "inline",
  [anon_sym_inline_ref] = "inline_ref",
  [anon_sym_method_id] = "method_id",
  [anon_sym_forall] = "forall",
  [anon_sym_asm] = "asm",
  [aux_sym_asm_instruction_token1] = "asm_instruction_token1",
  [anon_sym_DQUOTE_DQUOTE_DQUOTE] = "\"\"\"",
  [aux_sym__multiline_string_fragment_token1] = "_multiline_string_fragment_token1",
  [anon_sym_return] = "return",
  [anon_sym_LBRACE] = "{",
  [anon_sym_RBRACE] = "}",
  [anon_sym_repeat] = "repeat",
  [anon_sym_if] = "if",
  [anon_sym_ifnot] = "ifnot",
  [anon_sym_else] = "else",
  [anon_sym_elseif] = "elseif",
  [anon_sym_elseifnot] = "elseifnot",
  [anon_sym_do] = "do",
  [anon_sym_until] = "until",
  [anon_sym_while] = "while",
  [anon_sym_try] = "try",
  [anon_sym_catch] = "catch",
  [sym_number] = "number",
  [anon_sym_s] = "string_type",
  [anon_sym_a] = "string_type",
  [anon_sym_u] = "string_type",
  [anon_sym_h] = "string_type",
  [anon_sym_H] = "string_type",
  [anon_sym_c] = "string_type",
  [sym_underscore] = "underscore",
  [sym_comment] = "comment",
  [sym_translation_unit] = "translation_unit",
  [sym__top_level_item] = "_top_level_item",
  [sym_include_directive] = "include_directive",
  [sym_pragma_directive] = "pragma_directive",
  [sym_global_var_declarations] = "global_var_declarations",
  [sym_const_var_declarations] = "const_var_declarations",
  [sym__global_var_declaration] = "_global_var_declaration",
  [sym__const_var_declaration] = "_const_var_declaration",
  [sym__type] = "_type",
  [sym_function_type] = "function_type",
  [sym__atomic_type] = "_atomic_type",
  [sym__parenthesized_type] = "_parenthesized_type",
  [sym_primitive_type] = "primitive_type",
  [sym_tensor_type] = "tensor_type",
  [sym_tuple_type] = "tuple_type",
  [sym_hole_type] = "hole_type",
  [sym_unit_type] = "unit_type",
  [sym_type_identifier] = "type_identifier",
  [sym__expression] = "_expression",
  [sym__expr10] = "_expr10",
  [sym__expr13] = "_expr13",
  [sym__expr15] = "_expr15",
  [sym__expr17] = "_expr17",
  [sym__expr20] = "_expr20",
  [sym__expr30] = "_expr30",
  [sym__expr75] = "_expr75",
  [sym__expr80] = "_expr80",
  [sym_method_call] = "method_call",
  [sym__expr90] = "_expr90",
  [sym_function_application] = "function_application",
  [sym_variable_declaration] = "variable_declaration",
  [sym_type_expression] = "type_expression",
  [sym_parenthesized_type_expression] = "parenthesized_type_expression",
  [sym_tensor_type_expression] = "tensor_type_expression",
  [sym_tuple_type_expression] = "tuple_type_expression",
  [sym__nontype_expr100] = "_nontype_expr100",
  [sym__expr100] = "_expr100",
  [sym_unit_literal] = "unit_literal",
  [sym_parenthesized_expression] = "parenthesized_expression",
  [sym_tensor_expression] = "tensor_expression",
  [sym_tuple_expression] = "tuple_expression",
  [sym_function_definition] = "function_definition",
  [sym_inline] = "inline",
  [sym_method_id] = "method_id",
  [sym_type_variables_list] = "type_variables_list",
  [sym_parameter_list] = "parameter_list",
  [sym_parameter_declaration] = "parameter_declaration",
  [sym_asm_function_body] = "asm_function_body",
  [sym_asm_specifier] = "asm_specifier",
  [sym_asm_instruction] = "asm_instruction",
  [sym_multiline_asm_instruction] = "multiline_asm_instruction",
  [sym__multiline_string_fragment] = "multiline_string_fragment",
  [sym__statement] = "_statement",
  [sym_return_statement] = "return_statement",
  [sym_block_statement] = "block_statement",
  [sym_expression_statement] = "expression_statement",
  [sym_empty_statement] = "empty_statement",
  [sym_repeat_statement] = "repeat_statement",
  [sym_if_statement] = "if_statement",
  [sym__if_statement_contents] = "_if_statement_contents",
  [sym_do_statement] = "do_statement",
  [sym_while_statement] = "while_statement",
  [sym_try_statement] = "try_statement",
  [sym_string] = "string",
  [sym__string_literal] = "_string_literal",
  [sym__raw_slice_const] = "_raw_slice_const",
  [sym__slice_const_address] = "_slice_const_address",
  [sym__int_const_hex] = "_int_const_hex",
  [sym__string_sha_first_32] = "_string_sha_first_32",
  [sym__string_sha_256] = "_string_sha_256",
  [sym__string_crc_32] = "_string_crc_32",
  [aux_sym_translation_unit_repeat1] = "translation_unit_repeat1",
  [aux_sym_global_var_declarations_repeat1] = "global_var_declarations_repeat1",
  [aux_sym_const_var_declarations_repeat1] = "const_var_declarations_repeat1",
  [aux_sym_tensor_type_repeat1] = "tensor_type_repeat1",
  [aux_sym__expr17_repeat1] = "_expr17_repeat1",
  [aux_sym__expr20_repeat1] = "_expr20_repeat1",
  [aux_sym__expr30_repeat1] = "_expr30_repeat1",
  [aux_sym__expr80_repeat1] = "_expr80_repeat1",
  [aux_sym_function_application_repeat1] = "function_application_repeat1",
  [aux_sym_tensor_type_expression_repeat1] = "tensor_type_expression_repeat1",
  [aux_sym_tensor_expression_repeat1] = "tensor_expression_repeat1",
  [aux_sym_type_variables_list_repeat1] = "type_variables_list_repeat1",
  [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1",
  [aux_sym_asm_function_body_repeat1] = "asm_function_body_repeat1",
  [aux_sym_asm_specifier_repeat1] = "asm_specifier_repeat1",
  [aux_sym_asm_specifier_repeat2] = "asm_specifier_repeat2",
  [aux_sym_multiline_asm_instruction_repeat1] = "multiline_asm_instruction_repeat1",
  [aux_sym__multiline_string_fragment_repeat1] = "_multiline_string_fragment_repeat1",
  [aux_sym_block_statement_repeat1] = "block_statement_repeat1",
  [aux_sym_try_statement_repeat1] = "try_statement_repeat1",
  [alias_sym_include_path] = "include_path",
  [alias_sym_minor_version] = "minor_version",
  [alias_sym_parameter] = "parameter",
  [alias_sym_patch_version] = "patch_version",
};

static const TSSymbol ts_symbol_map[] = {
  [ts_builtin_sym_end] = ts_builtin_sym_end,
  [sym_identifier] = sym_identifier,
  [anon_sym_POUNDinclude] = anon_sym_POUNDinclude,
  [anon_sym_SEMI] = anon_sym_SEMI,
  [anon_sym_POUNDpragma] = anon_sym_POUNDpragma,
  [anon_sym_version] = anon_sym_version,
  [anon_sym_not_DASHversion] = anon_sym_not_DASHversion,
  [anon_sym_test_DASHversion_DASHset] = anon_sym_test_DASHversion_DASHset,
  [aux_sym_pragma_directive_token1] = aux_sym_pragma_directive_token1,
  [anon_sym_DQUOTE] = anon_sym_DQUOTE,
  [aux_sym_pragma_directive_token2] = aux_sym_pragma_directive_token2,
  [anon_sym_DOT] = anon_sym_DOT,
  [anon_sym_global] = anon_sym_global,
  [anon_sym_COMMA] = anon_sym_COMMA,
  [anon_sym_const] = anon_sym_const,
  [anon_sym_EQ] = anon_sym_EQ,
  [anon_sym_DASH_GT] = anon_sym_DASH_GT,
  [anon_sym_LPAREN] = anon_sym_LPAREN,
  [anon_sym_RPAREN] = anon_sym_RPAREN,
  [anon_sym_int] = anon_sym_int,
  [anon_sym_cell] = anon_sym_cell,
  [anon_sym_slice] = anon_sym_slice,
  [anon_sym_builder] = anon_sym_builder,
  [anon_sym_cont] = anon_sym_cont,
  [anon_sym_tuple] = anon_sym_tuple,
  [anon_sym_LBRACK] = anon_sym_LBRACK,
  [anon_sym_RBRACK] = anon_sym_RBRACK,
  [sym_var] = sym_var,
  [anon_sym_LPAREN_RPAREN] = anon_sym_LPAREN_RPAREN,
  [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_TILDE_SLASH_EQ] = anon_sym_TILDE_SLASH_EQ,
  [anon_sym_CARET_SLASH_EQ] = anon_sym_CARET_SLASH_EQ,
  [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ,
  [anon_sym_TILDE_PERCENT_EQ] = anon_sym_TILDE_PERCENT_EQ,
  [anon_sym_CARET_PERCENT_EQ] = anon_sym_CARET_PERCENT_EQ,
  [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ,
  [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ,
  [anon_sym_TILDE_GT_GT_EQ] = anon_sym_TILDE_GT_GT_EQ,
  [anon_sym_CARET_GT_GT_EQ] = anon_sym_CARET_GT_GT_EQ,
  [anon_sym_AMP_EQ] = anon_sym_AMP_EQ,
  [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ,
  [anon_sym_CARET_EQ] = anon_sym_CARET_EQ,
  [anon_sym_QMARK] = anon_sym_QMARK,
  [anon_sym_COLON] = anon_sym_COLON,
  [anon_sym_EQ_EQ] = anon_sym_EQ_EQ,
  [anon_sym_LT] = anon_sym_LT,
  [anon_sym_GT] = anon_sym_GT,
  [anon_sym_LT_EQ] = anon_sym_LT_EQ,
  [anon_sym_GT_EQ] = anon_sym_GT_EQ,
  [anon_sym_BANG_EQ] = anon_sym_BANG_EQ,
  [anon_sym_LT_EQ_GT] = anon_sym_LT_EQ_GT,
  [anon_sym_LT_LT] = anon_sym_LT_LT,
  [anon_sym_GT_GT] = anon_sym_GT_GT,
  [anon_sym_TILDE_GT_GT] = anon_sym_TILDE_GT_GT,
  [anon_sym_CARET_GT_GT] = anon_sym_CARET_GT_GT,
  [anon_sym_DASH] = anon_sym_DASH,
  [anon_sym_PLUS] = anon_sym_PLUS,
  [anon_sym_PIPE] = anon_sym_PIPE,
  [anon_sym_CARET] = anon_sym_CARET,
  [anon_sym_STAR] = anon_sym_STAR,
  [anon_sym_SLASH] = anon_sym_SLASH,
  [anon_sym_PERCENT] = anon_sym_PERCENT,
  [anon_sym_TILDE_SLASH] = anon_sym_TILDE_SLASH,
  [anon_sym_CARET_SLASH] = anon_sym_CARET_SLASH,
  [anon_sym_TILDE_PERCENT] = anon_sym_TILDE_PERCENT,
  [anon_sym_CARET_PERCENT] = anon_sym_CARET_PERCENT,
  [anon_sym_SLASH_PERCENT] = anon_sym_SLASH_PERCENT,
  [anon_sym_AMP] = anon_sym_AMP,
  [anon_sym_TILDE] = anon_sym_TILDE,
  [anon_sym_type] = anon_sym_type,
  [anon_sym_impure] = anon_sym_impure,
  [sym_function_name] = sym_function_name,
  [anon_sym_inline] = anon_sym_inline,
  [anon_sym_inline_ref] = anon_sym_inline_ref,
  [anon_sym_method_id] = anon_sym_method_id,
  [anon_sym_forall] = anon_sym_forall,
  [anon_sym_asm] = anon_sym_asm,
  [aux_sym_asm_instruction_token1] = aux_sym_asm_instruction_token1,
  [anon_sym_DQUOTE_DQUOTE_DQUOTE] = anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [aux_sym__multiline_string_fragment_token1] = aux_sym__multiline_string_fragment_token1,
  [anon_sym_return] = anon_sym_return,
  [anon_sym_LBRACE] = anon_sym_LBRACE,
  [anon_sym_RBRACE] = anon_sym_RBRACE,
  [anon_sym_repeat] = anon_sym_repeat,
  [anon_sym_if] = anon_sym_if,
  [anon_sym_ifnot] = anon_sym_ifnot,
  [anon_sym_else] = anon_sym_else,
  [anon_sym_elseif] = anon_sym_elseif,
  [anon_sym_elseifnot] = anon_sym_elseifnot,
  [anon_sym_do] = anon_sym_do,
  [anon_sym_until] = anon_sym_until,
  [anon_sym_while] = anon_sym_while,
  [anon_sym_try] = anon_sym_try,
  [anon_sym_catch] = anon_sym_catch,
  [sym_number] = sym_number,
  [anon_sym_s] = anon_sym_s,
  [anon_sym_a] = anon_sym_s,
  [anon_sym_u] = anon_sym_s,
  [anon_sym_h] = anon_sym_s,
  [anon_sym_H] = anon_sym_s,
  [anon_sym_c] = anon_sym_s,
  [sym_underscore] = sym_underscore,
  [sym_comment] = sym_comment,
  [sym_translation_unit] = sym_translation_unit,
  [sym__top_level_item] = sym__top_level_item,
  [sym_include_directive] = sym_include_directive,
  [sym_pragma_directive] = sym_pragma_directive,
  [sym_global_var_declarations] = sym_global_var_declarations,
  [sym_const_var_declarations] = sym_const_var_declarations,
  [sym__global_var_declaration] = sym__global_var_declaration,
  [sym__const_var_declaration] = sym__const_var_declaration,
  [sym__type] = sym__type,
  [sym_function_type] = sym_function_type,
  [sym__atomic_type] = sym__atomic_type,
  [sym__parenthesized_type] = sym__parenthesized_type,
  [sym_primitive_type] = sym_primitive_type,
  [sym_tensor_type] = sym_tensor_type,
  [sym_tuple_type] = sym_tuple_type,
  [sym_hole_type] = sym_hole_type,
  [sym_unit_type] = sym_unit_type,
  [sym_type_identifier] = sym_type_identifier,
  [sym__expression] = sym__expression,
  [sym__expr10] = sym__expr10,
  [sym__expr13] = sym__expr13,
  [sym__expr15] = sym__expr15,
  [sym__expr17] = sym__expr17,
  [sym__expr20] = sym__expr20,
  [sym__expr30] = sym__expr30,
  [sym__expr75] = sym__expr75,
  [sym__expr80] = sym__expr80,
  [sym_method_call] = sym_method_call,
  [sym__expr90] = sym__expr90,
  [sym_function_application] = sym_function_application,
  [sym_variable_declaration] = sym_variable_declaration,
  [sym_type_expression] = sym_type_expression,
  [sym_parenthesized_type_expression] = sym_parenthesized_type_expression,
  [sym_tensor_type_expression] = sym_tensor_type_expression,
  [sym_tuple_type_expression] = sym_tuple_type_expression,
  [sym__nontype_expr100] = sym__nontype_expr100,
  [sym__expr100] = sym__expr100,
  [sym_unit_literal] = sym_unit_literal,
  [sym_parenthesized_expression] = sym_parenthesized_expression,
  [sym_tensor_expression] = sym_tensor_expression,
  [sym_tuple_expression] = sym_tuple_expression,
  [sym_function_definition] = sym_function_definition,
  [sym_inline] = sym_inline,
  [sym_method_id] = sym_method_id,
  [sym_type_variables_list] = sym_type_variables_list,
  [sym_parameter_list] = sym_parameter_list,
  [sym_parameter_declaration] = sym_parameter_declaration,
  [sym_asm_function_body] = sym_asm_function_body,
  [sym_asm_specifier] = sym_asm_specifier,
  [sym_asm_instruction] = sym_asm_instruction,
  [sym_multiline_asm_instruction] = sym_multiline_asm_instruction,
  [sym__multiline_string_fragment] = sym__multiline_string_fragment,
  [sym__statement] = sym__statement,
  [sym_return_statement] = sym_return_statement,
  [sym_block_statement] = sym_block_statement,
  [sym_expression_statement] = sym_expression_statement,
  [sym_empty_statement] = sym_empty_statement,
  [sym_repeat_statement] = sym_repeat_statement,
  [sym_if_statement] = sym_if_statement,
  [sym__if_statement_contents] = sym__if_statement_contents,
  [sym_do_statement] = sym_do_statement,
  [sym_while_statement] = sym_while_statement,
  [sym_try_statement] = sym_try_statement,
  [sym_string] = sym_string,
  [sym__string_literal] = sym__string_literal,
  [sym__raw_slice_const] = sym__raw_slice_const,
  [sym__slice_const_address] = sym__slice_const_address,
  [sym__int_const_hex] = sym__int_const_hex,
  [sym__string_sha_first_32] = sym__string_sha_first_32,
  [sym__string_sha_256] = sym__string_sha_256,
  [sym__string_crc_32] = sym__string_crc_32,
  [aux_sym_translation_unit_repeat1] = aux_sym_translation_unit_repeat1,
  [aux_sym_global_var_declarations_repeat1] = aux_sym_global_var_declarations_repeat1,
  [aux_sym_const_var_declarations_repeat1] = aux_sym_const_var_declarations_repeat1,
  [aux_sym_tensor_type_repeat1] = aux_sym_tensor_type_repeat1,
  [aux_sym__expr17_repeat1] = aux_sym__expr17_repeat1,
  [aux_sym__expr20_repeat1] = aux_sym__expr20_repeat1,
  [aux_sym__expr30_repeat1] = aux_sym__expr30_repeat1,
  [aux_sym__expr80_repeat1] = aux_sym__expr80_repeat1,
  [aux_sym_function_application_repeat1] = aux_sym_function_application_repeat1,
  [aux_sym_tensor_type_expression_repeat1] = aux_sym_tensor_type_expression_repeat1,
  [aux_sym_tensor_expression_repeat1] = aux_sym_tensor_expression_repeat1,
  [aux_sym_type_variables_list_repeat1] = aux_sym_type_variables_list_repeat1,
  [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1,
  [aux_sym_asm_function_body_repeat1] = aux_sym_asm_function_body_repeat1,
  [aux_sym_asm_specifier_repeat1] = aux_sym_asm_specifier_repeat1,
  [aux_sym_asm_specifier_repeat2] = aux_sym_asm_specifier_repeat2,
  [aux_sym_multiline_asm_instruction_repeat1] = aux_sym_multiline_asm_instruction_repeat1,
  [aux_sym__multiline_string_fragment_repeat1] = aux_sym__multiline_string_fragment_repeat1,
  [aux_sym_block_statement_repeat1] = aux_sym_block_statement_repeat1,
  [aux_sym_try_statement_repeat1] = aux_sym_try_statement_repeat1,
  [alias_sym_include_path] = alias_sym_include_path,
  [alias_sym_minor_version] = alias_sym_minor_version,
  [alias_sym_parameter] = alias_sym_parameter,
  [alias_sym_patch_version] = alias_sym_patch_version,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
  [ts_builtin_sym_end] = {
    .visible = false,
    .named = true,
  },
  [sym_identifier] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_POUNDinclude] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SEMI] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_POUNDpragma] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_version] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_not_DASHversion] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_test_DASHversion_DASHset] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_pragma_directive_token1] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_DQUOTE] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_pragma_directive_token2] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_global] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COMMA] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_const] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_int] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_cell] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_slice] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_builder] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_cont] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_tuple] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [sym_var] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_LPAREN_RPAREN] = {
    .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_TILDE_SLASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_SLASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE_PERCENT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_PERCENT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE_GT_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_GT_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_QMARK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_EQ_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE_SLASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_SLASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE_PERCENT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_PERCENT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH_PERCENT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_type] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_impure] = {
    .visible = true,
    .named = false,
  },
  [sym_function_name] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_inline] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_inline_ref] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_method_id] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_forall] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_asm] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_asm_instruction_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_DQUOTE_DQUOTE_DQUOTE] = {
    .visible = true,
    .named = false,
  },
  [aux_sym__multiline_string_fragment_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_return] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_repeat] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_if] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_ifnot] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_else] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_elseif] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_elseifnot] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_do] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_until] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_while] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_try] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_catch] = {
    .visible = true,
    .named = false,
  },
  [sym_number] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_s] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_a] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_u] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_h] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_H] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_c] = {
    .visible = true,
    .named = true,
  },
  [sym_underscore] = {
    .visible = true,
    .named = true,
  },
  [sym_comment] = {
    .visible = true,
    .named = true,
  },
  [sym_translation_unit] = {
    .visible = true,
    .named = true,
  },
  [sym__top_level_item] = {
    .visible = false,
    .named = true,
  },
  [sym_include_directive] = {
    .visible = true,
    .named = true,
  },
  [sym_pragma_directive] = {
    .visible = true,
    .named = true,
  },
  [sym_global_var_declarations] = {
    .visible = true,
    .named = true,
  },
  [sym_const_var_declarations] = {
    .visible = true,
    .named = true,
  },
  [sym__global_var_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__const_var_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__type] = {
    .visible = false,
    .named = true,
  },
  [sym_function_type] = {
    .visible = true,
    .named = true,
  },
  [sym__atomic_type] = {
    .visible = false,
    .named = true,
  },
  [sym__parenthesized_type] = {
    .visible = false,
    .named = true,
  },
  [sym_primitive_type] = {
    .visible = true,
    .named = true,
  },
  [sym_tensor_type] = {
    .visible = true,
    .named = true,
  },
  [sym_tuple_type] = {
    .visible = true,
    .named = true,
  },
  [sym_hole_type] = {
    .visible = true,
    .named = true,
  },
  [sym_unit_type] = {
    .visible = true,
    .named = true,
  },
  [sym_type_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym__expression] = {
    .visible = false,
    .named = true,
  },
  [sym__expr10] = {
    .visible = false,
    .named = true,
  },
  [sym__expr13] = {
    .visible = false,
    .named = true,
  },
  [sym__expr15] = {
    .visible = false,
    .named = true,
  },
  [sym__expr17] = {
    .visible = false,
    .named = true,
  },
  [sym__expr20] = {
    .visible = false,
    .named = true,
  },
  [sym__expr30] = {
    .visible = false,
    .named = true,
  },
  [sym__expr75] = {
    .visible = false,
    .named = true,
  },
  [sym__expr80] = {
    .visible = false,
    .named = true,
  },
  [sym_method_call] = {
    .visible = true,
    .named = true,
  },
  [sym__expr90] = {
    .visible = false,
    .named = true,
  },
  [sym_function_application] = {
    .visible = true,
    .named = true,
  },
  [sym_variable_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_type_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_parenthesized_type_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_tensor_type_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_tuple_type_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__nontype_expr100] = {
    .visible = false,
    .named = true,
  },
  [sym__expr100] = {
    .visible = false,
    .named = true,
  },
  [sym_unit_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_parenthesized_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_tensor_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_tuple_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_function_definition] = {
    .visible = true,
    .named = true,
  },
  [sym_inline] = {
    .visible = true,
    .named = true,
  },
  [sym_method_id] = {
    .visible = true,
    .named = true,
  },
  [sym_type_variables_list] = {
    .visible = true,
    .named = true,
  },
  [sym_parameter_list] = {
    .visible = true,
    .named = true,
  },
  [sym_parameter_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_asm_function_body] = {
    .visible = true,
    .named = true,
  },
  [sym_asm_specifier] = {
    .visible = true,
    .named = true,
  },
  [sym_asm_instruction] = {
    .visible = true,
    .named = true,
  },
  [sym_multiline_asm_instruction] = {
    .visible = true,
    .named = true,
  },
  [sym__multiline_string_fragment] = {
    .visible = true,
    .named = true,
  },
  [sym__statement] = {
    .visible = false,
    .named = true,
  },
  [sym_return_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_block_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_expression_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_empty_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_repeat_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_if_statement] = {
    .visible = true,
    .named = true,
  },
  [sym__if_statement_contents] = {
    .visible = false,
    .named = true,
  },
  [sym_do_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_while_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_try_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_string] = {
    .visible = true,
    .named = true,
  },
  [sym__string_literal] = {
    .visible = false,
    .named = true,
  },
  [sym__raw_slice_const] = {
    .visible = false,
    .named = true,
  },
  [sym__slice_const_address] = {
    .visible = false,
    .named = true,
  },
  [sym__int_const_hex] = {
    .visible = false,
    .named = true,
  },
  [sym__string_sha_first_32] = {
    .visible = false,
    .named = true,
  },
  [sym__string_sha_256] = {
    .visible = false,
    .named = true,
  },
  [sym__string_crc_32] = {
    .visible = false,
    .named = true,
  },
  [aux_sym_translation_unit_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_global_var_declarations_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_const_var_declarations_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_tensor_type_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__expr17_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__expr20_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__expr30_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__expr80_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_function_application_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_tensor_type_expression_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_tensor_expression_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_type_variables_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_parameter_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_asm_function_body_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_asm_specifier_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_asm_specifier_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_multiline_asm_instruction_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__multiline_string_fragment_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_block_statement_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_try_statement_repeat1] = {
    .visible = false,
    .named = false,
  },
  [alias_sym_include_path] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_minor_version] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_parameter] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_patch_version] = {
    .visible = true,
    .named = true,
  },
};

enum {
  field_alternative = 1,
  field_arguments = 2,
  field_asm_body = 3,
  field_body = 4,
  field_condition = 5,
  field_consequent = 6,
  field_count = 7,
  field_function = 8,
  field_method_name = 9,
  field_name = 10,
  field_postcondition = 11,
  field_precondition = 12,
  field_return_type = 13,
  field_specifiers = 14,
  field_type = 15,
  field_type_variables = 16,
  field_value = 17,
  field_variable = 18,
};

static const char * const ts_field_names[] = {
  [0] = NULL,
  [field_alternative] = "alternative",
  [field_arguments] = "arguments",
  [field_asm_body] = "asm_body",
  [field_body] = "body",
  [field_condition] = "condition",
  [field_consequent] = "consequent",
  [field_count] = "count",
  [field_function] = "function",
  [field_method_name] = "method_name",
  [field_name] = "name",
  [field_postcondition] = "postcondition",
  [field_precondition] = "precondition",
  [field_return_type] = "return_type",
  [field_specifiers] = "specifiers",
  [field_type] = "type",
  [field_type_variables] = "type_variables",
  [field_value] = "value",
  [field_variable] = "variable",
};

static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
  [3] = {.index = 0, .length = 1},
  [5] = {.index = 1, .length = 2},
  [6] = {.index = 3, .length = 2},
  [7] = {.index = 5, .length = 2},
  [8] = {.index = 7, .length = 4},
  [9] = {.index = 11, .length = 4},
  [10] = {.index = 15, .length = 2},
  [11] = {.index = 17, .length = 4},
  [12] = {.index = 21, .length = 4},
  [13] = {.index = 25, .length = 3},
  [14] = {.index = 0, .length = 1},
  [16] = {.index = 28, .length = 1},
  [17] = {.index = 29, .length = 3},
  [18] = {.index = 32, .length = 4},
  [19] = {.index = 36, .length = 4},
  [20] = {.index = 40, .length = 2},
  [21] = {.index = 42, .length = 2},
  [22] = {.index = 44, .length = 5},
  [23] = {.index = 3, .length = 2},
  [24] = {.index = 28, .length = 1},
  [25] = {.index = 49, .length = 4},
  [26] = {.index = 53, .length = 5},
  [27] = {.index = 58, .length = 5},
  [29] = {.index = 63, .length = 4},
  [30] = {.index = 67, .length = 5},
  [31] = {.index = 72, .length = 5},
  [33] = {.index = 77, .length = 5},
  [34] = {.index = 82, .length = 6},
  [35] = {.index = 88, .length = 6},
  [36] = {.index = 94, .length = 3},
  [37] = {.index = 97, .length = 5},
  [38] = {.index = 102, .length = 6},
  [39] = {.index = 108, .length = 6},
  [41] = {.index = 114, .length = 2},
  [42] = {.index = 116, .length = 6},
  [43] = {.index = 122, .length = 7},
  [44] = {.index = 129, .length = 7},
  [45] = {.index = 136, .length = 2},
  [46] = {.index = 138, .length = 2},
  [47] = {.index = 140, .length = 2},
  [48] = {.index = 142, .length = 6},
  [49] = {.index = 148, .length = 7},
  [50] = {.index = 155, .length = 7},
  [53] = {.index = 162, .length = 2},
  [54] = {.index = 164, .length = 7},
  [55] = {.index = 171, .length = 8},
  [56] = {.index = 179, .length = 8},
  [58] = {.index = 187, .length = 4},
  [59] = {.index = 191, .length = 7},
};

static const TSFieldMapEntry ts_field_map_entries[] = {
  [0] =
    {field_name, 0},
  [1] =
    {field_name, 1, .inherited = true},
    {field_type, 1, .inherited = true},
  [3] =
    {field_name, 1},
    {field_type, 0},
  [5] =
    {field_name, 1, .inherited = true},
    {field_value, 1, .inherited = true},
  [7] =
    {field_name, 1, .inherited = true},
    {field_name, 2, .inherited = true},
    {field_type, 1, .inherited = true},
    {field_type, 2, .inherited = true},
  [11] =
    {field_name, 0, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_type, 0, .inherited = true},
    {field_type, 1, .inherited = true},
  [15] =
    {field_name, 0},
    {field_value, 2},
  [17] =
    {field_name, 1, .inherited = true},
    {field_name, 2, .inherited = true},
    {field_value, 1, .inherited = true},
    {field_value, 2, .inherited = true},
  [21] =
    {field_name, 0, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_value, 0, .inherited = true},
    {field_value, 1, .inherited = true},
  [25] =
    {field_name, 2, .inherited = true},
    {field_type, 1},
    {field_value, 2, .inherited = true},
  [28] =
    {field_type, 0},
  [29] =
    {field_arguments, 2},
    {field_name, 1},
    {field_return_type, 0},
  [32] =
    {field_arguments, 2},
    {field_asm_body, 3},
    {field_name, 1},
    {field_return_type, 0},
  [36] =
    {field_arguments, 2},
    {field_body, 3},
    {field_name, 1},
    {field_return_type, 0},
  [40] =
    {field_type, 0},
    {field_variable, 1},
  [42] =
    {field_arguments, 1},
    {field_function, 0},
  [44] =
    {field_name, 2, .inherited = true},
    {field_name, 3, .inherited = true},
    {field_type, 1},
    {field_value, 2, .inherited = true},
    {field_value, 3, .inherited = true},
  [49] =
    {field_arguments, 2},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
  [53] =
    {field_arguments, 2},
    {field_asm_body, 4},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
  [58] =
    {field_arguments, 2},
    {field_body, 4},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
  [63] =
    {field_arguments, 3},
    {field_name, 2},
    {field_return_type, 1},
    {field_type_variables, 0},
  [67] =
    {field_arguments, 3},
    {field_asm_body, 4},
    {field_name, 2},
    {field_return_type, 1},
    {field_type_variables, 0},
  [72] =
    {field_arguments, 3},
    {field_body, 4},
    {field_name, 2},
    {field_return_type, 1},
    {field_type_variables, 0},
  [77] =
    {field_arguments, 2},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
    {field_specifiers, 4},
  [82] =
    {field_arguments, 2},
    {field_asm_body, 5},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
    {field_specifiers, 4},
  [88] =
    {field_arguments, 2},
    {field_body, 5},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
    {field_specifiers, 4},
  [94] =
    {field_alternative, 1, .inherited = true},
    {field_condition, 1, .inherited = true},
    {field_consequent, 1, .inherited = true},
  [97] =
    {field_arguments, 3},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_type_variables, 0},
  [102] =
    {field_arguments, 3},
    {field_asm_body, 5},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_type_variables, 0},
  [108] =
    {field_arguments, 3},
    {field_body, 5},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_type_variables, 0},
  [114] =
    {field_arguments, 2},
    {field_method_name, 1},
  [116] =
    {field_arguments, 2},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
    {field_specifiers, 4},
    {field_specifiers, 5},
  [122] =
    {field_arguments, 2},
    {field_asm_body, 6},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
    {field_specifiers, 4},
    {field_specifiers, 5},
  [129] =
    {field_arguments, 2},
    {field_body, 6},
    {field_name, 1},
    {field_return_type, 0},
    {field_specifiers, 3},
    {field_specifiers, 4},
    {field_specifiers, 5},
  [136] =
    {field_body, 2},
    {field_count, 1},
  [138] =
    {field_condition, 0},
    {field_consequent, 1},
  [140] =
    {field_body, 2},
    {field_precondition, 1},
  [142] =
    {field_arguments, 3},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_specifiers, 5},
    {field_type_variables, 0},
  [148] =
    {field_arguments, 3},
    {field_asm_body, 6},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_specifiers, 5},
    {field_type_variables, 0},
  [155] =
    {field_arguments, 3},
    {field_body, 6},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_specifiers, 5},
    {field_type_variables, 0},
  [162] =
    {field_body, 1},
    {field_postcondition, 3},
  [164] =
    {field_arguments, 3},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_specifiers, 5},
    {field_specifiers, 6},
    {field_type_variables, 0},
  [171] =
    {field_arguments, 3},
    {field_asm_body, 7},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_specifiers, 5},
    {field_specifiers, 6},
    {field_type_variables, 0},
  [179] =
    {field_arguments, 3},
    {field_body, 7},
    {field_name, 2},
    {field_return_type, 1},
    {field_specifiers, 4},
    {field_specifiers, 5},
    {field_specifiers, 6},
    {field_type_variables, 0},
  [187] =
    {field_alternative, 2},
    {field_alternative, 3},
    {field_condition, 0},
    {field_consequent, 1},
  [191] =
    {field_alternative, 2},
    {field_alternative, 3},
    {field_alternative, 3, .inherited = true},
    {field_condition, 0},
    {field_condition, 3, .inherited = true},
    {field_consequent, 1},
    {field_consequent, 3, .inherited = true},
};

static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
  [0] = {0},
  [1] = {
    [0] = sym_type_identifier,
  },
  [2] = {
    [0] = sym_hole_type,
  },
  [4] = {
    [1] = alias_sym_include_path,
  },
  [14] = {
    [0] = alias_sym_parameter,
  },
  [15] = {
    [0] = alias_sym_parameter,
  },
  [23] = {
    [1] = alias_sym_parameter,
  },
  [24] = {
    [1] = alias_sym_parameter,
  },
  [28] = {
    [0] = sym_asm_instruction,
  },
  [32] = {
    [4] = alias_sym_minor_version,
  },
  [40] = {
    [5] = alias_sym_minor_version,
  },
  [51] = {
    [6] = alias_sym_minor_version,
  },
  [52] = {
    [4] = alias_sym_minor_version,
    [6] = alias_sym_patch_version,
  },
  [57] = {
    [5] = alias_sym_minor_version,
    [7] = alias_sym_patch_version,
  },
  [60] = {
    [6] = alias_sym_minor_version,
    [8] = alias_sym_patch_version,
  },
};

static const uint16_t ts_non_terminal_alias_map[] = {
  sym__string_literal, 2,
    sym__string_literal,
    alias_sym_include_path,
  0,
};

static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
  [0] = 0,
  [1] = 1,
  [2] = 2,
  [3] = 3,
  [4] = 4,
  [5] = 5,
  [6] = 6,
  [7] = 7,
  [8] = 8,
  [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] = 49,
  [50] = 50,
  [51] = 51,
  [52] = 52,
  [53] = 53,
  [54] = 54,
  [55] = 55,
  [56] = 2,
  [57] = 3,
  [58] = 58,
  [59] = 5,
  [60] = 60,
  [61] = 61,
  [62] = 62,
  [63] = 4,
  [64] = 22,
  [65] = 65,
  [66] = 19,
  [67] = 34,
  [68] = 18,
  [69] = 36,
  [70] = 35,
  [71] = 33,
  [72] = 20,
  [73] = 26,
  [74] = 27,
  [75] = 9,
  [76] = 76,
  [77] = 17,
  [78] = 40,
  [79] = 79,
  [80] = 43,
  [81] = 24,
  [82] = 44,
  [83] = 46,
  [84] = 79,
  [85] = 38,
  [86] = 25,
  [87] = 31,
  [88] = 76,
  [89] = 8,
  [90] = 7,
  [91] = 91,
  [92] = 6,
  [93] = 23,
  [94] = 41,
  [95] = 95,
  [96] = 96,
  [97] = 42,
  [98] = 21,
  [99] = 99,
  [100] = 100,
  [101] = 95,
  [102] = 102,
  [103] = 10,
  [104] = 104,
  [105] = 105,
  [106] = 106,
  [107] = 107,
  [108] = 47,
  [109] = 109,
  [110] = 48,
  [111] = 111,
  [112] = 112,
  [113] = 113,
  [114] = 104,
  [115] = 115,
  [116] = 116,
  [117] = 115,
  [118] = 105,
  [119] = 119,
  [120] = 119,
  [121] = 121,
  [122] = 121,
  [123] = 123,
  [124] = 124,
  [125] = 124,
  [126] = 126,
  [127] = 127,
  [128] = 127,
  [129] = 129,
  [130] = 130,
  [131] = 129,
  [132] = 130,
  [133] = 54,
  [134] = 53,
  [135] = 135,
  [136] = 51,
  [137] = 52,
  [138] = 135,
  [139] = 50,
  [140] = 55,
  [141] = 141,
  [142] = 141,
  [143] = 143,
  [144] = 144,
  [145] = 60,
  [146] = 146,
  [147] = 62,
  [148] = 58,
  [149] = 149,
  [150] = 150,
  [151] = 150,
  [152] = 91,
  [153] = 153,
  [154] = 154,
  [155] = 155,
  [156] = 156,
  [157] = 157,
  [158] = 158,
  [159] = 159,
  [160] = 160,
  [161] = 161,
  [162] = 162,
  [163] = 163,
  [164] = 164,
  [165] = 165,
  [166] = 166,
  [167] = 167,
  [168] = 168,
  [169] = 123,
  [170] = 170,
  [171] = 171,
  [172] = 172,
  [173] = 126,
  [174] = 174,
  [175] = 175,
  [176] = 175,
  [177] = 177,
  [178] = 178,
  [179] = 179,
  [180] = 180,
  [181] = 179,
  [182] = 182,
  [183] = 182,
  [184] = 184,
  [185] = 185,
  [186] = 186,
  [187] = 187,
  [188] = 188,
  [189] = 189,
  [190] = 190,
  [191] = 191,
  [192] = 192,
  [193] = 193,
  [194] = 194,
  [195] = 195,
  [196] = 196,
  [197] = 197,
  [198] = 198,
  [199] = 199,
  [200] = 200,
  [201] = 201,
  [202] = 202,
  [203] = 203,
  [204] = 204,
  [205] = 205,
  [206] = 206,
  [207] = 207,
  [208] = 208,
  [209] = 209,
  [210] = 210,
  [211] = 211,
  [212] = 212,
  [213] = 213,
  [214] = 214,
  [215] = 215,
  [216] = 216,
  [217] = 217,
  [218] = 218,
  [219] = 219,
  [220] = 220,
  [221] = 221,
  [222] = 222,
  [223] = 223,
  [224] = 224,
  [225] = 225,
  [226] = 226,
  [227] = 227,
  [228] = 228,
  [229] = 229,
  [230] = 230,
  [231] = 231,
  [232] = 232,
  [233] = 233,
  [234] = 234,
  [235] = 235,
  [236] = 236,
  [237] = 237,
  [238] = 238,
  [239] = 239,
  [240] = 240,
  [241] = 241,
  [242] = 242,
  [243] = 243,
  [244] = 244,
  [245] = 245,
  [246] = 246,
  [247] = 247,
  [248] = 248,
  [249] = 249,
  [250] = 250,
  [251] = 251,
  [252] = 252,
  [253] = 253,
  [254] = 254,
  [255] = 255,
  [256] = 256,
  [257] = 257,
  [258] = 258,
  [259] = 259,
  [260] = 260,
  [261] = 261,
  [262] = 262,
  [263] = 263,
  [264] = 264,
  [265] = 265,
  [266] = 266,
  [267] = 267,
  [268] = 268,
  [269] = 269,
  [270] = 270,
  [271] = 269,
  [272] = 266,
  [273] = 267,
  [274] = 22,
  [275] = 275,
  [276] = 276,
  [277] = 264,
  [278] = 259,
  [279] = 263,
  [280] = 280,
  [281] = 261,
  [282] = 260,
  [283] = 270,
  [284] = 284,
  [285] = 285,
  [286] = 286,
  [287] = 287,
  [288] = 288,
  [289] = 289,
  [290] = 290,
  [291] = 291,
  [292] = 292,
  [293] = 293,
  [294] = 294,
  [295] = 295,
  [296] = 296,
  [297] = 291,
  [298] = 298,
  [299] = 299,
  [300] = 300,
  [301] = 301,
  [302] = 302,
  [303] = 303,
  [304] = 304,
  [305] = 305,
  [306] = 306,
  [307] = 307,
  [308] = 308,
  [309] = 309,
  [310] = 310,
  [311] = 311,
  [312] = 312,
  [313] = 313,
  [314] = 314,
  [315] = 315,
  [316] = 316,
  [317] = 315,
  [318] = 318,
  [319] = 319,
  [320] = 320,
  [321] = 321,
  [322] = 322,
  [323] = 323,
  [324] = 324,
  [325] = 325,
  [326] = 326,
  [327] = 327,
  [328] = 322,
  [329] = 321,
  [330] = 330,
  [331] = 331,
  [332] = 332,
  [333] = 333,
  [334] = 334,
  [335] = 335,
  [336] = 336,
  [337] = 337,
  [338] = 320,
  [339] = 319,
  [340] = 340,
  [341] = 316,
  [342] = 342,
  [343] = 343,
  [344] = 344,
  [345] = 345,
  [346] = 346,
  [347] = 347,
  [348] = 348,
  [349] = 349,
  [350] = 350,
  [351] = 351,
  [352] = 352,
  [353] = 353,
  [354] = 310,
  [355] = 355,
  [356] = 356,
  [357] = 307,
  [358] = 358,
  [359] = 306,
  [360] = 305,
  [361] = 361,
  [362] = 362,
  [363] = 363,
  [364] = 364,
  [365] = 365,
  [366] = 366,
  [367] = 367,
  [368] = 368,
  [369] = 369,
  [370] = 370,
  [371] = 371,
  [372] = 372,
  [373] = 373,
  [374] = 374,
  [375] = 375,
  [376] = 376,
  [377] = 377,
  [378] = 378,
  [379] = 379,
  [380] = 380,
  [381] = 381,
  [382] = 382,
  [383] = 383,
  [384] = 384,
  [385] = 385,
  [386] = 386,
  [387] = 387,
  [388] = 388,
  [389] = 389,
  [390] = 390,
  [391] = 391,
  [392] = 392,
  [393] = 393,
  [394] = 394,
  [395] = 395,
  [396] = 396,
  [397] = 397,
  [398] = 398,
  [399] = 399,
  [400] = 400,
  [401] = 401,
  [402] = 402,
  [403] = 403,
  [404] = 404,
  [405] = 405,
  [406] = 406,
  [407] = 407,
  [408] = 408,
  [409] = 409,
  [410] = 410,
  [411] = 411,
  [412] = 412,
  [413] = 413,
  [414] = 414,
  [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] = 405,
  [432] = 432,
  [433] = 433,
  [434] = 434,
  [435] = 435,
  [436] = 436,
  [437] = 433,
  [438] = 438,
  [439] = 439,
  [440] = 440,
  [441] = 441,
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (eof) ADVANCE(70);
      if (lookahead == '!') ADVANCE(25);
      if (lookahead == '"') ADVANCE(79);
      if (lookahead == '#') ADVANCE(41);
      if (lookahead == '%') ADVANCE(132);
      if (lookahead == '&') ADVANCE(138);
      if (lookahead == '(') ADVANCE(89);
      if (lookahead == ')') ADVANCE(90);
      if (lookahead == '*') ADVANCE(130);
      if (lookahead == '+') ADVANCE(127);
      if (lookahead == ',') ADVANCE(84);
      if (lookahead == '-') ADVANCE(123);
      if (lookahead == '.') ADVANCE(83);
      if (lookahead == '/') ADVANCE(131);
      if (lookahead == '0') ADVANCE(81);
      if (lookahead == ':') ADVANCE(111);
      if (lookahead == ';') ADVANCE(72);
      if (lookahead == '<') ADVANCE(113);
      if (lookahead == '=') ADVANCE(86);
      if (lookahead == '>') ADVANCE(114);
      if (lookahead == '?') ADVANCE(110);
      if (lookahead == '[') ADVANCE(91);
      if (lookahead == ']') ADVANCE(92);
      if (lookahead == '^') ADVANCE(129);
      if (lookahead == '_') ADVANCE(181);
      if (lookahead == '`') ADVANCE(30);
      if (lookahead == 'n') ADVANCE(176);
      if (lookahead == 't') ADVANCE(175);
      if (lookahead == '{') ADVANCE(167);
      if (lookahead == '|') ADVANCE(128);
      if (lookahead == '}') ADVANCE(168);
      if (lookahead == '~') ADVANCE(139);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(0)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(82);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 1:
      if (lookahead == '!') ADVANCE(25);
      if (lookahead == '"') ADVANCE(78);
      if (lookahead == '%') ADVANCE(132);
      if (lookahead == '&') ADVANCE(138);
      if (lookahead == '(') ADVANCE(89);
      if (lookahead == ')') ADVANCE(90);
      if (lookahead == '*') ADVANCE(130);
      if (lookahead == '+') ADVANCE(127);
      if (lookahead == ',') ADVANCE(84);
      if (lookahead == '-') ADVANCE(126);
      if (lookahead == '.') ADVANCE(83);
      if (lookahead == '/') ADVANCE(131);
      if (lookahead == ':') ADVANCE(111);
      if (lookahead == ';') ADVANCE(72);
      if (lookahead == '<') ADVANCE(113);
      if (lookahead == '=') ADVANCE(86);
      if (lookahead == '>') ADVANCE(114);
      if (lookahead == '?') ADVANCE(110);
      if (lookahead == '[') ADVANCE(91);
      if (lookahead == ']') ADVANCE(92);
      if (lookahead == '^') ADVANCE(129);
      if (lookahead == '_') ADVANCE(181);
      if (lookahead == '`') ADVANCE(30);
      if (lookahead == '{') ADVANCE(167);
      if (lookahead == '|') ADVANCE(128);
      if (lookahead == '~') ADVANCE(139);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(1)
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 2:
      if (lookahead == '!') ADVANCE(25);
      if (lookahead == '"') ADVANCE(6);
      if (lookahead == '%') ADVANCE(132);
      if (lookahead == '&') ADVANCE(138);
      if (lookahead == '(') ADVANCE(89);
      if (lookahead == ')') ADVANCE(90);
      if (lookahead == '*') ADVANCE(130);
      if (lookahead == '+') ADVANCE(127);
      if (lookahead == ',') ADVANCE(84);
      if (lookahead == '-') ADVANCE(125);
      if (lookahead == '.') ADVANCE(83);
      if (lookahead == '/') ADVANCE(131);
      if (lookahead == ':') ADVANCE(111);
      if (lookahead == ';') ADVANCE(72);
      if (lookahead == '<') ADVANCE(113);
      if (lookahead == '=') ADVANCE(86);
      if (lookahead == '>') ADVANCE(114);
      if (lookahead == '?') ADVANCE(110);
      if (lookahead == '[') ADVANCE(91);
      if (lookahead == ']') ADVANCE(92);
      if (lookahead == '^') ADVANCE(129);
      if (lookahead == '_') ADVANCE(67);
      if (lookahead == '`') ADVANCE(30);
      if (lookahead == '{') ADVANCE(167);
      if (lookahead == '|') ADVANCE(128);
      if (lookahead == '~') ADVANCE(139);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(2)
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 3:
      if (lookahead == '!') ADVANCE(25);
      if (lookahead == '"') ADVANCE(6);
      if (lookahead == '%') ADVANCE(132);
      if (lookahead == '&') ADVANCE(138);
      if (lookahead == '(') ADVANCE(88);
      if (lookahead == ')') ADVANCE(90);
      if (lookahead == '*') ADVANCE(130);
      if (lookahead == '+') ADVANCE(127);
      if (lookahead == ',') ADVANCE(84);
      if (lookahead == '-') ADVANCE(125);
      if (lookahead == '.') ADVANCE(83);
      if (lookahead == '/') ADVANCE(131);
      if (lookahead == ':') ADVANCE(111);
      if (lookahead == ';') ADVANCE(72);
      if (lookahead == '<') ADVANCE(113);
      if (lookahead == '=') ADVANCE(86);
      if (lookahead == '>') ADVANCE(114);
      if (lookahead == '?') ADVANCE(110);
      if (lookahead == '[') ADVANCE(91);
      if (lookahead == ']') ADVANCE(92);
      if (lookahead == '^') ADVANCE(129);
      if (lookahead == '_') ADVANCE(67);
      if (lookahead == '`') ADVANCE(30);
      if (lookahead == '{') ADVANCE(167);
      if (lookahead == '|') ADVANCE(128);
      if (lookahead == '~') ADVANCE(139);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(3)
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 4:
      if (lookahead == '"') ADVANCE(144);
      END_STATE();
    case 5:
      if (lookahead == '"') ADVANCE(142);
      if (lookahead != 0) ADVANCE(5);
      END_STATE();
    case 6:
      if (lookahead == '"') ADVANCE(143);
      if (lookahead != 0) ADVANCE(5);
      END_STATE();
    case 7:
      if (lookahead == '"') ADVANCE(78);
      if (lookahead == ')') ADVANCE(90);
      if (lookahead == ',') ADVANCE(84);
      if (lookahead == '-') ADVANCE(26);
      if (lookahead == '.' ||
          lookahead == '~') ADVANCE(29);
      if (lookahead == ';') ADVANCE(24);
      if (lookahead == '<') ADVANCE(77);
      if (lookahead == '=' ||
          lookahead == '^') ADVANCE(76);
      if (lookahead == '>') ADVANCE(77);
      if (lookahead == ']') ADVANCE(92);
      if (lookahead == '_') ADVANCE(68);
      if (lookahead == '`') ADVANCE(31);
      if (lookahead == '{') ADVANCE(10);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(7)
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141);
      END_STATE();
    case 8:
      if (lookahead == '"') ADVANCE(6);
      if (lookahead == ';') ADVANCE(165);
      if (lookahead == '{') ADVANCE(163);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(164);
      if (lookahead != 0) ADVANCE(166);
      END_STATE();
    case 9:
      if (lookahead == ')') ADVANCE(90);
      if (lookahead == ',') ADVANCE(84);
      if (lookahead == '-') ADVANCE(26);
      if (lookahead == ';') ADVANCE(72);
      if (lookahead == '=') ADVANCE(85);
      if (lookahead == '_') ADVANCE(181);
      if (lookahead == '`') ADVANCE(30);
      if (lookahead == '{') ADVANCE(10);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(9)
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 10:
      if (lookahead == '-') ADVANCE(11);
      END_STATE();
    case 11:
      if (lookahead == '-') ADVANCE(62);
      if (lookahead == '{') ADVANCE(17);
      if (lookahead != 0) ADVANCE(11);
      END_STATE();
    case 12:
      if (lookahead == '-') ADVANCE(12);
      if (lookahead == '}') ADVANCE(22);
      if (lookahead != 0) ADVANCE(13);
      END_STATE();
    case 13:
      if (lookahead == '-') ADVANCE(12);
      if (lookahead != 0) ADVANCE(13);
      END_STATE();
    case 14:
      if (lookahead == '-') ADVANCE(61);
      if (lookahead == '{') ADVANCE(19);
      if (lookahead != 0) ADVANCE(14);
      END_STATE();
    case 15:
      if (lookahead == '-') ADVANCE(55);
      END_STATE();
    case 16:
      if (lookahead == '-') ADVANCE(13);
      if (lookahead != 0) ADVANCE(22);
      END_STATE();
    case 17:
      if (lookahead == '-') ADVANCE(14);
      if (lookahead != 0) ADVANCE(11);
      END_STATE();
    case 18:
      if (lookahead == '-') ADVANCE(63);
      if (lookahead == '{') ADVANCE(21);
      if (lookahead != 0) ADVANCE(18);
      END_STATE();
    case 19:
      if (lookahead == '-') ADVANCE(18);
      if (lookahead != 0) ADVANCE(14);
      END_STATE();
    case 20:
      if (lookahead == '-') ADVANCE(64);
      if (lookahead == '{') ADVANCE(23);
      if (lookahead != 0) ADVANCE(20);
      END_STATE();
    case 21:
      if (lookahead == '-') ADVANCE(20);
      if (lookahead != 0) ADVANCE(18);
      END_STATE();
    case 22:
      if (lookahead == '-') ADVANCE(65);
      if (lookahead == '{') ADVANCE(16);
      if (lookahead != 0) ADVANCE(22);
      END_STATE();
    case 23:
      if (lookahead == '-') ADVANCE(22);
      if (lookahead != 0) ADVANCE(20);
      END_STATE();
    case 24:
      if (lookahead == ';') ADVANCE(183);
      END_STATE();
    case 25:
      if (lookahead == '=') ADVANCE(117);
      END_STATE();
    case 26:
      if (lookahead == '>') ADVANCE(87);
      END_STATE();
    case 27:
      if (lookahead == '>') ADVANCE(122);
      END_STATE();
    case 28:
      if (lookahead == '>') ADVANCE(121);
      END_STATE();
    case 29:
      if (lookahead == '_') ADVANCE(68);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141);
      END_STATE();
    case 30:
      if (lookahead == '`') ADVANCE(174);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(30);
      END_STATE();
    case 31:
      if (lookahead == '`') ADVANCE(140);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(31);
      END_STATE();
    case 32:
      if (lookahead == 'a') ADVANCE(40);
      END_STATE();
    case 33:
      if (lookahead == 'a') ADVANCE(73);
      END_STATE();
    case 34:
      if (lookahead == 'c') ADVANCE(44);
      END_STATE();
    case 35:
      if (lookahead == 'd') ADVANCE(36);
      END_STATE();
    case 36:
      if (lookahead == 'e') ADVANCE(71);
      END_STATE();
    case 37:
      if (lookahead == 'e') ADVANCE(57);
      END_STATE();
    case 38:
      if (lookahead == 'e') ADVANCE(52);
      END_STATE();
    case 39:
      if (lookahead == 'e') ADVANCE(53);
      END_STATE();
    case 40:
      if (lookahead == 'g') ADVANCE(45);
      END_STATE();
    case 41:
      if (lookahead == 'i') ADVANCE(46);
      if (lookahead == 'p') ADVANCE(51);
      END_STATE();
    case 42:
      if (lookahead == 'i') ADVANCE(49);
      END_STATE();
    case 43:
      if (lookahead == 'i') ADVANCE(50);
      END_STATE();
    case 44:
      if (lookahead == 'l') ADVANCE(58);
      END_STATE();
    case 45:
      if (lookahead == 'm') ADVANCE(33);
      END_STATE();
    case 46:
      if (lookahead == 'n') ADVANCE(34);
      END_STATE();
    case 47:
      if (lookahead == 'n') ADVANCE(74);
      END_STATE();
    case 48:
      if (lookahead == 'n') ADVANCE(15);
      END_STATE();
    case 49:
      if (lookahead == 'o') ADVANCE(47);
      END_STATE();
    case 50:
      if (lookahead == 'o') ADVANCE(48);
      END_STATE();
    case 51:
      if (lookahead == 'r') ADVANCE(32);
      END_STATE();
    case 52:
      if (lookahead == 'r') ADVANCE(54);
      END_STATE();
    case 53:
      if (lookahead == 'r') ADVANCE(56);
      END_STATE();
    case 54:
      if (lookahead == 's') ADVANCE(42);
      END_STATE();
    case 55:
      if (lookahead == 's') ADVANCE(37);
      END_STATE();
    case 56:
      if (lookahead == 's') ADVANCE(43);
      END_STATE();
    case 57:
      if (lookahead == 't') ADVANCE(75);
      END_STATE();
    case 58:
      if (lookahead == 'u') ADVANCE(35);
      END_STATE();
    case 59:
      if (lookahead == 'v') ADVANCE(38);
      END_STATE();
    case 60:
      if (lookahead == 'v') ADVANCE(39);
      END_STATE();
    case 61:
      if (lookahead == '}') ADVANCE(11);
      if (lookahead != 0) ADVANCE(14);
      END_STATE();
    case 62:
      if (lookahead == '}') ADVANCE(182);
      if (lookahead != 0) ADVANCE(11);
      END_STATE();
    case 63:
      if (lookahead == '}') ADVANCE(14);
      if (lookahead != 0) ADVANCE(18);
      END_STATE();
    case 64:
      if (lookahead == '}') ADVANCE(18);
      if (lookahead != 0) ADVANCE(20);
      END_STATE();
    case 65:
      if (lookahead == '}') ADVANCE(20);
      if (lookahead != 0) ADVANCE(22);
      END_STATE();
    case 66:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(171);
      END_STATE();
    case 67:
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 68:
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141);
      END_STATE();
    case 69:
      if (eof) ADVANCE(70);
      if (lookahead == '!') ADVANCE(25);
      if (lookahead == '"') ADVANCE(5);
      if (lookahead == '#') ADVANCE(41);
      if (lookahead == '%') ADVANCE(132);
      if (lookahead == '&') ADVANCE(138);
      if (lookahead == '(') ADVANCE(89);
      if (lookahead == ')') ADVANCE(90);
      if (lookahead == '*') ADVANCE(130);
      if (lookahead == '+') ADVANCE(127);
      if (lookahead == ',') ADVANCE(84);
      if (lookahead == '-') ADVANCE(124);
      if (lookahead == '.') ADVANCE(83);
      if (lookahead == '/') ADVANCE(131);
      if (lookahead == '0') ADVANCE(169);
      if (lookahead == ':') ADVANCE(111);
      if (lookahead == ';') ADVANCE(72);
      if (lookahead == '<') ADVANCE(113);
      if (lookahead == '=') ADVANCE(86);
      if (lookahead == '>') ADVANCE(114);
      if (lookahead == '?') ADVANCE(110);
      if (lookahead == '[') ADVANCE(91);
      if (lookahead == ']') ADVANCE(92);
      if (lookahead == '^') ADVANCE(129);
      if (lookahead == '_') ADVANCE(181);
      if (lookahead == '`') ADVANCE(30);
      if (lookahead == '{') ADVANCE(167);
      if (lookahead == '|') ADVANCE(128);
      if (lookahead == '}') ADVANCE(168);
      if (lookahead == '~') ADVANCE(139);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(69)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 70:
      ACCEPT_TOKEN(ts_builtin_sym_end);
      END_STATE();
    case 71:
      ACCEPT_TOKEN(anon_sym_POUNDinclude);
      END_STATE();
    case 72:
      ACCEPT_TOKEN(anon_sym_SEMI);
      if (lookahead == ';') ADVANCE(183);
      END_STATE();
    case 73:
      ACCEPT_TOKEN(anon_sym_POUNDpragma);
      END_STATE();
    case 74:
      ACCEPT_TOKEN(anon_sym_not_DASHversion);
      END_STATE();
    case 75:
      ACCEPT_TOKEN(anon_sym_test_DASHversion_DASHset);
      END_STATE();
    case 76:
      ACCEPT_TOKEN(aux_sym_pragma_directive_token1);
      END_STATE();
    case 77:
      ACCEPT_TOKEN(aux_sym_pragma_directive_token1);
      if (lookahead == '=') ADVANCE(76);
      END_STATE();
    case 78:
      ACCEPT_TOKEN(anon_sym_DQUOTE);
      END_STATE();
    case 79:
      ACCEPT_TOKEN(anon_sym_DQUOTE);
      if (lookahead == '"') ADVANCE(4);
      END_STATE();
    case 80:
      ACCEPT_TOKEN(aux_sym_pragma_directive_token2);
      END_STATE();
    case 81:
      ACCEPT_TOKEN(aux_sym_pragma_directive_token2);
      if (lookahead == 'x') ADVANCE(66);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(170);
      END_STATE();
    case 82:
      ACCEPT_TOKEN(aux_sym_pragma_directive_token2);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(170);
      END_STATE();
    case 83:
      ACCEPT_TOKEN(anon_sym_DOT);
      END_STATE();
    case 84:
      ACCEPT_TOKEN(anon_sym_COMMA);
      END_STATE();
    case 85:
      ACCEPT_TOKEN(anon_sym_EQ);
      END_STATE();
    case 86:
      ACCEPT_TOKEN(anon_sym_EQ);
      if (lookahead == '=') ADVANCE(112);
      END_STATE();
    case 87:
      ACCEPT_TOKEN(anon_sym_DASH_GT);
      END_STATE();
    case 88:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      END_STATE();
    case 89:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      if (lookahead == ')') ADVANCE(93);
      END_STATE();
    case 90:
      ACCEPT_TOKEN(anon_sym_RPAREN);
      END_STATE();
    case 91:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      END_STATE();
    case 92:
      ACCEPT_TOKEN(anon_sym_RBRACK);
      END_STATE();
    case 93:
      ACCEPT_TOKEN(anon_sym_LPAREN_RPAREN);
      END_STATE();
    case 94:
      ACCEPT_TOKEN(anon_sym_PLUS_EQ);
      END_STATE();
    case 95:
      ACCEPT_TOKEN(anon_sym_DASH_EQ);
      END_STATE();
    case 96:
      ACCEPT_TOKEN(anon_sym_STAR_EQ);
      END_STATE();
    case 97:
      ACCEPT_TOKEN(anon_sym_SLASH_EQ);
      END_STATE();
    case 98:
      ACCEPT_TOKEN(anon_sym_TILDE_SLASH_EQ);
      END_STATE();
    case 99:
      ACCEPT_TOKEN(anon_sym_CARET_SLASH_EQ);
      END_STATE();
    case 100:
      ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
      END_STATE();
    case 101:
      ACCEPT_TOKEN(anon_sym_TILDE_PERCENT_EQ);
      END_STATE();
    case 102:
      ACCEPT_TOKEN(anon_sym_CARET_PERCENT_EQ);
      END_STATE();
    case 103:
      ACCEPT_TOKEN(anon_sym_LT_LT_EQ);
      END_STATE();
    case 104:
      ACCEPT_TOKEN(anon_sym_GT_GT_EQ);
      END_STATE();
    case 105:
      ACCEPT_TOKEN(anon_sym_TILDE_GT_GT_EQ);
      END_STATE();
    case 106:
      ACCEPT_TOKEN(anon_sym_CARET_GT_GT_EQ);
      END_STATE();
    case 107:
      ACCEPT_TOKEN(anon_sym_AMP_EQ);
      END_STATE();
    case 108:
      ACCEPT_TOKEN(anon_sym_PIPE_EQ);
      END_STATE();
    case 109:
      ACCEPT_TOKEN(anon_sym_CARET_EQ);
      END_STATE();
    case 110:
      ACCEPT_TOKEN(anon_sym_QMARK);
      END_STATE();
    case 111:
      ACCEPT_TOKEN(anon_sym_COLON);
      END_STATE();
    case 112:
      ACCEPT_TOKEN(anon_sym_EQ_EQ);
      END_STATE();
    case 113:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<') ADVANCE(119);
      if (lookahead == '=') ADVANCE(115);
      END_STATE();
    case 114:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(116);
      if (lookahead == '>') ADVANCE(120);
      END_STATE();
    case 115:
      ACCEPT_TOKEN(anon_sym_LT_EQ);
      if (lookahead == '>') ADVANCE(118);
      END_STATE();
    case 116:
      ACCEPT_TOKEN(anon_sym_GT_EQ);
      END_STATE();
    case 117:
      ACCEPT_TOKEN(anon_sym_BANG_EQ);
      END_STATE();
    case 118:
      ACCEPT_TOKEN(anon_sym_LT_EQ_GT);
      END_STATE();
    case 119:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      if (lookahead == '=') ADVANCE(103);
      END_STATE();
    case 120:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      if (lookahead == '=') ADVANCE(104);
      END_STATE();
    case 121:
      ACCEPT_TOKEN(anon_sym_TILDE_GT_GT);
      if (lookahead == '=') ADVANCE(105);
      END_STATE();
    case 122:
      ACCEPT_TOKEN(anon_sym_CARET_GT_GT);
      if (lookahead == '=') ADVANCE(106);
      END_STATE();
    case 123:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '0') ADVANCE(169);
      if (lookahead == '=') ADVANCE(95);
      if (lookahead == '>') ADVANCE(87);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170);
      END_STATE();
    case 124:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '0') ADVANCE(169);
      if (lookahead == '=') ADVANCE(95);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170);
      END_STATE();
    case 125:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '=') ADVANCE(95);
      END_STATE();
    case 126:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '=') ADVANCE(95);
      if (lookahead == '>') ADVANCE(87);
      END_STATE();
    case 127:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '=') ADVANCE(94);
      END_STATE();
    case 128:
      ACCEPT_TOKEN(anon_sym_PIPE);
      if (lookahead == '=') ADVANCE(108);
      END_STATE();
    case 129:
      ACCEPT_TOKEN(anon_sym_CARET);
      if (lookahead == '%') ADVANCE(136);
      if (lookahead == '/') ADVANCE(134);
      if (lookahead == '=') ADVANCE(109);
      if (lookahead == '>') ADVANCE(27);
      END_STATE();
    case 130:
      ACCEPT_TOKEN(anon_sym_STAR);
      if (lookahead == '=') ADVANCE(96);
      END_STATE();
    case 131:
      ACCEPT_TOKEN(anon_sym_SLASH);
      if (lookahead == '%') ADVANCE(137);
      if (lookahead == '=') ADVANCE(97);
      END_STATE();
    case 132:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      if (lookahead == '=') ADVANCE(100);
      END_STATE();
    case 133:
      ACCEPT_TOKEN(anon_sym_TILDE_SLASH);
      if (lookahead == '=') ADVANCE(98);
      END_STATE();
    case 134:
      ACCEPT_TOKEN(anon_sym_CARET_SLASH);
      if (lookahead == '=') ADVANCE(99);
      END_STATE();
    case 135:
      ACCEPT_TOKEN(anon_sym_TILDE_PERCENT);
      if (lookahead == '=') ADVANCE(101);
      END_STATE();
    case 136:
      ACCEPT_TOKEN(anon_sym_CARET_PERCENT);
      if (lookahead == '=') ADVANCE(102);
      END_STATE();
    case 137:
      ACCEPT_TOKEN(anon_sym_SLASH_PERCENT);
      END_STATE();
    case 138:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '=') ADVANCE(107);
      END_STATE();
    case 139:
      ACCEPT_TOKEN(anon_sym_TILDE);
      if (lookahead == '%') ADVANCE(135);
      if (lookahead == '/') ADVANCE(133);
      if (lookahead == '>') ADVANCE(28);
      END_STATE();
    case 140:
      ACCEPT_TOKEN(sym_function_name);
      if (lookahead == '`') ADVANCE(140);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(31);
      END_STATE();
    case 141:
      ACCEPT_TOKEN(sym_function_name);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141);
      END_STATE();
    case 142:
      ACCEPT_TOKEN(aux_sym_asm_instruction_token1);
      END_STATE();
    case 143:
      ACCEPT_TOKEN(aux_sym_asm_instruction_token1);
      if (lookahead == '"') ADVANCE(144);
      END_STATE();
    case 144:
      ACCEPT_TOKEN(anon_sym_DQUOTE_DQUOTE_DQUOTE);
      END_STATE();
    case 145:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '\n') ADVANCE(166);
      if (lookahead == '"') ADVANCE(183);
      if (lookahead != 0) ADVANCE(145);
      END_STATE();
    case 146:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(11);
      if (lookahead == '-') ADVANCE(148);
      if (lookahead == '{') ADVANCE(147);
      if (lookahead != 0) ADVANCE(146);
      END_STATE();
    case 147:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(11);
      if (lookahead == '-') ADVANCE(151);
      if (lookahead != 0) ADVANCE(146);
      END_STATE();
    case 148:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(11);
      if (lookahead == '}') ADVANCE(166);
      if (lookahead != 0) ADVANCE(146);
      END_STATE();
    case 149:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '-') ADVANCE(149);
      if (lookahead == '}') ADVANCE(161);
      if (lookahead != 0) ADVANCE(150);
      END_STATE();
    case 150:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '-') ADVANCE(149);
      if (lookahead != 0) ADVANCE(150);
      END_STATE();
    case 151:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(14);
      if (lookahead == '-') ADVANCE(153);
      if (lookahead == '{') ADVANCE(152);
      if (lookahead != 0) ADVANCE(151);
      END_STATE();
    case 152:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(14);
      if (lookahead == '-') ADVANCE(154);
      if (lookahead != 0) ADVANCE(151);
      END_STATE();
    case 153:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(14);
      if (lookahead == '}') ADVANCE(146);
      if (lookahead != 0) ADVANCE(151);
      END_STATE();
    case 154:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(18);
      if (lookahead == '-') ADVANCE(156);
      if (lookahead == '{') ADVANCE(155);
      if (lookahead != 0) ADVANCE(154);
      END_STATE();
    case 155:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(18);
      if (lookahead == '-') ADVANCE(157);
      if (lookahead != 0) ADVANCE(154);
      END_STATE();
    case 156:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(18);
      if (lookahead == '}') ADVANCE(151);
      if (lookahead != 0) ADVANCE(154);
      END_STATE();
    case 157:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(20);
      if (lookahead == '-') ADVANCE(159);
      if (lookahead == '{') ADVANCE(158);
      if (lookahead != 0) ADVANCE(157);
      END_STATE();
    case 158:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(20);
      if (lookahead == '-') ADVANCE(161);
      if (lookahead != 0) ADVANCE(157);
      END_STATE();
    case 159:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(20);
      if (lookahead == '}') ADVANCE(154);
      if (lookahead != 0) ADVANCE(157);
      END_STATE();
    case 160:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(22);
      if (lookahead == '-') ADVANCE(150);
      if (lookahead != 0) ADVANCE(161);
      END_STATE();
    case 161:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(22);
      if (lookahead == '-') ADVANCE(162);
      if (lookahead == '{') ADVANCE(160);
      if (lookahead != 0) ADVANCE(161);
      END_STATE();
    case 162:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '"') ADVANCE(22);
      if (lookahead == '}') ADVANCE(157);
      if (lookahead != 0) ADVANCE(161);
      END_STATE();
    case 163:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == '-') ADVANCE(146);
      if (lookahead != 0 &&
          lookahead != '"') ADVANCE(166);
      END_STATE();
    case 164:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == ';') ADVANCE(165);
      if (lookahead == '{') ADVANCE(163);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(164);
      if (lookahead != 0 &&
          lookahead != '"') ADVANCE(166);
      END_STATE();
    case 165:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead == ';') ADVANCE(145);
      if (lookahead != 0 &&
          lookahead != '"') ADVANCE(166);
      END_STATE();
    case 166:
      ACCEPT_TOKEN(aux_sym__multiline_string_fragment_token1);
      if (lookahead != 0 &&
          lookahead != '"') ADVANCE(166);
      END_STATE();
    case 167:
      ACCEPT_TOKEN(anon_sym_LBRACE);
      if (lookahead == '-') ADVANCE(11);
      END_STATE();
    case 168:
      ACCEPT_TOKEN(anon_sym_RBRACE);
      END_STATE();
    case 169:
      ACCEPT_TOKEN(sym_number);
      if (lookahead == 'x') ADVANCE(66);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(170);
      END_STATE();
    case 170:
      ACCEPT_TOKEN(sym_number);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(170);
      END_STATE();
    case 171:
      ACCEPT_TOKEN(sym_number);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(171);
      END_STATE();
    case 172:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '-') ADVANCE(59);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 173:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '-') ADVANCE(60);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 174:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '`') ADVANCE(174);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(30);
      END_STATE();
    case 175:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'e') ADVANCE(177);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 176:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'o') ADVANCE(178);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 177:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 's') ADVANCE(179);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 178:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 't') ADVANCE(172);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 179:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 't') ADVANCE(173);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 180:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 181:
      ACCEPT_TOKEN(sym_underscore);
      if (lookahead == '\'' ||
          ('0' <= lookahead && lookahead <= ':') ||
          lookahead == '?' ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(180);
      END_STATE();
    case 182:
      ACCEPT_TOKEN(sym_comment);
      END_STATE();
    case 183:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(183);
      END_STATE();
    default:
      return false;
  }
}

static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (lookahead == 'H') ADVANCE(1);
      if (lookahead == 'a') ADVANCE(2);
      if (lookahead == 'b') ADVANCE(3);
      if (lookahead == 'c') ADVANCE(4);
      if (lookahead == 'd') ADVANCE(5);
      if (lookahead == 'e') ADVANCE(6);
      if (lookahead == 'f') ADVANCE(7);
      if (lookahead == 'g') ADVANCE(8);
      if (lookahead == 'h') ADVANCE(9);
      if (lookahead == 'i') ADVANCE(10);
      if (lookahead == 'm') ADVANCE(11);
      if (lookahead == 'r') ADVANCE(12);
      if (lookahead == 's') ADVANCE(13);
      if (lookahead == 't') ADVANCE(14);
      if (lookahead == 'u') ADVANCE(15);
      if (lookahead == 'v') ADVANCE(16);
      if (lookahead == 'w') ADVANCE(17);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(0)
      END_STATE();
    case 1:
      ACCEPT_TOKEN(anon_sym_H);
      END_STATE();
    case 2:
      ACCEPT_TOKEN(anon_sym_a);
      if (lookahead == 's') ADVANCE(18);
      END_STATE();
    case 3:
      if (lookahead == 'u') ADVANCE(19);
      END_STATE();
    case 4:
      ACCEPT_TOKEN(anon_sym_c);
      if (lookahead == 'a') ADVANCE(20);
      if (lookahead == 'e') ADVANCE(21);
      if (lookahead == 'o') ADVANCE(22);
      END_STATE();
    case 5:
      if (lookahead == 'o') ADVANCE(23);
      END_STATE();
    case 6:
      if (lookahead == 'l') ADVANCE(24);
      END_STATE();
    case 7:
      if (lookahead == 'o') ADVANCE(25);
      END_STATE();
    case 8:
      if (lookahead == 'l') ADVANCE(26);
      END_STATE();
    case 9:
      ACCEPT_TOKEN(anon_sym_h);
      END_STATE();
    case 10:
      if (lookahead == 'f') ADVANCE(27);
      if (lookahead == 'm') ADVANCE(28);
      if (lookahead == 'n') ADVANCE(29);
      END_STATE();
    case 11:
      if (lookahead == 'e') ADVANCE(30);
      END_STATE();
    case 12:
      if (lookahead == 'e') ADVANCE(31);
      END_STATE();
    case 13:
      ACCEPT_TOKEN(anon_sym_s);
      if (lookahead == 'l') ADVANCE(32);
      END_STATE();
    case 14:
      if (lookahead == 'r') ADVANCE(33);
      if (lookahead == 'u') ADVANCE(34);
      if (lookahead == 'y') ADVANCE(35);
      END_STATE();
    case 15:
      ACCEPT_TOKEN(anon_sym_u);
      if (lookahead == 'n') ADVANCE(36);
      END_STATE();
    case 16:
      if (lookahead == 'a') ADVANCE(37);
      if (lookahead == 'e') ADVANCE(38);
      END_STATE();
    case 17:
      if (lookahead == 'h') ADVANCE(39);
      END_STATE();
    case 18:
      if (lookahead == 'm') ADVANCE(40);
      END_STATE();
    case 19:
      if (lookahead == 'i') ADVANCE(41);
      END_STATE();
    case 20:
      if (lookahead == 't') ADVANCE(42);
      END_STATE();
    case 21:
      if (lookahead == 'l') ADVANCE(43);
      END_STATE();
    case 22:
      if (lookahead == 'n') ADVANCE(44);
      END_STATE();
    case 23:
      ACCEPT_TOKEN(anon_sym_do);
      END_STATE();
    case 24:
      if (lookahead == 's') ADVANCE(45);
      END_STATE();
    case 25:
      if (lookahead == 'r') ADVANCE(46);
      END_STATE();
    case 26:
      if (lookahead == 'o') ADVANCE(47);
      END_STATE();
    case 27:
      ACCEPT_TOKEN(anon_sym_if);
      if (lookahead == 'n') ADVANCE(48);
      END_STATE();
    case 28:
      if (lookahead == 'p') ADVANCE(49);
      END_STATE();
    case 29:
      if (lookahead == 'l') ADVANCE(50);
      if (lookahead == 't') ADVANCE(51);
      END_STATE();
    case 30:
      if (lookahead == 't') ADVANCE(52);
      END_STATE();
    case 31:
      if (lookahead == 'p') ADVANCE(53);
      if (lookahead == 't') ADVANCE(54);
      END_STATE();
    case 32:
      if (lookahead == 'i') ADVANCE(55);
      END_STATE();
    case 33:
      if (lookahead == 'y') ADVANCE(56);
      END_STATE();
    case 34:
      if (lookahead == 'p') ADVANCE(57);
      END_STATE();
    case 35:
      if (lookahead == 'p') ADVANCE(58);
      END_STATE();
    case 36:
      if (lookahead == 't') ADVANCE(59);
      END_STATE();
    case 37:
      if (lookahead == 'r') ADVANCE(60);
      END_STATE();
    case 38:
      if (lookahead == 'r') ADVANCE(61);
      END_STATE();
    case 39:
      if (lookahead == 'i') ADVANCE(62);
      END_STATE();
    case 40:
      ACCEPT_TOKEN(anon_sym_asm);
      END_STATE();
    case 41:
      if (lookahead == 'l') ADVANCE(63);
      END_STATE();
    case 42:
      if (lookahead == 'c') ADVANCE(64);
      END_STATE();
    case 43:
      if (lookahead == 'l') ADVANCE(65);
      END_STATE();
    case 44:
      if (lookahead == 's') ADVANCE(66);
      if (lookahead == 't') ADVANCE(67);
      END_STATE();
    case 45:
      if (lookahead == 'e') ADVANCE(68);
      END_STATE();
    case 46:
      if (lookahead == 'a') ADVANCE(69);
      END_STATE();
    case 47:
      if (lookahead == 'b') ADVANCE(70);
      END_STATE();
    case 48:
      if (lookahead == 'o') ADVANCE(71);
      END_STATE();
    case 49:
      if (lookahead == 'u') ADVANCE(72);
      END_STATE();
    case 50:
      if (lookahead == 'i') ADVANCE(73);
      END_STATE();
    case 51:
      ACCEPT_TOKEN(anon_sym_int);
      END_STATE();
    case 52:
      if (lookahead == 'h') ADVANCE(74);
      END_STATE();
    case 53:
      if (lookahead == 'e') ADVANCE(75);
      END_STATE();
    case 54:
      if (lookahead == 'u') ADVANCE(76);
      END_STATE();
    case 55:
      if (lookahead == 'c') ADVANCE(77);
      END_STATE();
    case 56:
      ACCEPT_TOKEN(anon_sym_try);
      END_STATE();
    case 57:
      if (lookahead == 'l') ADVANCE(78);
      END_STATE();
    case 58:
      if (lookahead == 'e') ADVANCE(79);
      END_STATE();
    case 59:
      if (lookahead == 'i') ADVANCE(80);
      END_STATE();
    case 60:
      ACCEPT_TOKEN(sym_var);
      END_STATE();
    case 61:
      if (lookahead == 's') ADVANCE(81);
      END_STATE();
    case 62:
      if (lookahead == 'l') ADVANCE(82);
      END_STATE();
    case 63:
      if (lookahead == 'd') ADVANCE(83);
      END_STATE();
    case 64:
      if (lookahead == 'h') ADVANCE(84);
      END_STATE();
    case 65:
      ACCEPT_TOKEN(anon_sym_cell);
      END_STATE();
    case 66:
      if (lookahead == 't') ADVANCE(85);
      END_STATE();
    case 67:
      ACCEPT_TOKEN(anon_sym_cont);
      END_STATE();
    case 68:
      ACCEPT_TOKEN(anon_sym_else);
      if (lookahead == 'i') ADVANCE(86);
      END_STATE();
    case 69:
      if (lookahead == 'l') ADVANCE(87);
      END_STATE();
    case 70:
      if (lookahead == 'a') ADVANCE(88);
      END_STATE();
    case 71:
      if (lookahead == 't') ADVANCE(89);
      END_STATE();
    case 72:
      if (lookahead == 'r') ADVANCE(90);
      END_STATE();
    case 73:
      if (lookahead == 'n') ADVANCE(91);
      END_STATE();
    case 74:
      if (lookahead == 'o') ADVANCE(92);
      END_STATE();
    case 75:
      if (lookahead == 'a') ADVANCE(93);
      END_STATE();
    case 76:
      if (lookahead == 'r') ADVANCE(94);
      END_STATE();
    case 77:
      if (lookahead == 'e') ADVANCE(95);
      END_STATE();
    case 78:
      if (lookahead == 'e') ADVANCE(96);
      END_STATE();
    case 79:
      ACCEPT_TOKEN(anon_sym_type);
      END_STATE();
    case 80:
      if (lookahead == 'l') ADVANCE(97);
      END_STATE();
    case 81:
      if (lookahead == 'i') ADVANCE(98);
      END_STATE();
    case 82:
      if (lookahead == 'e') ADVANCE(99);
      END_STATE();
    case 83:
      if (lookahead == 'e') ADVANCE(100);
      END_STATE();
    case 84:
      ACCEPT_TOKEN(anon_sym_catch);
      END_STATE();
    case 85:
      ACCEPT_TOKEN(anon_sym_const);
      END_STATE();
    case 86:
      if (lookahead == 'f') ADVANCE(101);
      END_STATE();
    case 87:
      if (lookahead == 'l') ADVANCE(102);
      END_STATE();
    case 88:
      if (lookahead == 'l') ADVANCE(103);
      END_STATE();
    case 89:
      ACCEPT_TOKEN(anon_sym_ifnot);
      END_STATE();
    case 90:
      if (lookahead == 'e') ADVANCE(104);
      END_STATE();
    case 91:
      if (lookahead == 'e') ADVANCE(105);
      END_STATE();
    case 92:
      if (lookahead == 'd') ADVANCE(106);
      END_STATE();
    case 93:
      if (lookahead == 't') ADVANCE(107);
      END_STATE();
    case 94:
      if (lookahead == 'n') ADVANCE(108);
      END_STATE();
    case 95:
      ACCEPT_TOKEN(anon_sym_slice);
      END_STATE();
    case 96:
      ACCEPT_TOKEN(anon_sym_tuple);
      END_STATE();
    case 97:
      ACCEPT_TOKEN(anon_sym_until);
      END_STATE();
    case 98:
      if (lookahead == 'o') ADVANCE(109);
      END_STATE();
    case 99:
      ACCEPT_TOKEN(anon_sym_while);
      END_STATE();
    case 100:
      if (lookahead == 'r') ADVANCE(110);
      END_STATE();
    case 101:
      ACCEPT_TOKEN(anon_sym_elseif);
      if (lookahead == 'n') ADVANCE(111);
      END_STATE();
    case 102:
      ACCEPT_TOKEN(anon_sym_forall);
      END_STATE();
    case 103:
      ACCEPT_TOKEN(anon_sym_global);
      END_STATE();
    case 104:
      ACCEPT_TOKEN(anon_sym_impure);
      END_STATE();
    case 105:
      ACCEPT_TOKEN(anon_sym_inline);
      if (lookahead == '_') ADVANCE(112);
      END_STATE();
    case 106:
      if (lookahead == '_') ADVANCE(113);
      END_STATE();
    case 107:
      ACCEPT_TOKEN(anon_sym_repeat);
      END_STATE();
    case 108:
      ACCEPT_TOKEN(anon_sym_return);
      END_STATE();
    case 109:
      if (lookahead == 'n') ADVANCE(114);
      END_STATE();
    case 110:
      ACCEPT_TOKEN(anon_sym_builder);
      END_STATE();
    case 111:
      if (lookahead == 'o') ADVANCE(115);
      END_STATE();
    case 112:
      if (lookahead == 'r') ADVANCE(116);
      END_STATE();
    case 113:
      if (lookahead == 'i') ADVANCE(117);
      END_STATE();
    case 114:
      ACCEPT_TOKEN(anon_sym_version);
      END_STATE();
    case 115:
      if (lookahead == 't') ADVANCE(118);
      END_STATE();
    case 116:
      if (lookahead == 'e') ADVANCE(119);
      END_STATE();
    case 117:
      if (lookahead == 'd') ADVANCE(120);
      END_STATE();
    case 118:
      ACCEPT_TOKEN(anon_sym_elseifnot);
      END_STATE();
    case 119:
      if (lookahead == 'f') ADVANCE(121);
      END_STATE();
    case 120:
      ACCEPT_TOKEN(anon_sym_method_id);
      END_STATE();
    case 121:
      ACCEPT_TOKEN(anon_sym_inline_ref);
      END_STATE();
    default:
      return false;
  }
}

static const TSLexMode ts_lex_modes[STATE_COUNT] = {
  [0] = {.lex_state = 0},
  [1] = {.lex_state = 69},
  [2] = {.lex_state = 69},
  [3] = {.lex_state = 69},
  [4] = {.lex_state = 69},
  [5] = {.lex_state = 69},
  [6] = {.lex_state = 69},
  [7] = {.lex_state = 69},
  [8] = {.lex_state = 69},
  [9] = {.lex_state = 69},
  [10] = {.lex_state = 69},
  [11] = {.lex_state = 69},
  [12] = {.lex_state = 69},
  [13] = {.lex_state = 69},
  [14] = {.lex_state = 69},
  [15] = {.lex_state = 69},
  [16] = {.lex_state = 69},
  [17] = {.lex_state = 69},
  [18] = {.lex_state = 69},
  [19] = {.lex_state = 69},
  [20] = {.lex_state = 69},
  [21] = {.lex_state = 69},
  [22] = {.lex_state = 69},
  [23] = {.lex_state = 69},
  [24] = {.lex_state = 69},
  [25] = {.lex_state = 69},
  [26] = {.lex_state = 69},
  [27] = {.lex_state = 69},
  [28] = {.lex_state = 69},
  [29] = {.lex_state = 69},
  [30] = {.lex_state = 69},
  [31] = {.lex_state = 69},
  [32] = {.lex_state = 69},
  [33] = {.lex_state = 69},
  [34] = {.lex_state = 69},
  [35] = {.lex_state = 69},
  [36] = {.lex_state = 69},
  [37] = {.lex_state = 69},
  [38] = {.lex_state = 69},
  [39] = {.lex_state = 69},
  [40] = {.lex_state = 69},
  [41] = {.lex_state = 69},
  [42] = {.lex_state = 69},
  [43] = {.lex_state = 69},
  [44] = {.lex_state = 69},
  [45] = {.lex_state = 69},
  [46] = {.lex_state = 69},
  [47] = {.lex_state = 69},
  [48] = {.lex_state = 69},
  [49] = {.lex_state = 69},
  [50] = {.lex_state = 69},
  [51] = {.lex_state = 69},
  [52] = {.lex_state = 69},
  [53] = {.lex_state = 69},
  [54] = {.lex_state = 69},
  [55] = {.lex_state = 69},
  [56] = {.lex_state = 2},
  [57] = {.lex_state = 2},
  [58] = {.lex_state = 69},
  [59] = {.lex_state = 2},
  [60] = {.lex_state = 69},
  [61] = {.lex_state = 2},
  [62] = {.lex_state = 69},
  [63] = {.lex_state = 2},
  [64] = {.lex_state = 1},
  [65] = {.lex_state = 3},
  [66] = {.lex_state = 2},
  [67] = {.lex_state = 2},
  [68] = {.lex_state = 2},
  [69] = {.lex_state = 2},
  [70] = {.lex_state = 2},
  [71] = {.lex_state = 2},
  [72] = {.lex_state = 2},
  [73] = {.lex_state = 2},
  [74] = {.lex_state = 2},
  [75] = {.lex_state = 3},
  [76] = {.lex_state = 3},
  [77] = {.lex_state = 3},
  [78] = {.lex_state = 2},
  [79] = {.lex_state = 3},
  [80] = {.lex_state = 3},
  [81] = {.lex_state = 3},
  [82] = {.lex_state = 2},
  [83] = {.lex_state = 3},
  [84] = {.lex_state = 3},
  [85] = {.lex_state = 2},
  [86] = {.lex_state = 2},
  [87] = {.lex_state = 2},
  [88] = {.lex_state = 3},
  [89] = {.lex_state = 2},
  [90] = {.lex_state = 2},
  [91] = {.lex_state = 69},
  [92] = {.lex_state = 2},
  [93] = {.lex_state = 2},
  [94] = {.lex_state = 2},
  [95] = {.lex_state = 69},
  [96] = {.lex_state = 69},
  [97] = {.lex_state = 2},
  [98] = {.lex_state = 2},
  [99] = {.lex_state = 69},
  [100] = {.lex_state = 69},
  [101] = {.lex_state = 69},
  [102] = {.lex_state = 69},
  [103] = {.lex_state = 2},
  [104] = {.lex_state = 69},
  [105] = {.lex_state = 69},
  [106] = {.lex_state = 69},
  [107] = {.lex_state = 69},
  [108] = {.lex_state = 2},
  [109] = {.lex_state = 69},
  [110] = {.lex_state = 2},
  [111] = {.lex_state = 69},
  [112] = {.lex_state = 69},
  [113] = {.lex_state = 69},
  [114] = {.lex_state = 69},
  [115] = {.lex_state = 69},
  [116] = {.lex_state = 69},
  [117] = {.lex_state = 69},
  [118] = {.lex_state = 69},
  [119] = {.lex_state = 69},
  [120] = {.lex_state = 69},
  [121] = {.lex_state = 69},
  [122] = {.lex_state = 69},
  [123] = {.lex_state = 69},
  [124] = {.lex_state = 69},
  [125] = {.lex_state = 69},
  [126] = {.lex_state = 69},
  [127] = {.lex_state = 69},
  [128] = {.lex_state = 69},
  [129] = {.lex_state = 69},
  [130] = {.lex_state = 69},
  [131] = {.lex_state = 69},
  [132] = {.lex_state = 69},
  [133] = {.lex_state = 2},
  [134] = {.lex_state = 2},
  [135] = {.lex_state = 69},
  [136] = {.lex_state = 2},
  [137] = {.lex_state = 2},
  [138] = {.lex_state = 69},
  [139] = {.lex_state = 2},
  [140] = {.lex_state = 2},
  [141] = {.lex_state = 69},
  [142] = {.lex_state = 69},
  [143] = {.lex_state = 69},
  [144] = {.lex_state = 69},
  [145] = {.lex_state = 69},
  [146] = {.lex_state = 69},
  [147] = {.lex_state = 69},
  [148] = {.lex_state = 69},
  [149] = {.lex_state = 69},
  [150] = {.lex_state = 69},
  [151] = {.lex_state = 69},
  [152] = {.lex_state = 69},
  [153] = {.lex_state = 69},
  [154] = {.lex_state = 69},
  [155] = {.lex_state = 69},
  [156] = {.lex_state = 69},
  [157] = {.lex_state = 69},
  [158] = {.lex_state = 69},
  [159] = {.lex_state = 69},
  [160] = {.lex_state = 69},
  [161] = {.lex_state = 69},
  [162] = {.lex_state = 69},
  [163] = {.lex_state = 69},
  [164] = {.lex_state = 69},
  [165] = {.lex_state = 69},
  [166] = {.lex_state = 69},
  [167] = {.lex_state = 69},
  [168] = {.lex_state = 69},
  [169] = {.lex_state = 69},
  [170] = {.lex_state = 69},
  [171] = {.lex_state = 69},
  [172] = {.lex_state = 69},
  [173] = {.lex_state = 69},
  [174] = {.lex_state = 69},
  [175] = {.lex_state = 69},
  [176] = {.lex_state = 69},
  [177] = {.lex_state = 69},
  [178] = {.lex_state = 69},
  [179] = {.lex_state = 69},
  [180] = {.lex_state = 69},
  [181] = {.lex_state = 69},
  [182] = {.lex_state = 69},
  [183] = {.lex_state = 69},
  [184] = {.lex_state = 69},
  [185] = {.lex_state = 69},
  [186] = {.lex_state = 69},
  [187] = {.lex_state = 69},
  [188] = {.lex_state = 69},
  [189] = {.lex_state = 69},
  [190] = {.lex_state = 69},
  [191] = {.lex_state = 69},
  [192] = {.lex_state = 69},
  [193] = {.lex_state = 69},
  [194] = {.lex_state = 69},
  [195] = {.lex_state = 69},
  [196] = {.lex_state = 69},
  [197] = {.lex_state = 69},
  [198] = {.lex_state = 69},
  [199] = {.lex_state = 69},
  [200] = {.lex_state = 69},
  [201] = {.lex_state = 69},
  [202] = {.lex_state = 69},
  [203] = {.lex_state = 69},
  [204] = {.lex_state = 69},
  [205] = {.lex_state = 69},
  [206] = {.lex_state = 69},
  [207] = {.lex_state = 69},
  [208] = {.lex_state = 69},
  [209] = {.lex_state = 69},
  [210] = {.lex_state = 69},
  [211] = {.lex_state = 69},
  [212] = {.lex_state = 69},
  [213] = {.lex_state = 69},
  [214] = {.lex_state = 69},
  [215] = {.lex_state = 69},
  [216] = {.lex_state = 69},
  [217] = {.lex_state = 69},
  [218] = {.lex_state = 69},
  [219] = {.lex_state = 69},
  [220] = {.lex_state = 69},
  [221] = {.lex_state = 69},
  [222] = {.lex_state = 69},
  [223] = {.lex_state = 69},
  [224] = {.lex_state = 69},
  [225] = {.lex_state = 69},
  [226] = {.lex_state = 69},
  [227] = {.lex_state = 69},
  [228] = {.lex_state = 69},
  [229] = {.lex_state = 69},
  [230] = {.lex_state = 69},
  [231] = {.lex_state = 69},
  [232] = {.lex_state = 3},
  [233] = {.lex_state = 3},
  [234] = {.lex_state = 3},
  [235] = {.lex_state = 69},
  [236] = {.lex_state = 69},
  [237] = {.lex_state = 69},
  [238] = {.lex_state = 69},
  [239] = {.lex_state = 69},
  [240] = {.lex_state = 69},
  [241] = {.lex_state = 69},
  [242] = {.lex_state = 69},
  [243] = {.lex_state = 69},
  [244] = {.lex_state = 69},
  [245] = {.lex_state = 69},
  [246] = {.lex_state = 69},
  [247] = {.lex_state = 69},
  [248] = {.lex_state = 69},
  [249] = {.lex_state = 69},
  [250] = {.lex_state = 69},
  [251] = {.lex_state = 69},
  [252] = {.lex_state = 69},
  [253] = {.lex_state = 2},
  [254] = {.lex_state = 69},
  [255] = {.lex_state = 2},
  [256] = {.lex_state = 69},
  [257] = {.lex_state = 69},
  [258] = {.lex_state = 69},
  [259] = {.lex_state = 7},
  [260] = {.lex_state = 7},
  [261] = {.lex_state = 7},
  [262] = {.lex_state = 8},
  [263] = {.lex_state = 7},
  [264] = {.lex_state = 7},
  [265] = {.lex_state = 8},
  [266] = {.lex_state = 7},
  [267] = {.lex_state = 9},
  [268] = {.lex_state = 2},
  [269] = {.lex_state = 9},
  [270] = {.lex_state = 7},
  [271] = {.lex_state = 7},
  [272] = {.lex_state = 9},
  [273] = {.lex_state = 7},
  [274] = {.lex_state = 7},
  [275] = {.lex_state = 9},
  [276] = {.lex_state = 8},
  [277] = {.lex_state = 9},
  [278] = {.lex_state = 9},
  [279] = {.lex_state = 9},
  [280] = {.lex_state = 9},
  [281] = {.lex_state = 9},
  [282] = {.lex_state = 9},
  [283] = {.lex_state = 9},
  [284] = {.lex_state = 9},
  [285] = {.lex_state = 69},
  [286] = {.lex_state = 0},
  [287] = {.lex_state = 8},
  [288] = {.lex_state = 69},
  [289] = {.lex_state = 9},
  [290] = {.lex_state = 3},
  [291] = {.lex_state = 69},
  [292] = {.lex_state = 0},
  [293] = {.lex_state = 9},
  [294] = {.lex_state = 0},
  [295] = {.lex_state = 9},
  [296] = {.lex_state = 9},
  [297] = {.lex_state = 7},
  [298] = {.lex_state = 8},
  [299] = {.lex_state = 8},
  [300] = {.lex_state = 7},
  [301] = {.lex_state = 7},
  [302] = {.lex_state = 0},
  [303] = {.lex_state = 8},
  [304] = {.lex_state = 1},
  [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 = 69},
  [312] = {.lex_state = 69},
  [313] = {.lex_state = 2},
  [314] = {.lex_state = 2},
  [315] = {.lex_state = 0},
  [316] = {.lex_state = 0},
  [317] = {.lex_state = 0},
  [318] = {.lex_state = 7},
  [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 = 9},
  [327] = {.lex_state = 0},
  [328] = {.lex_state = 0},
  [329] = {.lex_state = 0},
  [330] = {.lex_state = 0},
  [331] = {.lex_state = 7},
  [332] = {.lex_state = 1},
  [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 = 69},
  [343] = {.lex_state = 0},
  [344] = {.lex_state = 0},
  [345] = {.lex_state = 1},
  [346] = {.lex_state = 7},
  [347] = {.lex_state = 1},
  [348] = {.lex_state = 0},
  [349] = {.lex_state = 1},
  [350] = {.lex_state = 2},
  [351] = {.lex_state = 0},
  [352] = {.lex_state = 3},
  [353] = {.lex_state = 0},
  [354] = {.lex_state = 0},
  [355] = {.lex_state = 0},
  [356] = {.lex_state = 2},
  [357] = {.lex_state = 0},
  [358] = {.lex_state = 9},
  [359] = {.lex_state = 0},
  [360] = {.lex_state = 0},
  [361] = {.lex_state = 0},
  [362] = {.lex_state = 69},
  [363] = {.lex_state = 0},
  [364] = {.lex_state = 69},
  [365] = {.lex_state = 69},
  [366] = {.lex_state = 1},
  [367] = {.lex_state = 69},
  [368] = {.lex_state = 7},
  [369] = {.lex_state = 69},
  [370] = {.lex_state = 3},
  [371] = {.lex_state = 7},
  [372] = {.lex_state = 1},
  [373] = {.lex_state = 2},
  [374] = {.lex_state = 2},
  [375] = {.lex_state = 0},
  [376] = {.lex_state = 0},
  [377] = {.lex_state = 1},
  [378] = {.lex_state = 1},
  [379] = {.lex_state = 0},
  [380] = {.lex_state = 0},
  [381] = {.lex_state = 0},
  [382] = {.lex_state = 2},
  [383] = {.lex_state = 0},
  [384] = {.lex_state = 69},
  [385] = {.lex_state = 0},
  [386] = {.lex_state = 69},
  [387] = {.lex_state = 0},
  [388] = {.lex_state = 3},
  [389] = {.lex_state = 0},
  [390] = {.lex_state = 69},
  [391] = {.lex_state = 69},
  [392] = {.lex_state = 0},
  [393] = {.lex_state = 0},
  [394] = {.lex_state = 0},
  [395] = {.lex_state = 69},
  [396] = {.lex_state = 2},
  [397] = {.lex_state = 1},
  [398] = {.lex_state = 7},
  [399] = {.lex_state = 0},
  [400] = {.lex_state = 69},
  [401] = {.lex_state = 2},
  [402] = {.lex_state = 69},
  [403] = {.lex_state = 69},
  [404] = {.lex_state = 2},
  [405] = {.lex_state = 69},
  [406] = {.lex_state = 7},
  [407] = {.lex_state = 69},
  [408] = {.lex_state = 0},
  [409] = {.lex_state = 2},
  [410] = {.lex_state = 0},
  [411] = {.lex_state = 2},
  [412] = {.lex_state = 0},
  [413] = {.lex_state = 0},
  [414] = {.lex_state = 0},
  [415] = {.lex_state = 0},
  [416] = {.lex_state = 69},
  [417] = {.lex_state = 3},
  [418] = {.lex_state = 2},
  [419] = {.lex_state = 0},
  [420] = {.lex_state = 0},
  [421] = {.lex_state = 69},
  [422] = {.lex_state = 0},
  [423] = {.lex_state = 0},
  [424] = {.lex_state = 0},
  [425] = {.lex_state = 0},
  [426] = {.lex_state = 7},
  [427] = {.lex_state = 0},
  [428] = {.lex_state = 0},
  [429] = {.lex_state = 69},
  [430] = {.lex_state = 3},
  [431] = {.lex_state = 69},
  [432] = {.lex_state = 2},
  [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 = 2},
  [441] = {.lex_state = 2},
};

static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
  [0] = {
    [ts_builtin_sym_end] = ACTIONS(1),
    [sym_identifier] = ACTIONS(1),
    [anon_sym_POUNDinclude] = ACTIONS(1),
    [anon_sym_SEMI] = ACTIONS(1),
    [anon_sym_POUNDpragma] = ACTIONS(1),
    [anon_sym_version] = ACTIONS(1),
    [anon_sym_not_DASHversion] = ACTIONS(1),
    [anon_sym_test_DASHversion_DASHset] = ACTIONS(1),
    [aux_sym_pragma_directive_token1] = ACTIONS(1),
    [anon_sym_DQUOTE] = ACTIONS(1),
    [aux_sym_pragma_directive_token2] = ACTIONS(1),
    [anon_sym_DOT] = ACTIONS(1),
    [anon_sym_global] = ACTIONS(1),
    [anon_sym_COMMA] = ACTIONS(1),
    [anon_sym_const] = ACTIONS(1),
    [anon_sym_EQ] = ACTIONS(1),
    [anon_sym_DASH_GT] = ACTIONS(1),
    [anon_sym_LPAREN] = ACTIONS(1),
    [anon_sym_RPAREN] = ACTIONS(1),
    [anon_sym_int] = ACTIONS(1),
    [anon_sym_cell] = ACTIONS(1),
    [anon_sym_slice] = ACTIONS(1),
    [anon_sym_builder] = ACTIONS(1),
    [anon_sym_cont] = ACTIONS(1),
    [anon_sym_tuple] = ACTIONS(1),
    [anon_sym_LBRACK] = ACTIONS(1),
    [anon_sym_RBRACK] = ACTIONS(1),
    [sym_var] = ACTIONS(1),
    [anon_sym_LPAREN_RPAREN] = 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_TILDE_SLASH_EQ] = ACTIONS(1),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(1),
    [anon_sym_PERCENT_EQ] = ACTIONS(1),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(1),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(1),
    [anon_sym_LT_LT_EQ] = ACTIONS(1),
    [anon_sym_GT_GT_EQ] = ACTIONS(1),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(1),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(1),
    [anon_sym_AMP_EQ] = ACTIONS(1),
    [anon_sym_PIPE_EQ] = ACTIONS(1),
    [anon_sym_CARET_EQ] = ACTIONS(1),
    [anon_sym_QMARK] = ACTIONS(1),
    [anon_sym_COLON] = ACTIONS(1),
    [anon_sym_EQ_EQ] = ACTIONS(1),
    [anon_sym_LT] = ACTIONS(1),
    [anon_sym_GT] = ACTIONS(1),
    [anon_sym_LT_EQ] = ACTIONS(1),
    [anon_sym_GT_EQ] = ACTIONS(1),
    [anon_sym_BANG_EQ] = ACTIONS(1),
    [anon_sym_LT_EQ_GT] = ACTIONS(1),
    [anon_sym_LT_LT] = ACTIONS(1),
    [anon_sym_GT_GT] = ACTIONS(1),
    [anon_sym_TILDE_GT_GT] = ACTIONS(1),
    [anon_sym_CARET_GT_GT] = ACTIONS(1),
    [anon_sym_DASH] = ACTIONS(1),
    [anon_sym_PLUS] = ACTIONS(1),
    [anon_sym_PIPE] = ACTIONS(1),
    [anon_sym_CARET] = ACTIONS(1),
    [anon_sym_STAR] = ACTIONS(1),
    [anon_sym_SLASH] = ACTIONS(1),
    [anon_sym_PERCENT] = ACTIONS(1),
    [anon_sym_TILDE_SLASH] = ACTIONS(1),
    [anon_sym_CARET_SLASH] = ACTIONS(1),
    [anon_sym_TILDE_PERCENT] = ACTIONS(1),
    [anon_sym_CARET_PERCENT] = ACTIONS(1),
    [anon_sym_SLASH_PERCENT] = ACTIONS(1),
    [anon_sym_AMP] = ACTIONS(1),
    [anon_sym_TILDE] = ACTIONS(1),
    [anon_sym_type] = ACTIONS(1),
    [anon_sym_impure] = ACTIONS(1),
    [anon_sym_inline] = ACTIONS(1),
    [anon_sym_inline_ref] = ACTIONS(1),
    [anon_sym_method_id] = ACTIONS(1),
    [anon_sym_forall] = ACTIONS(1),
    [anon_sym_asm] = ACTIONS(1),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1),
    [anon_sym_return] = ACTIONS(1),
    [anon_sym_LBRACE] = ACTIONS(1),
    [anon_sym_RBRACE] = ACTIONS(1),
    [anon_sym_repeat] = ACTIONS(1),
    [anon_sym_if] = ACTIONS(1),
    [anon_sym_ifnot] = ACTIONS(1),
    [anon_sym_else] = ACTIONS(1),
    [anon_sym_elseif] = ACTIONS(1),
    [anon_sym_elseifnot] = ACTIONS(1),
    [anon_sym_do] = ACTIONS(1),
    [anon_sym_until] = ACTIONS(1),
    [anon_sym_while] = ACTIONS(1),
    [anon_sym_try] = ACTIONS(1),
    [anon_sym_catch] = ACTIONS(1),
    [sym_number] = ACTIONS(1),
    [anon_sym_s] = ACTIONS(1),
    [anon_sym_a] = ACTIONS(1),
    [anon_sym_u] = ACTIONS(1),
    [anon_sym_h] = ACTIONS(1),
    [anon_sym_H] = ACTIONS(1),
    [anon_sym_c] = ACTIONS(1),
    [sym_underscore] = ACTIONS(1),
    [sym_comment] = ACTIONS(3),
  },
  [1] = {
    [sym_translation_unit] = STATE(428),
    [sym__top_level_item] = STATE(149),
    [sym_include_directive] = STATE(149),
    [sym_pragma_directive] = STATE(149),
    [sym_global_var_declarations] = STATE(149),
    [sym_const_var_declarations] = STATE(149),
    [sym__type] = STATE(426),
    [sym_function_type] = STATE(426),
    [sym__atomic_type] = STATE(260),
    [sym__parenthesized_type] = STATE(260),
    [sym_primitive_type] = STATE(260),
    [sym_tensor_type] = STATE(260),
    [sym_tuple_type] = STATE(260),
    [sym_hole_type] = STATE(260),
    [sym_unit_type] = STATE(260),
    [sym_type_identifier] = STATE(260),
    [sym_function_definition] = STATE(149),
    [sym_type_variables_list] = STATE(180),
    [aux_sym_translation_unit_repeat1] = STATE(149),
    [ts_builtin_sym_end] = ACTIONS(5),
    [sym_identifier] = ACTIONS(7),
    [anon_sym_POUNDinclude] = ACTIONS(9),
    [anon_sym_POUNDpragma] = ACTIONS(11),
    [anon_sym_global] = ACTIONS(13),
    [anon_sym_const] = ACTIONS(15),
    [anon_sym_LPAREN] = ACTIONS(17),
    [anon_sym_int] = ACTIONS(19),
    [anon_sym_cell] = ACTIONS(19),
    [anon_sym_slice] = ACTIONS(19),
    [anon_sym_builder] = ACTIONS(19),
    [anon_sym_cont] = ACTIONS(19),
    [anon_sym_tuple] = ACTIONS(19),
    [anon_sym_LBRACK] = ACTIONS(21),
    [sym_var] = ACTIONS(23),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(25),
    [anon_sym_forall] = ACTIONS(27),
    [sym_underscore] = ACTIONS(29),
    [sym_comment] = ACTIONS(3),
  },
  [2] = {
    [sym_identifier] = ACTIONS(31),
    [anon_sym_SEMI] = ACTIONS(31),
    [anon_sym_DOT] = ACTIONS(33),
    [anon_sym_EQ] = ACTIONS(31),
    [anon_sym_LPAREN] = ACTIONS(31),
    [anon_sym_int] = ACTIONS(31),
    [anon_sym_cell] = ACTIONS(31),
    [anon_sym_slice] = ACTIONS(31),
    [anon_sym_builder] = ACTIONS(31),
    [anon_sym_cont] = ACTIONS(31),
    [anon_sym_tuple] = ACTIONS(31),
    [anon_sym_LBRACK] = ACTIONS(33),
    [sym_var] = ACTIONS(31),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(33),
    [anon_sym_PLUS_EQ] = ACTIONS(33),
    [anon_sym_DASH_EQ] = ACTIONS(33),
    [anon_sym_STAR_EQ] = ACTIONS(33),
    [anon_sym_SLASH_EQ] = ACTIONS(33),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(33),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(33),
    [anon_sym_PERCENT_EQ] = ACTIONS(33),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(33),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(33),
    [anon_sym_LT_LT_EQ] = ACTIONS(33),
    [anon_sym_GT_GT_EQ] = ACTIONS(33),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(33),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(33),
    [anon_sym_AMP_EQ] = ACTIONS(33),
    [anon_sym_PIPE_EQ] = ACTIONS(33),
    [anon_sym_CARET_EQ] = ACTIONS(33),
    [anon_sym_QMARK] = ACTIONS(33),
    [anon_sym_EQ_EQ] = ACTIONS(33),
    [anon_sym_LT] = ACTIONS(31),
    [anon_sym_GT] = ACTIONS(31),
    [anon_sym_LT_EQ] = ACTIONS(31),
    [anon_sym_GT_EQ] = ACTIONS(33),
    [anon_sym_BANG_EQ] = ACTIONS(33),
    [anon_sym_LT_EQ_GT] = ACTIONS(33),
    [anon_sym_LT_LT] = ACTIONS(31),
    [anon_sym_GT_GT] = ACTIONS(31),
    [anon_sym_TILDE_GT_GT] = ACTIONS(31),
    [anon_sym_CARET_GT_GT] = ACTIONS(31),
    [anon_sym_DASH] = ACTIONS(31),
    [anon_sym_PLUS] = ACTIONS(31),
    [anon_sym_PIPE] = ACTIONS(31),
    [anon_sym_CARET] = ACTIONS(31),
    [anon_sym_STAR] = ACTIONS(31),
    [anon_sym_SLASH] = ACTIONS(31),
    [anon_sym_PERCENT] = ACTIONS(31),
    [anon_sym_TILDE_SLASH] = ACTIONS(31),
    [anon_sym_CARET_SLASH] = ACTIONS(31),
    [anon_sym_TILDE_PERCENT] = ACTIONS(31),
    [anon_sym_CARET_PERCENT] = ACTIONS(31),
    [anon_sym_SLASH_PERCENT] = ACTIONS(33),
    [anon_sym_AMP] = ACTIONS(31),
    [anon_sym_TILDE] = ACTIONS(31),
    [anon_sym_type] = ACTIONS(31),
    [aux_sym_asm_instruction_token1] = ACTIONS(33),
    [anon_sym_return] = ACTIONS(31),
    [anon_sym_LBRACE] = ACTIONS(31),
    [anon_sym_RBRACE] = ACTIONS(33),
    [anon_sym_repeat] = ACTIONS(31),
    [anon_sym_if] = ACTIONS(31),
    [anon_sym_ifnot] = ACTIONS(31),
    [anon_sym_do] = ACTIONS(31),
    [anon_sym_while] = ACTIONS(31),
    [anon_sym_try] = ACTIONS(31),
    [sym_number] = ACTIONS(33),
    [anon_sym_s] = ACTIONS(31),
    [anon_sym_a] = ACTIONS(31),
    [anon_sym_u] = ACTIONS(31),
    [anon_sym_h] = ACTIONS(31),
    [anon_sym_H] = ACTIONS(31),
    [anon_sym_c] = ACTIONS(31),
    [sym_underscore] = ACTIONS(31),
    [sym_comment] = ACTIONS(3),
  },
  [3] = {
    [sym_identifier] = ACTIONS(35),
    [anon_sym_SEMI] = ACTIONS(35),
    [anon_sym_DOT] = ACTIONS(37),
    [anon_sym_EQ] = ACTIONS(35),
    [anon_sym_LPAREN] = ACTIONS(35),
    [anon_sym_int] = ACTIONS(35),
    [anon_sym_cell] = ACTIONS(35),
    [anon_sym_slice] = ACTIONS(35),
    [anon_sym_builder] = ACTIONS(35),
    [anon_sym_cont] = ACTIONS(35),
    [anon_sym_tuple] = ACTIONS(35),
    [anon_sym_LBRACK] = ACTIONS(37),
    [sym_var] = ACTIONS(35),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(37),
    [anon_sym_PLUS_EQ] = ACTIONS(37),
    [anon_sym_DASH_EQ] = ACTIONS(37),
    [anon_sym_STAR_EQ] = ACTIONS(37),
    [anon_sym_SLASH_EQ] = ACTIONS(37),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(37),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(37),
    [anon_sym_PERCENT_EQ] = ACTIONS(37),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(37),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(37),
    [anon_sym_LT_LT_EQ] = ACTIONS(37),
    [anon_sym_GT_GT_EQ] = ACTIONS(37),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(37),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(37),
    [anon_sym_AMP_EQ] = ACTIONS(37),
    [anon_sym_PIPE_EQ] = ACTIONS(37),
    [anon_sym_CARET_EQ] = ACTIONS(37),
    [anon_sym_QMARK] = ACTIONS(37),
    [anon_sym_EQ_EQ] = ACTIONS(37),
    [anon_sym_LT] = ACTIONS(35),
    [anon_sym_GT] = ACTIONS(35),
    [anon_sym_LT_EQ] = ACTIONS(35),
    [anon_sym_GT_EQ] = ACTIONS(37),
    [anon_sym_BANG_EQ] = ACTIONS(37),
    [anon_sym_LT_EQ_GT] = ACTIONS(37),
    [anon_sym_LT_LT] = ACTIONS(35),
    [anon_sym_GT_GT] = ACTIONS(35),
    [anon_sym_TILDE_GT_GT] = ACTIONS(35),
    [anon_sym_CARET_GT_GT] = ACTIONS(35),
    [anon_sym_DASH] = ACTIONS(35),
    [anon_sym_PLUS] = ACTIONS(35),
    [anon_sym_PIPE] = ACTIONS(35),
    [anon_sym_CARET] = ACTIONS(35),
    [anon_sym_STAR] = ACTIONS(35),
    [anon_sym_SLASH] = ACTIONS(35),
    [anon_sym_PERCENT] = ACTIONS(35),
    [anon_sym_TILDE_SLASH] = ACTIONS(35),
    [anon_sym_CARET_SLASH] = ACTIONS(35),
    [anon_sym_TILDE_PERCENT] = ACTIONS(35),
    [anon_sym_CARET_PERCENT] = ACTIONS(35),
    [anon_sym_SLASH_PERCENT] = ACTIONS(37),
    [anon_sym_AMP] = ACTIONS(35),
    [anon_sym_TILDE] = ACTIONS(35),
    [anon_sym_type] = ACTIONS(35),
    [aux_sym_asm_instruction_token1] = ACTIONS(37),
    [anon_sym_return] = ACTIONS(35),
    [anon_sym_LBRACE] = ACTIONS(35),
    [anon_sym_RBRACE] = ACTIONS(37),
    [anon_sym_repeat] = ACTIONS(35),
    [anon_sym_if] = ACTIONS(35),
    [anon_sym_ifnot] = ACTIONS(35),
    [anon_sym_do] = ACTIONS(35),
    [anon_sym_while] = ACTIONS(35),
    [anon_sym_try] = ACTIONS(35),
    [sym_number] = ACTIONS(37),
    [anon_sym_s] = ACTIONS(39),
    [anon_sym_a] = ACTIONS(41),
    [anon_sym_u] = ACTIONS(43),
    [anon_sym_h] = ACTIONS(45),
    [anon_sym_H] = ACTIONS(47),
    [anon_sym_c] = ACTIONS(49),
    [sym_underscore] = ACTIONS(35),
    [sym_comment] = ACTIONS(3),
  },
  [4] = {
    [sym_unit_literal] = STATE(5),
    [sym_parenthesized_expression] = STATE(5),
    [sym_tensor_expression] = STATE(5),
    [aux_sym_function_application_repeat1] = STATE(5),
    [sym_identifier] = ACTIONS(51),
    [anon_sym_SEMI] = ACTIONS(51),
    [anon_sym_DOT] = ACTIONS(53),
    [anon_sym_EQ] = ACTIONS(51),
    [anon_sym_LPAREN] = ACTIONS(51),
    [anon_sym_int] = ACTIONS(51),
    [anon_sym_cell] = ACTIONS(51),
    [anon_sym_slice] = ACTIONS(51),
    [anon_sym_builder] = ACTIONS(51),
    [anon_sym_cont] = ACTIONS(51),
    [anon_sym_tuple] = ACTIONS(51),
    [anon_sym_LBRACK] = ACTIONS(53),
    [sym_var] = ACTIONS(51),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(53),
    [anon_sym_PLUS_EQ] = ACTIONS(53),
    [anon_sym_DASH_EQ] = ACTIONS(53),
    [anon_sym_STAR_EQ] = ACTIONS(53),
    [anon_sym_SLASH_EQ] = ACTIONS(53),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(53),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(53),
    [anon_sym_PERCENT_EQ] = ACTIONS(53),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(53),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(53),
    [anon_sym_LT_LT_EQ] = ACTIONS(53),
    [anon_sym_GT_GT_EQ] = ACTIONS(53),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(53),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(53),
    [anon_sym_AMP_EQ] = ACTIONS(53),
    [anon_sym_PIPE_EQ] = ACTIONS(53),
    [anon_sym_CARET_EQ] = ACTIONS(53),
    [anon_sym_QMARK] = ACTIONS(53),
    [anon_sym_EQ_EQ] = ACTIONS(53),
    [anon_sym_LT] = ACTIONS(51),
    [anon_sym_GT] = ACTIONS(51),
    [anon_sym_LT_EQ] = ACTIONS(51),
    [anon_sym_GT_EQ] = ACTIONS(53),
    [anon_sym_BANG_EQ] = ACTIONS(53),
    [anon_sym_LT_EQ_GT] = ACTIONS(53),
    [anon_sym_LT_LT] = ACTIONS(51),
    [anon_sym_GT_GT] = ACTIONS(51),
    [anon_sym_TILDE_GT_GT] = ACTIONS(51),
    [anon_sym_CARET_GT_GT] = ACTIONS(51),
    [anon_sym_DASH] = ACTIONS(51),
    [anon_sym_PLUS] = ACTIONS(51),
    [anon_sym_PIPE] = ACTIONS(51),
    [anon_sym_CARET] = ACTIONS(51),
    [anon_sym_STAR] = ACTIONS(51),
    [anon_sym_SLASH] = ACTIONS(51),
    [anon_sym_PERCENT] = ACTIONS(51),
    [anon_sym_TILDE_SLASH] = ACTIONS(51),
    [anon_sym_CARET_SLASH] = ACTIONS(51),
    [anon_sym_TILDE_PERCENT] = ACTIONS(51),
    [anon_sym_CARET_PERCENT] = ACTIONS(51),
    [anon_sym_SLASH_PERCENT] = ACTIONS(53),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_TILDE] = ACTIONS(51),
    [anon_sym_type] = ACTIONS(51),
    [aux_sym_asm_instruction_token1] = ACTIONS(53),
    [anon_sym_return] = ACTIONS(51),
    [anon_sym_LBRACE] = ACTIONS(51),
    [anon_sym_RBRACE] = ACTIONS(53),
    [anon_sym_repeat] = ACTIONS(51),
    [anon_sym_if] = ACTIONS(51),
    [anon_sym_ifnot] = ACTIONS(51),
    [anon_sym_do] = ACTIONS(51),
    [anon_sym_while] = ACTIONS(51),
    [anon_sym_try] = ACTIONS(51),
    [sym_number] = ACTIONS(53),
    [sym_underscore] = ACTIONS(51),
    [sym_comment] = ACTIONS(3),
  },
  [5] = {
    [sym_unit_literal] = STATE(5),
    [sym_parenthesized_expression] = STATE(5),
    [sym_tensor_expression] = STATE(5),
    [aux_sym_function_application_repeat1] = STATE(5),
    [sym_identifier] = ACTIONS(55),
    [anon_sym_SEMI] = ACTIONS(58),
    [anon_sym_DOT] = ACTIONS(60),
    [anon_sym_EQ] = ACTIONS(58),
    [anon_sym_LPAREN] = ACTIONS(62),
    [anon_sym_int] = ACTIONS(58),
    [anon_sym_cell] = ACTIONS(58),
    [anon_sym_slice] = ACTIONS(58),
    [anon_sym_builder] = ACTIONS(58),
    [anon_sym_cont] = ACTIONS(58),
    [anon_sym_tuple] = ACTIONS(58),
    [anon_sym_LBRACK] = ACTIONS(60),
    [sym_var] = ACTIONS(58),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(60),
    [anon_sym_DASH_EQ] = ACTIONS(60),
    [anon_sym_STAR_EQ] = ACTIONS(60),
    [anon_sym_SLASH_EQ] = ACTIONS(60),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(60),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(60),
    [anon_sym_PERCENT_EQ] = ACTIONS(60),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(60),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(60),
    [anon_sym_LT_LT_EQ] = ACTIONS(60),
    [anon_sym_GT_GT_EQ] = ACTIONS(60),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(60),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(60),
    [anon_sym_AMP_EQ] = ACTIONS(60),
    [anon_sym_PIPE_EQ] = ACTIONS(60),
    [anon_sym_CARET_EQ] = ACTIONS(60),
    [anon_sym_QMARK] = ACTIONS(60),
    [anon_sym_EQ_EQ] = ACTIONS(60),
    [anon_sym_LT] = ACTIONS(58),
    [anon_sym_GT] = ACTIONS(58),
    [anon_sym_LT_EQ] = ACTIONS(58),
    [anon_sym_GT_EQ] = ACTIONS(60),
    [anon_sym_BANG_EQ] = ACTIONS(60),
    [anon_sym_LT_EQ_GT] = ACTIONS(60),
    [anon_sym_LT_LT] = ACTIONS(58),
    [anon_sym_GT_GT] = ACTIONS(58),
    [anon_sym_TILDE_GT_GT] = ACTIONS(58),
    [anon_sym_CARET_GT_GT] = ACTIONS(58),
    [anon_sym_DASH] = ACTIONS(58),
    [anon_sym_PLUS] = ACTIONS(58),
    [anon_sym_PIPE] = ACTIONS(58),
    [anon_sym_CARET] = ACTIONS(58),
    [anon_sym_STAR] = ACTIONS(58),
    [anon_sym_SLASH] = ACTIONS(58),
    [anon_sym_PERCENT] = ACTIONS(58),
    [anon_sym_TILDE_SLASH] = ACTIONS(58),
    [anon_sym_CARET_SLASH] = ACTIONS(58),
    [anon_sym_TILDE_PERCENT] = ACTIONS(58),
    [anon_sym_CARET_PERCENT] = ACTIONS(58),
    [anon_sym_SLASH_PERCENT] = ACTIONS(60),
    [anon_sym_AMP] = ACTIONS(58),
    [anon_sym_TILDE] = ACTIONS(58),
    [anon_sym_type] = ACTIONS(58),
    [aux_sym_asm_instruction_token1] = ACTIONS(60),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_LBRACE] = ACTIONS(58),
    [anon_sym_RBRACE] = ACTIONS(60),
    [anon_sym_repeat] = ACTIONS(58),
    [anon_sym_if] = ACTIONS(58),
    [anon_sym_ifnot] = ACTIONS(58),
    [anon_sym_do] = ACTIONS(58),
    [anon_sym_while] = ACTIONS(58),
    [anon_sym_try] = ACTIONS(58),
    [sym_number] = ACTIONS(60),
    [sym_underscore] = ACTIONS(58),
    [sym_comment] = ACTIONS(3),
  },
  [6] = {
    [sym_method_call] = STATE(7),
    [aux_sym__expr80_repeat1] = STATE(7),
    [sym_identifier] = ACTIONS(68),
    [anon_sym_SEMI] = ACTIONS(68),
    [anon_sym_DOT] = ACTIONS(70),
    [anon_sym_EQ] = ACTIONS(68),
    [anon_sym_LPAREN] = ACTIONS(68),
    [anon_sym_int] = ACTIONS(68),
    [anon_sym_cell] = ACTIONS(68),
    [anon_sym_slice] = ACTIONS(68),
    [anon_sym_builder] = ACTIONS(68),
    [anon_sym_cont] = ACTIONS(68),
    [anon_sym_tuple] = ACTIONS(68),
    [anon_sym_LBRACK] = ACTIONS(72),
    [sym_var] = ACTIONS(68),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(72),
    [anon_sym_PLUS_EQ] = ACTIONS(72),
    [anon_sym_DASH_EQ] = ACTIONS(72),
    [anon_sym_STAR_EQ] = ACTIONS(72),
    [anon_sym_SLASH_EQ] = ACTIONS(72),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(72),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(72),
    [anon_sym_PERCENT_EQ] = ACTIONS(72),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(72),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(72),
    [anon_sym_LT_LT_EQ] = ACTIONS(72),
    [anon_sym_GT_GT_EQ] = ACTIONS(72),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(72),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(72),
    [anon_sym_AMP_EQ] = ACTIONS(72),
    [anon_sym_PIPE_EQ] = ACTIONS(72),
    [anon_sym_CARET_EQ] = ACTIONS(72),
    [anon_sym_QMARK] = ACTIONS(72),
    [anon_sym_EQ_EQ] = ACTIONS(72),
    [anon_sym_LT] = ACTIONS(68),
    [anon_sym_GT] = ACTIONS(68),
    [anon_sym_LT_EQ] = ACTIONS(68),
    [anon_sym_GT_EQ] = ACTIONS(72),
    [anon_sym_BANG_EQ] = ACTIONS(72),
    [anon_sym_LT_EQ_GT] = ACTIONS(72),
    [anon_sym_LT_LT] = ACTIONS(68),
    [anon_sym_GT_GT] = ACTIONS(68),
    [anon_sym_TILDE_GT_GT] = ACTIONS(68),
    [anon_sym_CARET_GT_GT] = ACTIONS(68),
    [anon_sym_DASH] = ACTIONS(68),
    [anon_sym_PLUS] = ACTIONS(68),
    [anon_sym_PIPE] = ACTIONS(68),
    [anon_sym_CARET] = ACTIONS(68),
    [anon_sym_STAR] = ACTIONS(68),
    [anon_sym_SLASH] = ACTIONS(68),
    [anon_sym_PERCENT] = ACTIONS(68),
    [anon_sym_TILDE_SLASH] = ACTIONS(68),
    [anon_sym_CARET_SLASH] = ACTIONS(68),
    [anon_sym_TILDE_PERCENT] = ACTIONS(68),
    [anon_sym_CARET_PERCENT] = ACTIONS(68),
    [anon_sym_SLASH_PERCENT] = ACTIONS(72),
    [anon_sym_AMP] = ACTIONS(68),
    [anon_sym_TILDE] = ACTIONS(68),
    [anon_sym_type] = ACTIONS(68),
    [aux_sym_asm_instruction_token1] = ACTIONS(72),
    [anon_sym_return] = ACTIONS(68),
    [anon_sym_LBRACE] = ACTIONS(68),
    [anon_sym_RBRACE] = ACTIONS(72),
    [anon_sym_repeat] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(68),
    [anon_sym_ifnot] = ACTIONS(68),
    [anon_sym_do] = ACTIONS(68),
    [anon_sym_while] = ACTIONS(68),
    [anon_sym_try] = ACTIONS(68),
    [sym_number] = ACTIONS(72),
    [sym_underscore] = ACTIONS(68),
    [sym_comment] = ACTIONS(3),
  },
  [7] = {
    [sym_method_call] = STATE(7),
    [aux_sym__expr80_repeat1] = STATE(7),
    [sym_identifier] = ACTIONS(74),
    [anon_sym_SEMI] = ACTIONS(74),
    [anon_sym_DOT] = ACTIONS(76),
    [anon_sym_EQ] = ACTIONS(74),
    [anon_sym_LPAREN] = ACTIONS(74),
    [anon_sym_int] = ACTIONS(74),
    [anon_sym_cell] = ACTIONS(74),
    [anon_sym_slice] = ACTIONS(74),
    [anon_sym_builder] = ACTIONS(74),
    [anon_sym_cont] = ACTIONS(74),
    [anon_sym_tuple] = ACTIONS(74),
    [anon_sym_LBRACK] = ACTIONS(79),
    [sym_var] = ACTIONS(74),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(79),
    [anon_sym_PLUS_EQ] = ACTIONS(79),
    [anon_sym_DASH_EQ] = ACTIONS(79),
    [anon_sym_STAR_EQ] = ACTIONS(79),
    [anon_sym_SLASH_EQ] = ACTIONS(79),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(79),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(79),
    [anon_sym_PERCENT_EQ] = ACTIONS(79),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(79),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(79),
    [anon_sym_LT_LT_EQ] = ACTIONS(79),
    [anon_sym_GT_GT_EQ] = ACTIONS(79),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(79),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(79),
    [anon_sym_AMP_EQ] = ACTIONS(79),
    [anon_sym_PIPE_EQ] = ACTIONS(79),
    [anon_sym_CARET_EQ] = ACTIONS(79),
    [anon_sym_QMARK] = ACTIONS(79),
    [anon_sym_EQ_EQ] = ACTIONS(79),
    [anon_sym_LT] = ACTIONS(74),
    [anon_sym_GT] = ACTIONS(74),
    [anon_sym_LT_EQ] = ACTIONS(74),
    [anon_sym_GT_EQ] = ACTIONS(79),
    [anon_sym_BANG_EQ] = ACTIONS(79),
    [anon_sym_LT_EQ_GT] = ACTIONS(79),
    [anon_sym_LT_LT] = ACTIONS(74),
    [anon_sym_GT_GT] = ACTIONS(74),
    [anon_sym_TILDE_GT_GT] = ACTIONS(74),
    [anon_sym_CARET_GT_GT] = ACTIONS(74),
    [anon_sym_DASH] = ACTIONS(74),
    [anon_sym_PLUS] = ACTIONS(74),
    [anon_sym_PIPE] = ACTIONS(74),
    [anon_sym_CARET] = ACTIONS(74),
    [anon_sym_STAR] = ACTIONS(74),
    [anon_sym_SLASH] = ACTIONS(74),
    [anon_sym_PERCENT] = ACTIONS(74),
    [anon_sym_TILDE_SLASH] = ACTIONS(74),
    [anon_sym_CARET_SLASH] = ACTIONS(74),
    [anon_sym_TILDE_PERCENT] = ACTIONS(74),
    [anon_sym_CARET_PERCENT] = ACTIONS(74),
    [anon_sym_SLASH_PERCENT] = ACTIONS(79),
    [anon_sym_AMP] = ACTIONS(74),
    [anon_sym_TILDE] = ACTIONS(81),
    [anon_sym_type] = ACTIONS(74),
    [aux_sym_asm_instruction_token1] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(74),
    [anon_sym_LBRACE] = ACTIONS(74),
    [anon_sym_RBRACE] = ACTIONS(79),
    [anon_sym_repeat] = ACTIONS(74),
    [anon_sym_if] = ACTIONS(74),
    [anon_sym_ifnot] = ACTIONS(74),
    [anon_sym_do] = ACTIONS(74),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_try] = ACTIONS(74),
    [sym_number] = ACTIONS(79),
    [sym_underscore] = ACTIONS(74),
    [sym_comment] = ACTIONS(3),
  },
  [8] = {
    [sym_method_call] = STATE(6),
    [aux_sym__expr80_repeat1] = STATE(6),
    [sym_identifier] = ACTIONS(84),
    [anon_sym_SEMI] = ACTIONS(84),
    [anon_sym_DOT] = ACTIONS(70),
    [anon_sym_EQ] = ACTIONS(84),
    [anon_sym_LPAREN] = ACTIONS(84),
    [anon_sym_int] = ACTIONS(84),
    [anon_sym_cell] = ACTIONS(84),
    [anon_sym_slice] = ACTIONS(84),
    [anon_sym_builder] = ACTIONS(84),
    [anon_sym_cont] = ACTIONS(84),
    [anon_sym_tuple] = ACTIONS(84),
    [anon_sym_LBRACK] = ACTIONS(86),
    [sym_var] = ACTIONS(84),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(86),
    [anon_sym_PLUS_EQ] = ACTIONS(86),
    [anon_sym_DASH_EQ] = ACTIONS(86),
    [anon_sym_STAR_EQ] = ACTIONS(86),
    [anon_sym_SLASH_EQ] = ACTIONS(86),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(86),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(86),
    [anon_sym_PERCENT_EQ] = ACTIONS(86),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(86),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(86),
    [anon_sym_LT_LT_EQ] = ACTIONS(86),
    [anon_sym_GT_GT_EQ] = ACTIONS(86),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(86),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(86),
    [anon_sym_AMP_EQ] = ACTIONS(86),
    [anon_sym_PIPE_EQ] = ACTIONS(86),
    [anon_sym_CARET_EQ] = ACTIONS(86),
    [anon_sym_QMARK] = ACTIONS(86),
    [anon_sym_EQ_EQ] = ACTIONS(86),
    [anon_sym_LT] = ACTIONS(84),
    [anon_sym_GT] = ACTIONS(84),
    [anon_sym_LT_EQ] = ACTIONS(84),
    [anon_sym_GT_EQ] = ACTIONS(86),
    [anon_sym_BANG_EQ] = ACTIONS(86),
    [anon_sym_LT_EQ_GT] = ACTIONS(86),
    [anon_sym_LT_LT] = ACTIONS(84),
    [anon_sym_GT_GT] = ACTIONS(84),
    [anon_sym_TILDE_GT_GT] = ACTIONS(84),
    [anon_sym_CARET_GT_GT] = ACTIONS(84),
    [anon_sym_DASH] = ACTIONS(84),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_PIPE] = ACTIONS(84),
    [anon_sym_CARET] = ACTIONS(84),
    [anon_sym_STAR] = ACTIONS(84),
    [anon_sym_SLASH] = ACTIONS(84),
    [anon_sym_PERCENT] = ACTIONS(84),
    [anon_sym_TILDE_SLASH] = ACTIONS(84),
    [anon_sym_CARET_SLASH] = ACTIONS(84),
    [anon_sym_TILDE_PERCENT] = ACTIONS(84),
    [anon_sym_CARET_PERCENT] = ACTIONS(84),
    [anon_sym_SLASH_PERCENT] = ACTIONS(86),
    [anon_sym_AMP] = ACTIONS(84),
    [anon_sym_TILDE] = ACTIONS(84),
    [anon_sym_type] = ACTIONS(84),
    [aux_sym_asm_instruction_token1] = ACTIONS(86),
    [anon_sym_return] = ACTIONS(84),
    [anon_sym_LBRACE] = ACTIONS(84),
    [anon_sym_RBRACE] = ACTIONS(86),
    [anon_sym_repeat] = ACTIONS(84),
    [anon_sym_if] = ACTIONS(84),
    [anon_sym_ifnot] = ACTIONS(84),
    [anon_sym_do] = ACTIONS(84),
    [anon_sym_while] = ACTIONS(84),
    [anon_sym_try] = ACTIONS(84),
    [sym_number] = ACTIONS(86),
    [sym_underscore] = ACTIONS(84),
    [sym_comment] = ACTIONS(3),
  },
  [9] = {
    [sym_identifier] = ACTIONS(88),
    [anon_sym_SEMI] = ACTIONS(88),
    [anon_sym_DOT] = ACTIONS(90),
    [anon_sym_EQ] = ACTIONS(88),
    [anon_sym_LPAREN] = ACTIONS(88),
    [anon_sym_int] = ACTIONS(88),
    [anon_sym_cell] = ACTIONS(88),
    [anon_sym_slice] = ACTIONS(88),
    [anon_sym_builder] = ACTIONS(88),
    [anon_sym_cont] = ACTIONS(88),
    [anon_sym_tuple] = ACTIONS(88),
    [anon_sym_LBRACK] = ACTIONS(90),
    [sym_var] = ACTIONS(88),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(90),
    [anon_sym_PLUS_EQ] = ACTIONS(90),
    [anon_sym_DASH_EQ] = ACTIONS(90),
    [anon_sym_STAR_EQ] = ACTIONS(90),
    [anon_sym_SLASH_EQ] = ACTIONS(90),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(90),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(90),
    [anon_sym_PERCENT_EQ] = ACTIONS(90),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(90),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(90),
    [anon_sym_LT_LT_EQ] = ACTIONS(90),
    [anon_sym_GT_GT_EQ] = ACTIONS(90),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(90),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(90),
    [anon_sym_AMP_EQ] = ACTIONS(90),
    [anon_sym_PIPE_EQ] = ACTIONS(90),
    [anon_sym_CARET_EQ] = ACTIONS(90),
    [anon_sym_QMARK] = ACTIONS(90),
    [anon_sym_EQ_EQ] = ACTIONS(90),
    [anon_sym_LT] = ACTIONS(88),
    [anon_sym_GT] = ACTIONS(88),
    [anon_sym_LT_EQ] = ACTIONS(88),
    [anon_sym_GT_EQ] = ACTIONS(90),
    [anon_sym_BANG_EQ] = ACTIONS(90),
    [anon_sym_LT_EQ_GT] = ACTIONS(90),
    [anon_sym_LT_LT] = ACTIONS(88),
    [anon_sym_GT_GT] = ACTIONS(88),
    [anon_sym_TILDE_GT_GT] = ACTIONS(88),
    [anon_sym_CARET_GT_GT] = ACTIONS(88),
    [anon_sym_DASH] = ACTIONS(88),
    [anon_sym_PLUS] = ACTIONS(88),
    [anon_sym_PIPE] = ACTIONS(88),
    [anon_sym_CARET] = ACTIONS(88),
    [anon_sym_STAR] = ACTIONS(88),
    [anon_sym_SLASH] = ACTIONS(88),
    [anon_sym_PERCENT] = ACTIONS(88),
    [anon_sym_TILDE_SLASH] = ACTIONS(88),
    [anon_sym_CARET_SLASH] = ACTIONS(88),
    [anon_sym_TILDE_PERCENT] = ACTIONS(88),
    [anon_sym_CARET_PERCENT] = ACTIONS(88),
    [anon_sym_SLASH_PERCENT] = ACTIONS(90),
    [anon_sym_AMP] = ACTIONS(88),
    [anon_sym_TILDE] = ACTIONS(88),
    [anon_sym_type] = ACTIONS(88),
    [aux_sym_asm_instruction_token1] = ACTIONS(90),
    [anon_sym_return] = ACTIONS(88),
    [anon_sym_LBRACE] = ACTIONS(88),
    [anon_sym_RBRACE] = ACTIONS(90),
    [anon_sym_repeat] = ACTIONS(88),
    [anon_sym_if] = ACTIONS(88),
    [anon_sym_ifnot] = ACTIONS(88),
    [anon_sym_do] = ACTIONS(88),
    [anon_sym_while] = ACTIONS(88),
    [anon_sym_try] = ACTIONS(88),
    [sym_number] = ACTIONS(90),
    [sym_underscore] = ACTIONS(88),
    [sym_comment] = ACTIONS(3),
  },
  [10] = {
    [aux_sym__expr30_repeat1] = STATE(10),
    [sym_identifier] = ACTIONS(92),
    [anon_sym_SEMI] = ACTIONS(92),
    [anon_sym_EQ] = ACTIONS(92),
    [anon_sym_LPAREN] = ACTIONS(92),
    [anon_sym_int] = ACTIONS(92),
    [anon_sym_cell] = ACTIONS(92),
    [anon_sym_slice] = ACTIONS(92),
    [anon_sym_builder] = ACTIONS(92),
    [anon_sym_cont] = ACTIONS(92),
    [anon_sym_tuple] = ACTIONS(92),
    [anon_sym_LBRACK] = ACTIONS(94),
    [sym_var] = ACTIONS(92),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(94),
    [anon_sym_PLUS_EQ] = ACTIONS(94),
    [anon_sym_DASH_EQ] = ACTIONS(94),
    [anon_sym_STAR_EQ] = ACTIONS(94),
    [anon_sym_SLASH_EQ] = ACTIONS(94),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(94),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(94),
    [anon_sym_PERCENT_EQ] = ACTIONS(94),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(94),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(94),
    [anon_sym_LT_LT_EQ] = ACTIONS(94),
    [anon_sym_GT_GT_EQ] = ACTIONS(94),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(94),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(94),
    [anon_sym_AMP_EQ] = ACTIONS(94),
    [anon_sym_PIPE_EQ] = ACTIONS(94),
    [anon_sym_CARET_EQ] = ACTIONS(94),
    [anon_sym_QMARK] = ACTIONS(94),
    [anon_sym_EQ_EQ] = ACTIONS(94),
    [anon_sym_LT] = ACTIONS(92),
    [anon_sym_GT] = ACTIONS(92),
    [anon_sym_LT_EQ] = ACTIONS(92),
    [anon_sym_GT_EQ] = ACTIONS(94),
    [anon_sym_BANG_EQ] = ACTIONS(94),
    [anon_sym_LT_EQ_GT] = ACTIONS(94),
    [anon_sym_LT_LT] = ACTIONS(92),
    [anon_sym_GT_GT] = ACTIONS(92),
    [anon_sym_TILDE_GT_GT] = ACTIONS(92),
    [anon_sym_CARET_GT_GT] = ACTIONS(92),
    [anon_sym_DASH] = ACTIONS(92),
    [anon_sym_PLUS] = ACTIONS(92),
    [anon_sym_PIPE] = ACTIONS(92),
    [anon_sym_CARET] = ACTIONS(92),
    [anon_sym_STAR] = ACTIONS(96),
    [anon_sym_SLASH] = ACTIONS(96),
    [anon_sym_PERCENT] = ACTIONS(96),
    [anon_sym_TILDE_SLASH] = ACTIONS(96),
    [anon_sym_CARET_SLASH] = ACTIONS(96),
    [anon_sym_TILDE_PERCENT] = ACTIONS(96),
    [anon_sym_CARET_PERCENT] = ACTIONS(96),
    [anon_sym_SLASH_PERCENT] = ACTIONS(99),
    [anon_sym_AMP] = ACTIONS(96),
    [anon_sym_TILDE] = ACTIONS(92),
    [anon_sym_type] = ACTIONS(92),
    [aux_sym_asm_instruction_token1] = ACTIONS(94),
    [anon_sym_return] = ACTIONS(92),
    [anon_sym_LBRACE] = ACTIONS(92),
    [anon_sym_RBRACE] = ACTIONS(94),
    [anon_sym_repeat] = ACTIONS(92),
    [anon_sym_if] = ACTIONS(92),
    [anon_sym_ifnot] = ACTIONS(92),
    [anon_sym_do] = ACTIONS(92),
    [anon_sym_while] = ACTIONS(92),
    [anon_sym_try] = ACTIONS(92),
    [sym_number] = ACTIONS(94),
    [sym_underscore] = ACTIONS(92),
    [sym_comment] = ACTIONS(3),
  },
  [11] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(39),
    [sym_return_statement] = STATE(39),
    [sym_block_statement] = STATE(39),
    [sym_expression_statement] = STATE(39),
    [sym_empty_statement] = STATE(39),
    [sym_repeat_statement] = STATE(39),
    [sym_if_statement] = STATE(39),
    [sym_do_statement] = STATE(39),
    [sym_while_statement] = STATE(39),
    [sym_try_statement] = STATE(39),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(39),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [12] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(39),
    [sym_return_statement] = STATE(39),
    [sym_block_statement] = STATE(39),
    [sym_expression_statement] = STATE(39),
    [sym_empty_statement] = STATE(39),
    [sym_repeat_statement] = STATE(39),
    [sym_if_statement] = STATE(39),
    [sym_do_statement] = STATE(39),
    [sym_while_statement] = STATE(39),
    [sym_try_statement] = STATE(39),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(39),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(140),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [13] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(11),
    [sym_return_statement] = STATE(11),
    [sym_block_statement] = STATE(11),
    [sym_expression_statement] = STATE(11),
    [sym_empty_statement] = STATE(11),
    [sym_repeat_statement] = STATE(11),
    [sym_if_statement] = STATE(11),
    [sym_do_statement] = STATE(11),
    [sym_while_statement] = STATE(11),
    [sym_try_statement] = STATE(11),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(11),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(142),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [14] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(15),
    [sym_return_statement] = STATE(15),
    [sym_block_statement] = STATE(15),
    [sym_expression_statement] = STATE(15),
    [sym_empty_statement] = STATE(15),
    [sym_repeat_statement] = STATE(15),
    [sym_if_statement] = STATE(15),
    [sym_do_statement] = STATE(15),
    [sym_while_statement] = STATE(15),
    [sym_try_statement] = STATE(15),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(15),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(140),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [15] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(39),
    [sym_return_statement] = STATE(39),
    [sym_block_statement] = STATE(39),
    [sym_expression_statement] = STATE(39),
    [sym_empty_statement] = STATE(39),
    [sym_repeat_statement] = STATE(39),
    [sym_if_statement] = STATE(39),
    [sym_do_statement] = STATE(39),
    [sym_while_statement] = STATE(39),
    [sym_try_statement] = STATE(39),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(39),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(144),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [16] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(39),
    [sym_return_statement] = STATE(39),
    [sym_block_statement] = STATE(39),
    [sym_expression_statement] = STATE(39),
    [sym_empty_statement] = STATE(39),
    [sym_repeat_statement] = STATE(39),
    [sym_if_statement] = STATE(39),
    [sym_do_statement] = STATE(39),
    [sym_while_statement] = STATE(39),
    [sym_try_statement] = STATE(39),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(39),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(146),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [17] = {
    [sym_identifier] = ACTIONS(148),
    [anon_sym_SEMI] = ACTIONS(148),
    [anon_sym_DOT] = ACTIONS(150),
    [anon_sym_EQ] = ACTIONS(148),
    [anon_sym_LPAREN] = ACTIONS(148),
    [anon_sym_int] = ACTIONS(148),
    [anon_sym_cell] = ACTIONS(148),
    [anon_sym_slice] = ACTIONS(148),
    [anon_sym_builder] = ACTIONS(148),
    [anon_sym_cont] = ACTIONS(148),
    [anon_sym_tuple] = ACTIONS(148),
    [anon_sym_LBRACK] = ACTIONS(150),
    [sym_var] = ACTIONS(148),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(150),
    [anon_sym_PLUS_EQ] = ACTIONS(150),
    [anon_sym_DASH_EQ] = ACTIONS(150),
    [anon_sym_STAR_EQ] = ACTIONS(150),
    [anon_sym_SLASH_EQ] = ACTIONS(150),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(150),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(150),
    [anon_sym_PERCENT_EQ] = ACTIONS(150),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(150),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(150),
    [anon_sym_LT_LT_EQ] = ACTIONS(150),
    [anon_sym_GT_GT_EQ] = ACTIONS(150),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(150),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(150),
    [anon_sym_AMP_EQ] = ACTIONS(150),
    [anon_sym_PIPE_EQ] = ACTIONS(150),
    [anon_sym_CARET_EQ] = ACTIONS(150),
    [anon_sym_QMARK] = ACTIONS(150),
    [anon_sym_EQ_EQ] = ACTIONS(150),
    [anon_sym_LT] = ACTIONS(148),
    [anon_sym_GT] = ACTIONS(148),
    [anon_sym_LT_EQ] = ACTIONS(148),
    [anon_sym_GT_EQ] = ACTIONS(150),
    [anon_sym_BANG_EQ] = ACTIONS(150),
    [anon_sym_LT_EQ_GT] = ACTIONS(150),
    [anon_sym_LT_LT] = ACTIONS(148),
    [anon_sym_GT_GT] = ACTIONS(148),
    [anon_sym_TILDE_GT_GT] = ACTIONS(148),
    [anon_sym_CARET_GT_GT] = ACTIONS(148),
    [anon_sym_DASH] = ACTIONS(148),
    [anon_sym_PLUS] = ACTIONS(148),
    [anon_sym_PIPE] = ACTIONS(148),
    [anon_sym_CARET] = ACTIONS(148),
    [anon_sym_STAR] = ACTIONS(148),
    [anon_sym_SLASH] = ACTIONS(148),
    [anon_sym_PERCENT] = ACTIONS(148),
    [anon_sym_TILDE_SLASH] = ACTIONS(148),
    [anon_sym_CARET_SLASH] = ACTIONS(148),
    [anon_sym_TILDE_PERCENT] = ACTIONS(148),
    [anon_sym_CARET_PERCENT] = ACTIONS(148),
    [anon_sym_SLASH_PERCENT] = ACTIONS(150),
    [anon_sym_AMP] = ACTIONS(148),
    [anon_sym_TILDE] = ACTIONS(148),
    [anon_sym_type] = ACTIONS(148),
    [aux_sym_asm_instruction_token1] = ACTIONS(150),
    [anon_sym_return] = ACTIONS(148),
    [anon_sym_LBRACE] = ACTIONS(148),
    [anon_sym_RBRACE] = ACTIONS(150),
    [anon_sym_repeat] = ACTIONS(148),
    [anon_sym_if] = ACTIONS(148),
    [anon_sym_ifnot] = ACTIONS(148),
    [anon_sym_do] = ACTIONS(148),
    [anon_sym_while] = ACTIONS(148),
    [anon_sym_try] = ACTIONS(148),
    [sym_number] = ACTIONS(150),
    [sym_underscore] = ACTIONS(148),
    [sym_comment] = ACTIONS(3),
  },
  [18] = {
    [sym_identifier] = ACTIONS(152),
    [anon_sym_SEMI] = ACTIONS(152),
    [anon_sym_DOT] = ACTIONS(154),
    [anon_sym_EQ] = ACTIONS(152),
    [anon_sym_LPAREN] = ACTIONS(152),
    [anon_sym_int] = ACTIONS(152),
    [anon_sym_cell] = ACTIONS(152),
    [anon_sym_slice] = ACTIONS(152),
    [anon_sym_builder] = ACTIONS(152),
    [anon_sym_cont] = ACTIONS(152),
    [anon_sym_tuple] = ACTIONS(152),
    [anon_sym_LBRACK] = ACTIONS(154),
    [sym_var] = ACTIONS(152),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(154),
    [anon_sym_PLUS_EQ] = ACTIONS(154),
    [anon_sym_DASH_EQ] = ACTIONS(154),
    [anon_sym_STAR_EQ] = ACTIONS(154),
    [anon_sym_SLASH_EQ] = ACTIONS(154),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(154),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(154),
    [anon_sym_PERCENT_EQ] = ACTIONS(154),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(154),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(154),
    [anon_sym_LT_LT_EQ] = ACTIONS(154),
    [anon_sym_GT_GT_EQ] = ACTIONS(154),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(154),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(154),
    [anon_sym_AMP_EQ] = ACTIONS(154),
    [anon_sym_PIPE_EQ] = ACTIONS(154),
    [anon_sym_CARET_EQ] = ACTIONS(154),
    [anon_sym_QMARK] = ACTIONS(154),
    [anon_sym_EQ_EQ] = ACTIONS(154),
    [anon_sym_LT] = ACTIONS(152),
    [anon_sym_GT] = ACTIONS(152),
    [anon_sym_LT_EQ] = ACTIONS(152),
    [anon_sym_GT_EQ] = ACTIONS(154),
    [anon_sym_BANG_EQ] = ACTIONS(154),
    [anon_sym_LT_EQ_GT] = ACTIONS(154),
    [anon_sym_LT_LT] = ACTIONS(152),
    [anon_sym_GT_GT] = ACTIONS(152),
    [anon_sym_TILDE_GT_GT] = ACTIONS(152),
    [anon_sym_CARET_GT_GT] = ACTIONS(152),
    [anon_sym_DASH] = ACTIONS(152),
    [anon_sym_PLUS] = ACTIONS(152),
    [anon_sym_PIPE] = ACTIONS(152),
    [anon_sym_CARET] = ACTIONS(152),
    [anon_sym_STAR] = ACTIONS(152),
    [anon_sym_SLASH] = ACTIONS(152),
    [anon_sym_PERCENT] = ACTIONS(152),
    [anon_sym_TILDE_SLASH] = ACTIONS(152),
    [anon_sym_CARET_SLASH] = ACTIONS(152),
    [anon_sym_TILDE_PERCENT] = ACTIONS(152),
    [anon_sym_CARET_PERCENT] = ACTIONS(152),
    [anon_sym_SLASH_PERCENT] = ACTIONS(154),
    [anon_sym_AMP] = ACTIONS(152),
    [anon_sym_TILDE] = ACTIONS(152),
    [anon_sym_type] = ACTIONS(152),
    [aux_sym_asm_instruction_token1] = ACTIONS(154),
    [anon_sym_return] = ACTIONS(152),
    [anon_sym_LBRACE] = ACTIONS(152),
    [anon_sym_RBRACE] = ACTIONS(154),
    [anon_sym_repeat] = ACTIONS(152),
    [anon_sym_if] = ACTIONS(152),
    [anon_sym_ifnot] = ACTIONS(152),
    [anon_sym_do] = ACTIONS(152),
    [anon_sym_while] = ACTIONS(152),
    [anon_sym_try] = ACTIONS(152),
    [sym_number] = ACTIONS(154),
    [sym_underscore] = ACTIONS(152),
    [sym_comment] = ACTIONS(3),
  },
  [19] = {
    [sym_identifier] = ACTIONS(148),
    [anon_sym_SEMI] = ACTIONS(148),
    [anon_sym_DOT] = ACTIONS(150),
    [anon_sym_EQ] = ACTIONS(148),
    [anon_sym_LPAREN] = ACTIONS(148),
    [anon_sym_int] = ACTIONS(148),
    [anon_sym_cell] = ACTIONS(148),
    [anon_sym_slice] = ACTIONS(148),
    [anon_sym_builder] = ACTIONS(148),
    [anon_sym_cont] = ACTIONS(148),
    [anon_sym_tuple] = ACTIONS(148),
    [anon_sym_LBRACK] = ACTIONS(150),
    [sym_var] = ACTIONS(148),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(150),
    [anon_sym_PLUS_EQ] = ACTIONS(150),
    [anon_sym_DASH_EQ] = ACTIONS(150),
    [anon_sym_STAR_EQ] = ACTIONS(150),
    [anon_sym_SLASH_EQ] = ACTIONS(150),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(150),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(150),
    [anon_sym_PERCENT_EQ] = ACTIONS(150),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(150),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(150),
    [anon_sym_LT_LT_EQ] = ACTIONS(150),
    [anon_sym_GT_GT_EQ] = ACTIONS(150),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(150),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(150),
    [anon_sym_AMP_EQ] = ACTIONS(150),
    [anon_sym_PIPE_EQ] = ACTIONS(150),
    [anon_sym_CARET_EQ] = ACTIONS(150),
    [anon_sym_QMARK] = ACTIONS(150),
    [anon_sym_EQ_EQ] = ACTIONS(150),
    [anon_sym_LT] = ACTIONS(148),
    [anon_sym_GT] = ACTIONS(148),
    [anon_sym_LT_EQ] = ACTIONS(148),
    [anon_sym_GT_EQ] = ACTIONS(150),
    [anon_sym_BANG_EQ] = ACTIONS(150),
    [anon_sym_LT_EQ_GT] = ACTIONS(150),
    [anon_sym_LT_LT] = ACTIONS(148),
    [anon_sym_GT_GT] = ACTIONS(148),
    [anon_sym_TILDE_GT_GT] = ACTIONS(148),
    [anon_sym_CARET_GT_GT] = ACTIONS(148),
    [anon_sym_DASH] = ACTIONS(148),
    [anon_sym_PLUS] = ACTIONS(148),
    [anon_sym_PIPE] = ACTIONS(148),
    [anon_sym_CARET] = ACTIONS(148),
    [anon_sym_STAR] = ACTIONS(148),
    [anon_sym_SLASH] = ACTIONS(148),
    [anon_sym_PERCENT] = ACTIONS(148),
    [anon_sym_TILDE_SLASH] = ACTIONS(148),
    [anon_sym_CARET_SLASH] = ACTIONS(148),
    [anon_sym_TILDE_PERCENT] = ACTIONS(148),
    [anon_sym_CARET_PERCENT] = ACTIONS(148),
    [anon_sym_SLASH_PERCENT] = ACTIONS(150),
    [anon_sym_AMP] = ACTIONS(148),
    [anon_sym_TILDE] = ACTIONS(148),
    [anon_sym_type] = ACTIONS(148),
    [aux_sym_asm_instruction_token1] = ACTIONS(150),
    [anon_sym_return] = ACTIONS(148),
    [anon_sym_LBRACE] = ACTIONS(148),
    [anon_sym_RBRACE] = ACTIONS(150),
    [anon_sym_repeat] = ACTIONS(148),
    [anon_sym_if] = ACTIONS(148),
    [anon_sym_ifnot] = ACTIONS(148),
    [anon_sym_do] = ACTIONS(148),
    [anon_sym_while] = ACTIONS(148),
    [anon_sym_try] = ACTIONS(148),
    [sym_number] = ACTIONS(150),
    [sym_underscore] = ACTIONS(148),
    [sym_comment] = ACTIONS(3),
  },
  [20] = {
    [sym_identifier] = ACTIONS(156),
    [anon_sym_SEMI] = ACTIONS(156),
    [anon_sym_DOT] = ACTIONS(158),
    [anon_sym_EQ] = ACTIONS(156),
    [anon_sym_LPAREN] = ACTIONS(156),
    [anon_sym_int] = ACTIONS(156),
    [anon_sym_cell] = ACTIONS(156),
    [anon_sym_slice] = ACTIONS(156),
    [anon_sym_builder] = ACTIONS(156),
    [anon_sym_cont] = ACTIONS(156),
    [anon_sym_tuple] = ACTIONS(156),
    [anon_sym_LBRACK] = ACTIONS(158),
    [sym_var] = ACTIONS(156),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(158),
    [anon_sym_PLUS_EQ] = ACTIONS(158),
    [anon_sym_DASH_EQ] = ACTIONS(158),
    [anon_sym_STAR_EQ] = ACTIONS(158),
    [anon_sym_SLASH_EQ] = ACTIONS(158),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(158),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(158),
    [anon_sym_PERCENT_EQ] = ACTIONS(158),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(158),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(158),
    [anon_sym_LT_LT_EQ] = ACTIONS(158),
    [anon_sym_GT_GT_EQ] = ACTIONS(158),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(158),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(158),
    [anon_sym_AMP_EQ] = ACTIONS(158),
    [anon_sym_PIPE_EQ] = ACTIONS(158),
    [anon_sym_CARET_EQ] = ACTIONS(158),
    [anon_sym_QMARK] = ACTIONS(158),
    [anon_sym_EQ_EQ] = ACTIONS(158),
    [anon_sym_LT] = ACTIONS(156),
    [anon_sym_GT] = ACTIONS(156),
    [anon_sym_LT_EQ] = ACTIONS(156),
    [anon_sym_GT_EQ] = ACTIONS(158),
    [anon_sym_BANG_EQ] = ACTIONS(158),
    [anon_sym_LT_EQ_GT] = ACTIONS(158),
    [anon_sym_LT_LT] = ACTIONS(156),
    [anon_sym_GT_GT] = ACTIONS(156),
    [anon_sym_TILDE_GT_GT] = ACTIONS(156),
    [anon_sym_CARET_GT_GT] = ACTIONS(156),
    [anon_sym_DASH] = ACTIONS(156),
    [anon_sym_PLUS] = ACTIONS(156),
    [anon_sym_PIPE] = ACTIONS(156),
    [anon_sym_CARET] = ACTIONS(156),
    [anon_sym_STAR] = ACTIONS(156),
    [anon_sym_SLASH] = ACTIONS(156),
    [anon_sym_PERCENT] = ACTIONS(156),
    [anon_sym_TILDE_SLASH] = ACTIONS(156),
    [anon_sym_CARET_SLASH] = ACTIONS(156),
    [anon_sym_TILDE_PERCENT] = ACTIONS(156),
    [anon_sym_CARET_PERCENT] = ACTIONS(156),
    [anon_sym_SLASH_PERCENT] = ACTIONS(158),
    [anon_sym_AMP] = ACTIONS(156),
    [anon_sym_TILDE] = ACTIONS(156),
    [anon_sym_type] = ACTIONS(156),
    [aux_sym_asm_instruction_token1] = ACTIONS(158),
    [anon_sym_return] = ACTIONS(156),
    [anon_sym_LBRACE] = ACTIONS(156),
    [anon_sym_RBRACE] = ACTIONS(158),
    [anon_sym_repeat] = ACTIONS(156),
    [anon_sym_if] = ACTIONS(156),
    [anon_sym_ifnot] = ACTIONS(156),
    [anon_sym_do] = ACTIONS(156),
    [anon_sym_while] = ACTIONS(156),
    [anon_sym_try] = ACTIONS(156),
    [sym_number] = ACTIONS(158),
    [sym_underscore] = ACTIONS(156),
    [sym_comment] = ACTIONS(3),
  },
  [21] = {
    [aux_sym__expr30_repeat1] = STATE(42),
    [sym_identifier] = ACTIONS(160),
    [anon_sym_SEMI] = ACTIONS(160),
    [anon_sym_EQ] = ACTIONS(160),
    [anon_sym_LPAREN] = ACTIONS(160),
    [anon_sym_int] = ACTIONS(160),
    [anon_sym_cell] = ACTIONS(160),
    [anon_sym_slice] = ACTIONS(160),
    [anon_sym_builder] = ACTIONS(160),
    [anon_sym_cont] = ACTIONS(160),
    [anon_sym_tuple] = ACTIONS(160),
    [anon_sym_LBRACK] = ACTIONS(162),
    [sym_var] = ACTIONS(160),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(162),
    [anon_sym_PLUS_EQ] = ACTIONS(162),
    [anon_sym_DASH_EQ] = ACTIONS(162),
    [anon_sym_STAR_EQ] = ACTIONS(162),
    [anon_sym_SLASH_EQ] = ACTIONS(162),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(162),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(162),
    [anon_sym_PERCENT_EQ] = ACTIONS(162),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(162),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(162),
    [anon_sym_LT_LT_EQ] = ACTIONS(162),
    [anon_sym_GT_GT_EQ] = ACTIONS(162),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(162),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(162),
    [anon_sym_AMP_EQ] = ACTIONS(162),
    [anon_sym_PIPE_EQ] = ACTIONS(162),
    [anon_sym_CARET_EQ] = ACTIONS(162),
    [anon_sym_QMARK] = ACTIONS(162),
    [anon_sym_EQ_EQ] = ACTIONS(162),
    [anon_sym_LT] = ACTIONS(160),
    [anon_sym_GT] = ACTIONS(160),
    [anon_sym_LT_EQ] = ACTIONS(160),
    [anon_sym_GT_EQ] = ACTIONS(162),
    [anon_sym_BANG_EQ] = ACTIONS(162),
    [anon_sym_LT_EQ_GT] = ACTIONS(162),
    [anon_sym_LT_LT] = ACTIONS(160),
    [anon_sym_GT_GT] = ACTIONS(160),
    [anon_sym_TILDE_GT_GT] = ACTIONS(160),
    [anon_sym_CARET_GT_GT] = ACTIONS(160),
    [anon_sym_DASH] = ACTIONS(160),
    [anon_sym_PLUS] = ACTIONS(160),
    [anon_sym_PIPE] = ACTIONS(160),
    [anon_sym_CARET] = ACTIONS(160),
    [anon_sym_STAR] = ACTIONS(164),
    [anon_sym_SLASH] = ACTIONS(164),
    [anon_sym_PERCENT] = ACTIONS(164),
    [anon_sym_TILDE_SLASH] = ACTIONS(164),
    [anon_sym_CARET_SLASH] = ACTIONS(164),
    [anon_sym_TILDE_PERCENT] = ACTIONS(164),
    [anon_sym_CARET_PERCENT] = ACTIONS(164),
    [anon_sym_SLASH_PERCENT] = ACTIONS(166),
    [anon_sym_AMP] = ACTIONS(164),
    [anon_sym_TILDE] = ACTIONS(160),
    [anon_sym_type] = ACTIONS(160),
    [aux_sym_asm_instruction_token1] = ACTIONS(162),
    [anon_sym_return] = ACTIONS(160),
    [anon_sym_LBRACE] = ACTIONS(160),
    [anon_sym_RBRACE] = ACTIONS(162),
    [anon_sym_repeat] = ACTIONS(160),
    [anon_sym_if] = ACTIONS(160),
    [anon_sym_ifnot] = ACTIONS(160),
    [anon_sym_do] = ACTIONS(160),
    [anon_sym_while] = ACTIONS(160),
    [anon_sym_try] = ACTIONS(160),
    [sym_number] = ACTIONS(162),
    [sym_underscore] = ACTIONS(160),
    [sym_comment] = ACTIONS(3),
  },
  [22] = {
    [sym_identifier] = ACTIONS(168),
    [anon_sym_SEMI] = ACTIONS(168),
    [anon_sym_DOT] = ACTIONS(170),
    [anon_sym_EQ] = ACTIONS(168),
    [anon_sym_LPAREN] = ACTIONS(168),
    [anon_sym_int] = ACTIONS(168),
    [anon_sym_cell] = ACTIONS(168),
    [anon_sym_slice] = ACTIONS(168),
    [anon_sym_builder] = ACTIONS(168),
    [anon_sym_cont] = ACTIONS(168),
    [anon_sym_tuple] = ACTIONS(168),
    [anon_sym_LBRACK] = ACTIONS(170),
    [sym_var] = ACTIONS(168),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(170),
    [anon_sym_PLUS_EQ] = ACTIONS(170),
    [anon_sym_DASH_EQ] = ACTIONS(170),
    [anon_sym_STAR_EQ] = ACTIONS(170),
    [anon_sym_SLASH_EQ] = ACTIONS(170),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(170),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(170),
    [anon_sym_PERCENT_EQ] = ACTIONS(170),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(170),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(170),
    [anon_sym_LT_LT_EQ] = ACTIONS(170),
    [anon_sym_GT_GT_EQ] = ACTIONS(170),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(170),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(170),
    [anon_sym_AMP_EQ] = ACTIONS(170),
    [anon_sym_PIPE_EQ] = ACTIONS(170),
    [anon_sym_CARET_EQ] = ACTIONS(170),
    [anon_sym_QMARK] = ACTIONS(170),
    [anon_sym_EQ_EQ] = ACTIONS(170),
    [anon_sym_LT] = ACTIONS(168),
    [anon_sym_GT] = ACTIONS(168),
    [anon_sym_LT_EQ] = ACTIONS(168),
    [anon_sym_GT_EQ] = ACTIONS(170),
    [anon_sym_BANG_EQ] = ACTIONS(170),
    [anon_sym_LT_EQ_GT] = ACTIONS(170),
    [anon_sym_LT_LT] = ACTIONS(168),
    [anon_sym_GT_GT] = ACTIONS(168),
    [anon_sym_TILDE_GT_GT] = ACTIONS(168),
    [anon_sym_CARET_GT_GT] = ACTIONS(168),
    [anon_sym_DASH] = ACTIONS(168),
    [anon_sym_PLUS] = ACTIONS(168),
    [anon_sym_PIPE] = ACTIONS(168),
    [anon_sym_CARET] = ACTIONS(168),
    [anon_sym_STAR] = ACTIONS(168),
    [anon_sym_SLASH] = ACTIONS(168),
    [anon_sym_PERCENT] = ACTIONS(168),
    [anon_sym_TILDE_SLASH] = ACTIONS(168),
    [anon_sym_CARET_SLASH] = ACTIONS(168),
    [anon_sym_TILDE_PERCENT] = ACTIONS(168),
    [anon_sym_CARET_PERCENT] = ACTIONS(168),
    [anon_sym_SLASH_PERCENT] = ACTIONS(170),
    [anon_sym_AMP] = ACTIONS(168),
    [anon_sym_TILDE] = ACTIONS(168),
    [anon_sym_type] = ACTIONS(168),
    [aux_sym_asm_instruction_token1] = ACTIONS(170),
    [anon_sym_return] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(168),
    [anon_sym_RBRACE] = ACTIONS(170),
    [anon_sym_repeat] = ACTIONS(168),
    [anon_sym_if] = ACTIONS(168),
    [anon_sym_ifnot] = ACTIONS(168),
    [anon_sym_do] = ACTIONS(168),
    [anon_sym_while] = ACTIONS(168),
    [anon_sym_try] = ACTIONS(168),
    [sym_number] = ACTIONS(170),
    [sym_underscore] = ACTIONS(168),
    [sym_comment] = ACTIONS(3),
  },
  [23] = {
    [sym_identifier] = ACTIONS(172),
    [anon_sym_SEMI] = ACTIONS(172),
    [anon_sym_DOT] = ACTIONS(174),
    [anon_sym_EQ] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(172),
    [anon_sym_int] = ACTIONS(172),
    [anon_sym_cell] = ACTIONS(172),
    [anon_sym_slice] = ACTIONS(172),
    [anon_sym_builder] = ACTIONS(172),
    [anon_sym_cont] = ACTIONS(172),
    [anon_sym_tuple] = ACTIONS(172),
    [anon_sym_LBRACK] = ACTIONS(174),
    [sym_var] = ACTIONS(172),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(174),
    [anon_sym_PLUS_EQ] = ACTIONS(174),
    [anon_sym_DASH_EQ] = ACTIONS(174),
    [anon_sym_STAR_EQ] = ACTIONS(174),
    [anon_sym_SLASH_EQ] = ACTIONS(174),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(174),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(174),
    [anon_sym_PERCENT_EQ] = ACTIONS(174),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(174),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(174),
    [anon_sym_LT_LT_EQ] = ACTIONS(174),
    [anon_sym_GT_GT_EQ] = ACTIONS(174),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(174),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(174),
    [anon_sym_AMP_EQ] = ACTIONS(174),
    [anon_sym_PIPE_EQ] = ACTIONS(174),
    [anon_sym_CARET_EQ] = ACTIONS(174),
    [anon_sym_QMARK] = ACTIONS(174),
    [anon_sym_EQ_EQ] = ACTIONS(174),
    [anon_sym_LT] = ACTIONS(172),
    [anon_sym_GT] = ACTIONS(172),
    [anon_sym_LT_EQ] = ACTIONS(172),
    [anon_sym_GT_EQ] = ACTIONS(174),
    [anon_sym_BANG_EQ] = ACTIONS(174),
    [anon_sym_LT_EQ_GT] = ACTIONS(174),
    [anon_sym_LT_LT] = ACTIONS(172),
    [anon_sym_GT_GT] = ACTIONS(172),
    [anon_sym_TILDE_GT_GT] = ACTIONS(172),
    [anon_sym_CARET_GT_GT] = ACTIONS(172),
    [anon_sym_DASH] = ACTIONS(172),
    [anon_sym_PLUS] = ACTIONS(172),
    [anon_sym_PIPE] = ACTIONS(172),
    [anon_sym_CARET] = ACTIONS(172),
    [anon_sym_STAR] = ACTIONS(172),
    [anon_sym_SLASH] = ACTIONS(172),
    [anon_sym_PERCENT] = ACTIONS(172),
    [anon_sym_TILDE_SLASH] = ACTIONS(172),
    [anon_sym_CARET_SLASH] = ACTIONS(172),
    [anon_sym_TILDE_PERCENT] = ACTIONS(172),
    [anon_sym_CARET_PERCENT] = ACTIONS(172),
    [anon_sym_SLASH_PERCENT] = ACTIONS(174),
    [anon_sym_AMP] = ACTIONS(172),
    [anon_sym_TILDE] = ACTIONS(172),
    [anon_sym_type] = ACTIONS(172),
    [aux_sym_asm_instruction_token1] = ACTIONS(174),
    [anon_sym_return] = ACTIONS(172),
    [anon_sym_LBRACE] = ACTIONS(172),
    [anon_sym_RBRACE] = ACTIONS(174),
    [anon_sym_repeat] = ACTIONS(172),
    [anon_sym_if] = ACTIONS(172),
    [anon_sym_ifnot] = ACTIONS(172),
    [anon_sym_do] = ACTIONS(172),
    [anon_sym_while] = ACTIONS(172),
    [anon_sym_try] = ACTIONS(172),
    [sym_number] = ACTIONS(174),
    [sym_underscore] = ACTIONS(172),
    [sym_comment] = ACTIONS(3),
  },
  [24] = {
    [sym_identifier] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(176),
    [anon_sym_DOT] = ACTIONS(178),
    [anon_sym_EQ] = ACTIONS(176),
    [anon_sym_LPAREN] = ACTIONS(176),
    [anon_sym_int] = ACTIONS(176),
    [anon_sym_cell] = ACTIONS(176),
    [anon_sym_slice] = ACTIONS(176),
    [anon_sym_builder] = ACTIONS(176),
    [anon_sym_cont] = ACTIONS(176),
    [anon_sym_tuple] = ACTIONS(176),
    [anon_sym_LBRACK] = ACTIONS(178),
    [sym_var] = ACTIONS(176),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(178),
    [anon_sym_PLUS_EQ] = ACTIONS(178),
    [anon_sym_DASH_EQ] = ACTIONS(178),
    [anon_sym_STAR_EQ] = ACTIONS(178),
    [anon_sym_SLASH_EQ] = ACTIONS(178),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(178),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(178),
    [anon_sym_PERCENT_EQ] = ACTIONS(178),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(178),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(178),
    [anon_sym_LT_LT_EQ] = ACTIONS(178),
    [anon_sym_GT_GT_EQ] = ACTIONS(178),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(178),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(178),
    [anon_sym_AMP_EQ] = ACTIONS(178),
    [anon_sym_PIPE_EQ] = ACTIONS(178),
    [anon_sym_CARET_EQ] = ACTIONS(178),
    [anon_sym_QMARK] = ACTIONS(178),
    [anon_sym_EQ_EQ] = ACTIONS(178),
    [anon_sym_LT] = ACTIONS(176),
    [anon_sym_GT] = ACTIONS(176),
    [anon_sym_LT_EQ] = ACTIONS(176),
    [anon_sym_GT_EQ] = ACTIONS(178),
    [anon_sym_BANG_EQ] = ACTIONS(178),
    [anon_sym_LT_EQ_GT] = ACTIONS(178),
    [anon_sym_LT_LT] = ACTIONS(176),
    [anon_sym_GT_GT] = ACTIONS(176),
    [anon_sym_TILDE_GT_GT] = ACTIONS(176),
    [anon_sym_CARET_GT_GT] = ACTIONS(176),
    [anon_sym_DASH] = ACTIONS(176),
    [anon_sym_PLUS] = ACTIONS(176),
    [anon_sym_PIPE] = ACTIONS(176),
    [anon_sym_CARET] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(176),
    [anon_sym_SLASH] = ACTIONS(176),
    [anon_sym_PERCENT] = ACTIONS(176),
    [anon_sym_TILDE_SLASH] = ACTIONS(176),
    [anon_sym_CARET_SLASH] = ACTIONS(176),
    [anon_sym_TILDE_PERCENT] = ACTIONS(176),
    [anon_sym_CARET_PERCENT] = ACTIONS(176),
    [anon_sym_SLASH_PERCENT] = ACTIONS(178),
    [anon_sym_AMP] = ACTIONS(176),
    [anon_sym_TILDE] = ACTIONS(176),
    [anon_sym_type] = ACTIONS(176),
    [aux_sym_asm_instruction_token1] = ACTIONS(178),
    [anon_sym_return] = ACTIONS(176),
    [anon_sym_LBRACE] = ACTIONS(176),
    [anon_sym_RBRACE] = ACTIONS(178),
    [anon_sym_repeat] = ACTIONS(176),
    [anon_sym_if] = ACTIONS(176),
    [anon_sym_ifnot] = ACTIONS(176),
    [anon_sym_do] = ACTIONS(176),
    [anon_sym_while] = ACTIONS(176),
    [anon_sym_try] = ACTIONS(176),
    [sym_number] = ACTIONS(178),
    [sym_underscore] = ACTIONS(176),
    [sym_comment] = ACTIONS(3),
  },
  [25] = {
    [sym_identifier] = ACTIONS(180),
    [anon_sym_SEMI] = ACTIONS(180),
    [anon_sym_DOT] = ACTIONS(182),
    [anon_sym_EQ] = ACTIONS(180),
    [anon_sym_LPAREN] = ACTIONS(180),
    [anon_sym_int] = ACTIONS(180),
    [anon_sym_cell] = ACTIONS(180),
    [anon_sym_slice] = ACTIONS(180),
    [anon_sym_builder] = ACTIONS(180),
    [anon_sym_cont] = ACTIONS(180),
    [anon_sym_tuple] = ACTIONS(180),
    [anon_sym_LBRACK] = ACTIONS(182),
    [sym_var] = ACTIONS(180),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(182),
    [anon_sym_PLUS_EQ] = ACTIONS(182),
    [anon_sym_DASH_EQ] = ACTIONS(182),
    [anon_sym_STAR_EQ] = ACTIONS(182),
    [anon_sym_SLASH_EQ] = ACTIONS(182),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(182),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(182),
    [anon_sym_PERCENT_EQ] = ACTIONS(182),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(182),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(182),
    [anon_sym_LT_LT_EQ] = ACTIONS(182),
    [anon_sym_GT_GT_EQ] = ACTIONS(182),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(182),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(182),
    [anon_sym_AMP_EQ] = ACTIONS(182),
    [anon_sym_PIPE_EQ] = ACTIONS(182),
    [anon_sym_CARET_EQ] = ACTIONS(182),
    [anon_sym_QMARK] = ACTIONS(182),
    [anon_sym_EQ_EQ] = ACTIONS(182),
    [anon_sym_LT] = ACTIONS(180),
    [anon_sym_GT] = ACTIONS(180),
    [anon_sym_LT_EQ] = ACTIONS(180),
    [anon_sym_GT_EQ] = ACTIONS(182),
    [anon_sym_BANG_EQ] = ACTIONS(182),
    [anon_sym_LT_EQ_GT] = ACTIONS(182),
    [anon_sym_LT_LT] = ACTIONS(180),
    [anon_sym_GT_GT] = ACTIONS(180),
    [anon_sym_TILDE_GT_GT] = ACTIONS(180),
    [anon_sym_CARET_GT_GT] = ACTIONS(180),
    [anon_sym_DASH] = ACTIONS(180),
    [anon_sym_PLUS] = ACTIONS(180),
    [anon_sym_PIPE] = ACTIONS(180),
    [anon_sym_CARET] = ACTIONS(180),
    [anon_sym_STAR] = ACTIONS(180),
    [anon_sym_SLASH] = ACTIONS(180),
    [anon_sym_PERCENT] = ACTIONS(180),
    [anon_sym_TILDE_SLASH] = ACTIONS(180),
    [anon_sym_CARET_SLASH] = ACTIONS(180),
    [anon_sym_TILDE_PERCENT] = ACTIONS(180),
    [anon_sym_CARET_PERCENT] = ACTIONS(180),
    [anon_sym_SLASH_PERCENT] = ACTIONS(182),
    [anon_sym_AMP] = ACTIONS(180),
    [anon_sym_TILDE] = ACTIONS(180),
    [anon_sym_type] = ACTIONS(180),
    [aux_sym_asm_instruction_token1] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(180),
    [anon_sym_LBRACE] = ACTIONS(180),
    [anon_sym_RBRACE] = ACTIONS(182),
    [anon_sym_repeat] = ACTIONS(180),
    [anon_sym_if] = ACTIONS(180),
    [anon_sym_ifnot] = ACTIONS(180),
    [anon_sym_do] = ACTIONS(180),
    [anon_sym_while] = ACTIONS(180),
    [anon_sym_try] = ACTIONS(180),
    [sym_number] = ACTIONS(182),
    [sym_underscore] = ACTIONS(180),
    [sym_comment] = ACTIONS(3),
  },
  [26] = {
    [sym_identifier] = ACTIONS(184),
    [anon_sym_SEMI] = ACTIONS(184),
    [anon_sym_DOT] = ACTIONS(186),
    [anon_sym_EQ] = ACTIONS(184),
    [anon_sym_LPAREN] = ACTIONS(184),
    [anon_sym_int] = ACTIONS(184),
    [anon_sym_cell] = ACTIONS(184),
    [anon_sym_slice] = ACTIONS(184),
    [anon_sym_builder] = ACTIONS(184),
    [anon_sym_cont] = ACTIONS(184),
    [anon_sym_tuple] = ACTIONS(184),
    [anon_sym_LBRACK] = ACTIONS(186),
    [sym_var] = ACTIONS(184),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(186),
    [anon_sym_PLUS_EQ] = ACTIONS(186),
    [anon_sym_DASH_EQ] = ACTIONS(186),
    [anon_sym_STAR_EQ] = ACTIONS(186),
    [anon_sym_SLASH_EQ] = ACTIONS(186),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(186),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(186),
    [anon_sym_PERCENT_EQ] = ACTIONS(186),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(186),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(186),
    [anon_sym_LT_LT_EQ] = ACTIONS(186),
    [anon_sym_GT_GT_EQ] = ACTIONS(186),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(186),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(186),
    [anon_sym_AMP_EQ] = ACTIONS(186),
    [anon_sym_PIPE_EQ] = ACTIONS(186),
    [anon_sym_CARET_EQ] = ACTIONS(186),
    [anon_sym_QMARK] = ACTIONS(186),
    [anon_sym_EQ_EQ] = ACTIONS(186),
    [anon_sym_LT] = ACTIONS(184),
    [anon_sym_GT] = ACTIONS(184),
    [anon_sym_LT_EQ] = ACTIONS(184),
    [anon_sym_GT_EQ] = ACTIONS(186),
    [anon_sym_BANG_EQ] = ACTIONS(186),
    [anon_sym_LT_EQ_GT] = ACTIONS(186),
    [anon_sym_LT_LT] = ACTIONS(184),
    [anon_sym_GT_GT] = ACTIONS(184),
    [anon_sym_TILDE_GT_GT] = ACTIONS(184),
    [anon_sym_CARET_GT_GT] = ACTIONS(184),
    [anon_sym_DASH] = ACTIONS(184),
    [anon_sym_PLUS] = ACTIONS(184),
    [anon_sym_PIPE] = ACTIONS(184),
    [anon_sym_CARET] = ACTIONS(184),
    [anon_sym_STAR] = ACTIONS(184),
    [anon_sym_SLASH] = ACTIONS(184),
    [anon_sym_PERCENT] = ACTIONS(184),
    [anon_sym_TILDE_SLASH] = ACTIONS(184),
    [anon_sym_CARET_SLASH] = ACTIONS(184),
    [anon_sym_TILDE_PERCENT] = ACTIONS(184),
    [anon_sym_CARET_PERCENT] = ACTIONS(184),
    [anon_sym_SLASH_PERCENT] = ACTIONS(186),
    [anon_sym_AMP] = ACTIONS(184),
    [anon_sym_TILDE] = ACTIONS(184),
    [anon_sym_type] = ACTIONS(184),
    [aux_sym_asm_instruction_token1] = ACTIONS(186),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_LBRACE] = ACTIONS(184),
    [anon_sym_RBRACE] = ACTIONS(186),
    [anon_sym_repeat] = ACTIONS(184),
    [anon_sym_if] = ACTIONS(184),
    [anon_sym_ifnot] = ACTIONS(184),
    [anon_sym_do] = ACTIONS(184),
    [anon_sym_while] = ACTIONS(184),
    [anon_sym_try] = ACTIONS(184),
    [sym_number] = ACTIONS(186),
    [sym_underscore] = ACTIONS(184),
    [sym_comment] = ACTIONS(3),
  },
  [27] = {
    [sym_identifier] = ACTIONS(188),
    [anon_sym_SEMI] = ACTIONS(188),
    [anon_sym_DOT] = ACTIONS(190),
    [anon_sym_EQ] = ACTIONS(188),
    [anon_sym_LPAREN] = ACTIONS(188),
    [anon_sym_int] = ACTIONS(188),
    [anon_sym_cell] = ACTIONS(188),
    [anon_sym_slice] = ACTIONS(188),
    [anon_sym_builder] = ACTIONS(188),
    [anon_sym_cont] = ACTIONS(188),
    [anon_sym_tuple] = ACTIONS(188),
    [anon_sym_LBRACK] = ACTIONS(190),
    [sym_var] = ACTIONS(188),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(190),
    [anon_sym_PLUS_EQ] = ACTIONS(190),
    [anon_sym_DASH_EQ] = ACTIONS(190),
    [anon_sym_STAR_EQ] = ACTIONS(190),
    [anon_sym_SLASH_EQ] = ACTIONS(190),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(190),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(190),
    [anon_sym_PERCENT_EQ] = ACTIONS(190),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(190),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(190),
    [anon_sym_LT_LT_EQ] = ACTIONS(190),
    [anon_sym_GT_GT_EQ] = ACTIONS(190),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(190),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(190),
    [anon_sym_AMP_EQ] = ACTIONS(190),
    [anon_sym_PIPE_EQ] = ACTIONS(190),
    [anon_sym_CARET_EQ] = ACTIONS(190),
    [anon_sym_QMARK] = ACTIONS(190),
    [anon_sym_EQ_EQ] = ACTIONS(190),
    [anon_sym_LT] = ACTIONS(188),
    [anon_sym_GT] = ACTIONS(188),
    [anon_sym_LT_EQ] = ACTIONS(188),
    [anon_sym_GT_EQ] = ACTIONS(190),
    [anon_sym_BANG_EQ] = ACTIONS(190),
    [anon_sym_LT_EQ_GT] = ACTIONS(190),
    [anon_sym_LT_LT] = ACTIONS(188),
    [anon_sym_GT_GT] = ACTIONS(188),
    [anon_sym_TILDE_GT_GT] = ACTIONS(188),
    [anon_sym_CARET_GT_GT] = ACTIONS(188),
    [anon_sym_DASH] = ACTIONS(188),
    [anon_sym_PLUS] = ACTIONS(188),
    [anon_sym_PIPE] = ACTIONS(188),
    [anon_sym_CARET] = ACTIONS(188),
    [anon_sym_STAR] = ACTIONS(188),
    [anon_sym_SLASH] = ACTIONS(188),
    [anon_sym_PERCENT] = ACTIONS(188),
    [anon_sym_TILDE_SLASH] = ACTIONS(188),
    [anon_sym_CARET_SLASH] = ACTIONS(188),
    [anon_sym_TILDE_PERCENT] = ACTIONS(188),
    [anon_sym_CARET_PERCENT] = ACTIONS(188),
    [anon_sym_SLASH_PERCENT] = ACTIONS(190),
    [anon_sym_AMP] = ACTIONS(188),
    [anon_sym_TILDE] = ACTIONS(188),
    [anon_sym_type] = ACTIONS(188),
    [aux_sym_asm_instruction_token1] = ACTIONS(190),
    [anon_sym_return] = ACTIONS(188),
    [anon_sym_LBRACE] = ACTIONS(188),
    [anon_sym_RBRACE] = ACTIONS(190),
    [anon_sym_repeat] = ACTIONS(188),
    [anon_sym_if] = ACTIONS(188),
    [anon_sym_ifnot] = ACTIONS(188),
    [anon_sym_do] = ACTIONS(188),
    [anon_sym_while] = ACTIONS(188),
    [anon_sym_try] = ACTIONS(188),
    [sym_number] = ACTIONS(190),
    [sym_underscore] = ACTIONS(188),
    [sym_comment] = ACTIONS(3),
  },
  [28] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(45),
    [sym_return_statement] = STATE(45),
    [sym_block_statement] = STATE(45),
    [sym_expression_statement] = STATE(45),
    [sym_empty_statement] = STATE(45),
    [sym_repeat_statement] = STATE(45),
    [sym_if_statement] = STATE(45),
    [sym_do_statement] = STATE(45),
    [sym_while_statement] = STATE(45),
    [sym_try_statement] = STATE(45),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(45),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(192),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [29] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(39),
    [sym_return_statement] = STATE(39),
    [sym_block_statement] = STATE(39),
    [sym_expression_statement] = STATE(39),
    [sym_empty_statement] = STATE(39),
    [sym_repeat_statement] = STATE(39),
    [sym_if_statement] = STATE(39),
    [sym_do_statement] = STATE(39),
    [sym_while_statement] = STATE(39),
    [sym_try_statement] = STATE(39),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(39),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(194),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [30] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(16),
    [sym_return_statement] = STATE(16),
    [sym_block_statement] = STATE(16),
    [sym_expression_statement] = STATE(16),
    [sym_empty_statement] = STATE(16),
    [sym_repeat_statement] = STATE(16),
    [sym_if_statement] = STATE(16),
    [sym_do_statement] = STATE(16),
    [sym_while_statement] = STATE(16),
    [sym_try_statement] = STATE(16),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(16),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(196),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [31] = {
    [sym_identifier] = ACTIONS(35),
    [anon_sym_SEMI] = ACTIONS(35),
    [anon_sym_DOT] = ACTIONS(37),
    [anon_sym_EQ] = ACTIONS(35),
    [anon_sym_LPAREN] = ACTIONS(35),
    [anon_sym_int] = ACTIONS(35),
    [anon_sym_cell] = ACTIONS(35),
    [anon_sym_slice] = ACTIONS(35),
    [anon_sym_builder] = ACTIONS(35),
    [anon_sym_cont] = ACTIONS(35),
    [anon_sym_tuple] = ACTIONS(35),
    [anon_sym_LBRACK] = ACTIONS(37),
    [sym_var] = ACTIONS(35),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(37),
    [anon_sym_PLUS_EQ] = ACTIONS(37),
    [anon_sym_DASH_EQ] = ACTIONS(37),
    [anon_sym_STAR_EQ] = ACTIONS(37),
    [anon_sym_SLASH_EQ] = ACTIONS(37),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(37),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(37),
    [anon_sym_PERCENT_EQ] = ACTIONS(37),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(37),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(37),
    [anon_sym_LT_LT_EQ] = ACTIONS(37),
    [anon_sym_GT_GT_EQ] = ACTIONS(37),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(37),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(37),
    [anon_sym_AMP_EQ] = ACTIONS(37),
    [anon_sym_PIPE_EQ] = ACTIONS(37),
    [anon_sym_CARET_EQ] = ACTIONS(37),
    [anon_sym_QMARK] = ACTIONS(37),
    [anon_sym_EQ_EQ] = ACTIONS(37),
    [anon_sym_LT] = ACTIONS(35),
    [anon_sym_GT] = ACTIONS(35),
    [anon_sym_LT_EQ] = ACTIONS(35),
    [anon_sym_GT_EQ] = ACTIONS(37),
    [anon_sym_BANG_EQ] = ACTIONS(37),
    [anon_sym_LT_EQ_GT] = ACTIONS(37),
    [anon_sym_LT_LT] = ACTIONS(35),
    [anon_sym_GT_GT] = ACTIONS(35),
    [anon_sym_TILDE_GT_GT] = ACTIONS(35),
    [anon_sym_CARET_GT_GT] = ACTIONS(35),
    [anon_sym_DASH] = ACTIONS(35),
    [anon_sym_PLUS] = ACTIONS(35),
    [anon_sym_PIPE] = ACTIONS(35),
    [anon_sym_CARET] = ACTIONS(35),
    [anon_sym_STAR] = ACTIONS(35),
    [anon_sym_SLASH] = ACTIONS(35),
    [anon_sym_PERCENT] = ACTIONS(35),
    [anon_sym_TILDE_SLASH] = ACTIONS(35),
    [anon_sym_CARET_SLASH] = ACTIONS(35),
    [anon_sym_TILDE_PERCENT] = ACTIONS(35),
    [anon_sym_CARET_PERCENT] = ACTIONS(35),
    [anon_sym_SLASH_PERCENT] = ACTIONS(37),
    [anon_sym_AMP] = ACTIONS(35),
    [anon_sym_TILDE] = ACTIONS(35),
    [anon_sym_type] = ACTIONS(35),
    [aux_sym_asm_instruction_token1] = ACTIONS(37),
    [anon_sym_return] = ACTIONS(35),
    [anon_sym_LBRACE] = ACTIONS(35),
    [anon_sym_RBRACE] = ACTIONS(37),
    [anon_sym_repeat] = ACTIONS(35),
    [anon_sym_if] = ACTIONS(35),
    [anon_sym_ifnot] = ACTIONS(35),
    [anon_sym_do] = ACTIONS(35),
    [anon_sym_while] = ACTIONS(35),
    [anon_sym_try] = ACTIONS(35),
    [sym_number] = ACTIONS(37),
    [sym_underscore] = ACTIONS(35),
    [sym_comment] = ACTIONS(3),
  },
  [32] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(12),
    [sym_return_statement] = STATE(12),
    [sym_block_statement] = STATE(12),
    [sym_expression_statement] = STATE(12),
    [sym_empty_statement] = STATE(12),
    [sym_repeat_statement] = STATE(12),
    [sym_if_statement] = STATE(12),
    [sym_do_statement] = STATE(12),
    [sym_while_statement] = STATE(12),
    [sym_try_statement] = STATE(12),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(12),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(194),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [33] = {
    [sym_identifier] = ACTIONS(198),
    [anon_sym_SEMI] = ACTIONS(198),
    [anon_sym_DOT] = ACTIONS(200),
    [anon_sym_EQ] = ACTIONS(198),
    [anon_sym_LPAREN] = ACTIONS(198),
    [anon_sym_int] = ACTIONS(198),
    [anon_sym_cell] = ACTIONS(198),
    [anon_sym_slice] = ACTIONS(198),
    [anon_sym_builder] = ACTIONS(198),
    [anon_sym_cont] = ACTIONS(198),
    [anon_sym_tuple] = ACTIONS(198),
    [anon_sym_LBRACK] = ACTIONS(200),
    [sym_var] = ACTIONS(198),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(200),
    [anon_sym_PLUS_EQ] = ACTIONS(200),
    [anon_sym_DASH_EQ] = ACTIONS(200),
    [anon_sym_STAR_EQ] = ACTIONS(200),
    [anon_sym_SLASH_EQ] = ACTIONS(200),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(200),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(200),
    [anon_sym_PERCENT_EQ] = ACTIONS(200),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(200),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(200),
    [anon_sym_LT_LT_EQ] = ACTIONS(200),
    [anon_sym_GT_GT_EQ] = ACTIONS(200),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(200),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(200),
    [anon_sym_AMP_EQ] = ACTIONS(200),
    [anon_sym_PIPE_EQ] = ACTIONS(200),
    [anon_sym_CARET_EQ] = ACTIONS(200),
    [anon_sym_QMARK] = ACTIONS(200),
    [anon_sym_EQ_EQ] = ACTIONS(200),
    [anon_sym_LT] = ACTIONS(198),
    [anon_sym_GT] = ACTIONS(198),
    [anon_sym_LT_EQ] = ACTIONS(198),
    [anon_sym_GT_EQ] = ACTIONS(200),
    [anon_sym_BANG_EQ] = ACTIONS(200),
    [anon_sym_LT_EQ_GT] = ACTIONS(200),
    [anon_sym_LT_LT] = ACTIONS(198),
    [anon_sym_GT_GT] = ACTIONS(198),
    [anon_sym_TILDE_GT_GT] = ACTIONS(198),
    [anon_sym_CARET_GT_GT] = ACTIONS(198),
    [anon_sym_DASH] = ACTIONS(198),
    [anon_sym_PLUS] = ACTIONS(198),
    [anon_sym_PIPE] = ACTIONS(198),
    [anon_sym_CARET] = ACTIONS(198),
    [anon_sym_STAR] = ACTIONS(198),
    [anon_sym_SLASH] = ACTIONS(198),
    [anon_sym_PERCENT] = ACTIONS(198),
    [anon_sym_TILDE_SLASH] = ACTIONS(198),
    [anon_sym_CARET_SLASH] = ACTIONS(198),
    [anon_sym_TILDE_PERCENT] = ACTIONS(198),
    [anon_sym_CARET_PERCENT] = ACTIONS(198),
    [anon_sym_SLASH_PERCENT] = ACTIONS(200),
    [anon_sym_AMP] = ACTIONS(198),
    [anon_sym_TILDE] = ACTIONS(198),
    [anon_sym_type] = ACTIONS(198),
    [aux_sym_asm_instruction_token1] = ACTIONS(200),
    [anon_sym_return] = ACTIONS(198),
    [anon_sym_LBRACE] = ACTIONS(198),
    [anon_sym_RBRACE] = ACTIONS(200),
    [anon_sym_repeat] = ACTIONS(198),
    [anon_sym_if] = ACTIONS(198),
    [anon_sym_ifnot] = ACTIONS(198),
    [anon_sym_do] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(198),
    [anon_sym_try] = ACTIONS(198),
    [sym_number] = ACTIONS(200),
    [sym_underscore] = ACTIONS(198),
    [sym_comment] = ACTIONS(3),
  },
  [34] = {
    [sym_identifier] = ACTIONS(202),
    [anon_sym_SEMI] = ACTIONS(202),
    [anon_sym_DOT] = ACTIONS(204),
    [anon_sym_EQ] = ACTIONS(202),
    [anon_sym_LPAREN] = ACTIONS(202),
    [anon_sym_int] = ACTIONS(202),
    [anon_sym_cell] = ACTIONS(202),
    [anon_sym_slice] = ACTIONS(202),
    [anon_sym_builder] = ACTIONS(202),
    [anon_sym_cont] = ACTIONS(202),
    [anon_sym_tuple] = ACTIONS(202),
    [anon_sym_LBRACK] = ACTIONS(204),
    [sym_var] = ACTIONS(202),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(204),
    [anon_sym_PLUS_EQ] = ACTIONS(204),
    [anon_sym_DASH_EQ] = ACTIONS(204),
    [anon_sym_STAR_EQ] = ACTIONS(204),
    [anon_sym_SLASH_EQ] = ACTIONS(204),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(204),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(204),
    [anon_sym_PERCENT_EQ] = ACTIONS(204),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(204),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(204),
    [anon_sym_LT_LT_EQ] = ACTIONS(204),
    [anon_sym_GT_GT_EQ] = ACTIONS(204),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(204),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(204),
    [anon_sym_AMP_EQ] = ACTIONS(204),
    [anon_sym_PIPE_EQ] = ACTIONS(204),
    [anon_sym_CARET_EQ] = ACTIONS(204),
    [anon_sym_QMARK] = ACTIONS(204),
    [anon_sym_EQ_EQ] = ACTIONS(204),
    [anon_sym_LT] = ACTIONS(202),
    [anon_sym_GT] = ACTIONS(202),
    [anon_sym_LT_EQ] = ACTIONS(202),
    [anon_sym_GT_EQ] = ACTIONS(204),
    [anon_sym_BANG_EQ] = ACTIONS(204),
    [anon_sym_LT_EQ_GT] = ACTIONS(204),
    [anon_sym_LT_LT] = ACTIONS(202),
    [anon_sym_GT_GT] = ACTIONS(202),
    [anon_sym_TILDE_GT_GT] = ACTIONS(202),
    [anon_sym_CARET_GT_GT] = ACTIONS(202),
    [anon_sym_DASH] = ACTIONS(202),
    [anon_sym_PLUS] = ACTIONS(202),
    [anon_sym_PIPE] = ACTIONS(202),
    [anon_sym_CARET] = ACTIONS(202),
    [anon_sym_STAR] = ACTIONS(202),
    [anon_sym_SLASH] = ACTIONS(202),
    [anon_sym_PERCENT] = ACTIONS(202),
    [anon_sym_TILDE_SLASH] = ACTIONS(202),
    [anon_sym_CARET_SLASH] = ACTIONS(202),
    [anon_sym_TILDE_PERCENT] = ACTIONS(202),
    [anon_sym_CARET_PERCENT] = ACTIONS(202),
    [anon_sym_SLASH_PERCENT] = ACTIONS(204),
    [anon_sym_AMP] = ACTIONS(202),
    [anon_sym_TILDE] = ACTIONS(202),
    [anon_sym_type] = ACTIONS(202),
    [aux_sym_asm_instruction_token1] = ACTIONS(204),
    [anon_sym_return] = ACTIONS(202),
    [anon_sym_LBRACE] = ACTIONS(202),
    [anon_sym_RBRACE] = ACTIONS(204),
    [anon_sym_repeat] = ACTIONS(202),
    [anon_sym_if] = ACTIONS(202),
    [anon_sym_ifnot] = ACTIONS(202),
    [anon_sym_do] = ACTIONS(202),
    [anon_sym_while] = ACTIONS(202),
    [anon_sym_try] = ACTIONS(202),
    [sym_number] = ACTIONS(204),
    [sym_underscore] = ACTIONS(202),
    [sym_comment] = ACTIONS(3),
  },
  [35] = {
    [sym_identifier] = ACTIONS(206),
    [anon_sym_SEMI] = ACTIONS(206),
    [anon_sym_DOT] = ACTIONS(208),
    [anon_sym_EQ] = ACTIONS(206),
    [anon_sym_LPAREN] = ACTIONS(206),
    [anon_sym_int] = ACTIONS(206),
    [anon_sym_cell] = ACTIONS(206),
    [anon_sym_slice] = ACTIONS(206),
    [anon_sym_builder] = ACTIONS(206),
    [anon_sym_cont] = ACTIONS(206),
    [anon_sym_tuple] = ACTIONS(206),
    [anon_sym_LBRACK] = ACTIONS(208),
    [sym_var] = ACTIONS(206),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(208),
    [anon_sym_PLUS_EQ] = ACTIONS(208),
    [anon_sym_DASH_EQ] = ACTIONS(208),
    [anon_sym_STAR_EQ] = ACTIONS(208),
    [anon_sym_SLASH_EQ] = ACTIONS(208),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(208),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(208),
    [anon_sym_PERCENT_EQ] = ACTIONS(208),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(208),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(208),
    [anon_sym_LT_LT_EQ] = ACTIONS(208),
    [anon_sym_GT_GT_EQ] = ACTIONS(208),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(208),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(208),
    [anon_sym_AMP_EQ] = ACTIONS(208),
    [anon_sym_PIPE_EQ] = ACTIONS(208),
    [anon_sym_CARET_EQ] = ACTIONS(208),
    [anon_sym_QMARK] = ACTIONS(208),
    [anon_sym_EQ_EQ] = ACTIONS(208),
    [anon_sym_LT] = ACTIONS(206),
    [anon_sym_GT] = ACTIONS(206),
    [anon_sym_LT_EQ] = ACTIONS(206),
    [anon_sym_GT_EQ] = ACTIONS(208),
    [anon_sym_BANG_EQ] = ACTIONS(208),
    [anon_sym_LT_EQ_GT] = ACTIONS(208),
    [anon_sym_LT_LT] = ACTIONS(206),
    [anon_sym_GT_GT] = ACTIONS(206),
    [anon_sym_TILDE_GT_GT] = ACTIONS(206),
    [anon_sym_CARET_GT_GT] = ACTIONS(206),
    [anon_sym_DASH] = ACTIONS(206),
    [anon_sym_PLUS] = ACTIONS(206),
    [anon_sym_PIPE] = ACTIONS(206),
    [anon_sym_CARET] = ACTIONS(206),
    [anon_sym_STAR] = ACTIONS(206),
    [anon_sym_SLASH] = ACTIONS(206),
    [anon_sym_PERCENT] = ACTIONS(206),
    [anon_sym_TILDE_SLASH] = ACTIONS(206),
    [anon_sym_CARET_SLASH] = ACTIONS(206),
    [anon_sym_TILDE_PERCENT] = ACTIONS(206),
    [anon_sym_CARET_PERCENT] = ACTIONS(206),
    [anon_sym_SLASH_PERCENT] = ACTIONS(208),
    [anon_sym_AMP] = ACTIONS(206),
    [anon_sym_TILDE] = ACTIONS(206),
    [anon_sym_type] = ACTIONS(206),
    [aux_sym_asm_instruction_token1] = ACTIONS(208),
    [anon_sym_return] = ACTIONS(206),
    [anon_sym_LBRACE] = ACTIONS(206),
    [anon_sym_RBRACE] = ACTIONS(208),
    [anon_sym_repeat] = ACTIONS(206),
    [anon_sym_if] = ACTIONS(206),
    [anon_sym_ifnot] = ACTIONS(206),
    [anon_sym_do] = ACTIONS(206),
    [anon_sym_while] = ACTIONS(206),
    [anon_sym_try] = ACTIONS(206),
    [sym_number] = ACTIONS(208),
    [sym_underscore] = ACTIONS(206),
    [sym_comment] = ACTIONS(3),
  },
  [36] = {
    [sym_identifier] = ACTIONS(210),
    [anon_sym_SEMI] = ACTIONS(210),
    [anon_sym_DOT] = ACTIONS(212),
    [anon_sym_EQ] = ACTIONS(210),
    [anon_sym_LPAREN] = ACTIONS(210),
    [anon_sym_int] = ACTIONS(210),
    [anon_sym_cell] = ACTIONS(210),
    [anon_sym_slice] = ACTIONS(210),
    [anon_sym_builder] = ACTIONS(210),
    [anon_sym_cont] = ACTIONS(210),
    [anon_sym_tuple] = ACTIONS(210),
    [anon_sym_LBRACK] = ACTIONS(212),
    [sym_var] = ACTIONS(210),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(212),
    [anon_sym_PLUS_EQ] = ACTIONS(212),
    [anon_sym_DASH_EQ] = ACTIONS(212),
    [anon_sym_STAR_EQ] = ACTIONS(212),
    [anon_sym_SLASH_EQ] = ACTIONS(212),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(212),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(212),
    [anon_sym_PERCENT_EQ] = ACTIONS(212),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(212),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(212),
    [anon_sym_LT_LT_EQ] = ACTIONS(212),
    [anon_sym_GT_GT_EQ] = ACTIONS(212),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(212),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(212),
    [anon_sym_AMP_EQ] = ACTIONS(212),
    [anon_sym_PIPE_EQ] = ACTIONS(212),
    [anon_sym_CARET_EQ] = ACTIONS(212),
    [anon_sym_QMARK] = ACTIONS(212),
    [anon_sym_EQ_EQ] = ACTIONS(212),
    [anon_sym_LT] = ACTIONS(210),
    [anon_sym_GT] = ACTIONS(210),
    [anon_sym_LT_EQ] = ACTIONS(210),
    [anon_sym_GT_EQ] = ACTIONS(212),
    [anon_sym_BANG_EQ] = ACTIONS(212),
    [anon_sym_LT_EQ_GT] = ACTIONS(212),
    [anon_sym_LT_LT] = ACTIONS(210),
    [anon_sym_GT_GT] = ACTIONS(210),
    [anon_sym_TILDE_GT_GT] = ACTIONS(210),
    [anon_sym_CARET_GT_GT] = ACTIONS(210),
    [anon_sym_DASH] = ACTIONS(210),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_PIPE] = ACTIONS(210),
    [anon_sym_CARET] = ACTIONS(210),
    [anon_sym_STAR] = ACTIONS(210),
    [anon_sym_SLASH] = ACTIONS(210),
    [anon_sym_PERCENT] = ACTIONS(210),
    [anon_sym_TILDE_SLASH] = ACTIONS(210),
    [anon_sym_CARET_SLASH] = ACTIONS(210),
    [anon_sym_TILDE_PERCENT] = ACTIONS(210),
    [anon_sym_CARET_PERCENT] = ACTIONS(210),
    [anon_sym_SLASH_PERCENT] = ACTIONS(212),
    [anon_sym_AMP] = ACTIONS(210),
    [anon_sym_TILDE] = ACTIONS(210),
    [anon_sym_type] = ACTIONS(210),
    [aux_sym_asm_instruction_token1] = ACTIONS(212),
    [anon_sym_return] = ACTIONS(210),
    [anon_sym_LBRACE] = ACTIONS(210),
    [anon_sym_RBRACE] = ACTIONS(212),
    [anon_sym_repeat] = ACTIONS(210),
    [anon_sym_if] = ACTIONS(210),
    [anon_sym_ifnot] = ACTIONS(210),
    [anon_sym_do] = ACTIONS(210),
    [anon_sym_while] = ACTIONS(210),
    [anon_sym_try] = ACTIONS(210),
    [sym_number] = ACTIONS(212),
    [sym_underscore] = ACTIONS(210),
    [sym_comment] = ACTIONS(3),
  },
  [37] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(29),
    [sym_return_statement] = STATE(29),
    [sym_block_statement] = STATE(29),
    [sym_expression_statement] = STATE(29),
    [sym_empty_statement] = STATE(29),
    [sym_repeat_statement] = STATE(29),
    [sym_if_statement] = STATE(29),
    [sym_do_statement] = STATE(29),
    [sym_while_statement] = STATE(29),
    [sym_try_statement] = STATE(29),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(29),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(214),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [38] = {
    [sym_identifier] = ACTIONS(216),
    [anon_sym_SEMI] = ACTIONS(216),
    [anon_sym_DOT] = ACTIONS(218),
    [anon_sym_EQ] = ACTIONS(216),
    [anon_sym_LPAREN] = ACTIONS(216),
    [anon_sym_int] = ACTIONS(216),
    [anon_sym_cell] = ACTIONS(216),
    [anon_sym_slice] = ACTIONS(216),
    [anon_sym_builder] = ACTIONS(216),
    [anon_sym_cont] = ACTIONS(216),
    [anon_sym_tuple] = ACTIONS(216),
    [anon_sym_LBRACK] = ACTIONS(218),
    [sym_var] = ACTIONS(216),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(218),
    [anon_sym_PLUS_EQ] = ACTIONS(218),
    [anon_sym_DASH_EQ] = ACTIONS(218),
    [anon_sym_STAR_EQ] = ACTIONS(218),
    [anon_sym_SLASH_EQ] = ACTIONS(218),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(218),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(218),
    [anon_sym_PERCENT_EQ] = ACTIONS(218),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(218),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(218),
    [anon_sym_LT_LT_EQ] = ACTIONS(218),
    [anon_sym_GT_GT_EQ] = ACTIONS(218),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(218),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(218),
    [anon_sym_AMP_EQ] = ACTIONS(218),
    [anon_sym_PIPE_EQ] = ACTIONS(218),
    [anon_sym_CARET_EQ] = ACTIONS(218),
    [anon_sym_QMARK] = ACTIONS(218),
    [anon_sym_EQ_EQ] = ACTIONS(218),
    [anon_sym_LT] = ACTIONS(216),
    [anon_sym_GT] = ACTIONS(216),
    [anon_sym_LT_EQ] = ACTIONS(216),
    [anon_sym_GT_EQ] = ACTIONS(218),
    [anon_sym_BANG_EQ] = ACTIONS(218),
    [anon_sym_LT_EQ_GT] = ACTIONS(218),
    [anon_sym_LT_LT] = ACTIONS(216),
    [anon_sym_GT_GT] = ACTIONS(216),
    [anon_sym_TILDE_GT_GT] = ACTIONS(216),
    [anon_sym_CARET_GT_GT] = ACTIONS(216),
    [anon_sym_DASH] = ACTIONS(216),
    [anon_sym_PLUS] = ACTIONS(216),
    [anon_sym_PIPE] = ACTIONS(216),
    [anon_sym_CARET] = ACTIONS(216),
    [anon_sym_STAR] = ACTIONS(216),
    [anon_sym_SLASH] = ACTIONS(216),
    [anon_sym_PERCENT] = ACTIONS(216),
    [anon_sym_TILDE_SLASH] = ACTIONS(216),
    [anon_sym_CARET_SLASH] = ACTIONS(216),
    [anon_sym_TILDE_PERCENT] = ACTIONS(216),
    [anon_sym_CARET_PERCENT] = ACTIONS(216),
    [anon_sym_SLASH_PERCENT] = ACTIONS(218),
    [anon_sym_AMP] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [anon_sym_type] = ACTIONS(216),
    [aux_sym_asm_instruction_token1] = ACTIONS(218),
    [anon_sym_return] = ACTIONS(216),
    [anon_sym_LBRACE] = ACTIONS(216),
    [anon_sym_RBRACE] = ACTIONS(218),
    [anon_sym_repeat] = ACTIONS(216),
    [anon_sym_if] = ACTIONS(216),
    [anon_sym_ifnot] = ACTIONS(216),
    [anon_sym_do] = ACTIONS(216),
    [anon_sym_while] = ACTIONS(216),
    [anon_sym_try] = ACTIONS(216),
    [sym_number] = ACTIONS(218),
    [sym_underscore] = ACTIONS(216),
    [sym_comment] = ACTIONS(3),
  },
  [39] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(39),
    [sym_return_statement] = STATE(39),
    [sym_block_statement] = STATE(39),
    [sym_expression_statement] = STATE(39),
    [sym_empty_statement] = STATE(39),
    [sym_repeat_statement] = STATE(39),
    [sym_if_statement] = STATE(39),
    [sym_do_statement] = STATE(39),
    [sym_while_statement] = STATE(39),
    [sym_try_statement] = STATE(39),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(39),
    [sym_identifier] = ACTIONS(220),
    [anon_sym_SEMI] = ACTIONS(223),
    [anon_sym_LPAREN] = ACTIONS(226),
    [anon_sym_int] = ACTIONS(229),
    [anon_sym_cell] = ACTIONS(229),
    [anon_sym_slice] = ACTIONS(229),
    [anon_sym_builder] = ACTIONS(229),
    [anon_sym_cont] = ACTIONS(229),
    [anon_sym_tuple] = ACTIONS(229),
    [anon_sym_LBRACK] = ACTIONS(232),
    [sym_var] = ACTIONS(235),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(238),
    [anon_sym_DASH] = ACTIONS(241),
    [anon_sym_TILDE] = ACTIONS(244),
    [anon_sym_type] = ACTIONS(235),
    [aux_sym_asm_instruction_token1] = ACTIONS(247),
    [anon_sym_return] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(253),
    [anon_sym_RBRACE] = ACTIONS(256),
    [anon_sym_repeat] = ACTIONS(258),
    [anon_sym_if] = ACTIONS(261),
    [anon_sym_ifnot] = ACTIONS(261),
    [anon_sym_do] = ACTIONS(264),
    [anon_sym_while] = ACTIONS(267),
    [anon_sym_try] = ACTIONS(270),
    [sym_number] = ACTIONS(273),
    [sym_underscore] = ACTIONS(220),
    [sym_comment] = ACTIONS(3),
  },
  [40] = {
    [sym_identifier] = ACTIONS(276),
    [anon_sym_SEMI] = ACTIONS(276),
    [anon_sym_DOT] = ACTIONS(278),
    [anon_sym_EQ] = ACTIONS(276),
    [anon_sym_LPAREN] = ACTIONS(276),
    [anon_sym_int] = ACTIONS(276),
    [anon_sym_cell] = ACTIONS(276),
    [anon_sym_slice] = ACTIONS(276),
    [anon_sym_builder] = ACTIONS(276),
    [anon_sym_cont] = ACTIONS(276),
    [anon_sym_tuple] = ACTIONS(276),
    [anon_sym_LBRACK] = ACTIONS(278),
    [sym_var] = ACTIONS(276),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(278),
    [anon_sym_PLUS_EQ] = ACTIONS(278),
    [anon_sym_DASH_EQ] = ACTIONS(278),
    [anon_sym_STAR_EQ] = ACTIONS(278),
    [anon_sym_SLASH_EQ] = ACTIONS(278),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(278),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(278),
    [anon_sym_PERCENT_EQ] = ACTIONS(278),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(278),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(278),
    [anon_sym_LT_LT_EQ] = ACTIONS(278),
    [anon_sym_GT_GT_EQ] = ACTIONS(278),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(278),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(278),
    [anon_sym_AMP_EQ] = ACTIONS(278),
    [anon_sym_PIPE_EQ] = ACTIONS(278),
    [anon_sym_CARET_EQ] = ACTIONS(278),
    [anon_sym_QMARK] = ACTIONS(278),
    [anon_sym_EQ_EQ] = ACTIONS(278),
    [anon_sym_LT] = ACTIONS(276),
    [anon_sym_GT] = ACTIONS(276),
    [anon_sym_LT_EQ] = ACTIONS(276),
    [anon_sym_GT_EQ] = ACTIONS(278),
    [anon_sym_BANG_EQ] = ACTIONS(278),
    [anon_sym_LT_EQ_GT] = ACTIONS(278),
    [anon_sym_LT_LT] = ACTIONS(276),
    [anon_sym_GT_GT] = ACTIONS(276),
    [anon_sym_TILDE_GT_GT] = ACTIONS(276),
    [anon_sym_CARET_GT_GT] = ACTIONS(276),
    [anon_sym_DASH] = ACTIONS(276),
    [anon_sym_PLUS] = ACTIONS(276),
    [anon_sym_PIPE] = ACTIONS(276),
    [anon_sym_CARET] = ACTIONS(276),
    [anon_sym_STAR] = ACTIONS(276),
    [anon_sym_SLASH] = ACTIONS(276),
    [anon_sym_PERCENT] = ACTIONS(276),
    [anon_sym_TILDE_SLASH] = ACTIONS(276),
    [anon_sym_CARET_SLASH] = ACTIONS(276),
    [anon_sym_TILDE_PERCENT] = ACTIONS(276),
    [anon_sym_CARET_PERCENT] = ACTIONS(276),
    [anon_sym_SLASH_PERCENT] = ACTIONS(278),
    [anon_sym_AMP] = ACTIONS(276),
    [anon_sym_TILDE] = ACTIONS(276),
    [anon_sym_type] = ACTIONS(276),
    [aux_sym_asm_instruction_token1] = ACTIONS(278),
    [anon_sym_return] = ACTIONS(276),
    [anon_sym_LBRACE] = ACTIONS(276),
    [anon_sym_RBRACE] = ACTIONS(278),
    [anon_sym_repeat] = ACTIONS(276),
    [anon_sym_if] = ACTIONS(276),
    [anon_sym_ifnot] = ACTIONS(276),
    [anon_sym_do] = ACTIONS(276),
    [anon_sym_while] = ACTIONS(276),
    [anon_sym_try] = ACTIONS(276),
    [sym_number] = ACTIONS(278),
    [sym_underscore] = ACTIONS(276),
    [sym_comment] = ACTIONS(3),
  },
  [41] = {
    [sym_identifier] = ACTIONS(280),
    [anon_sym_SEMI] = ACTIONS(280),
    [anon_sym_DOT] = ACTIONS(282),
    [anon_sym_EQ] = ACTIONS(280),
    [anon_sym_LPAREN] = ACTIONS(280),
    [anon_sym_int] = ACTIONS(280),
    [anon_sym_cell] = ACTIONS(280),
    [anon_sym_slice] = ACTIONS(280),
    [anon_sym_builder] = ACTIONS(280),
    [anon_sym_cont] = ACTIONS(280),
    [anon_sym_tuple] = ACTIONS(280),
    [anon_sym_LBRACK] = ACTIONS(282),
    [sym_var] = ACTIONS(280),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(282),
    [anon_sym_PLUS_EQ] = ACTIONS(282),
    [anon_sym_DASH_EQ] = ACTIONS(282),
    [anon_sym_STAR_EQ] = ACTIONS(282),
    [anon_sym_SLASH_EQ] = ACTIONS(282),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(282),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(282),
    [anon_sym_PERCENT_EQ] = ACTIONS(282),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(282),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(282),
    [anon_sym_LT_LT_EQ] = ACTIONS(282),
    [anon_sym_GT_GT_EQ] = ACTIONS(282),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(282),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(282),
    [anon_sym_AMP_EQ] = ACTIONS(282),
    [anon_sym_PIPE_EQ] = ACTIONS(282),
    [anon_sym_CARET_EQ] = ACTIONS(282),
    [anon_sym_QMARK] = ACTIONS(282),
    [anon_sym_EQ_EQ] = ACTIONS(282),
    [anon_sym_LT] = ACTIONS(280),
    [anon_sym_GT] = ACTIONS(280),
    [anon_sym_LT_EQ] = ACTIONS(280),
    [anon_sym_GT_EQ] = ACTIONS(282),
    [anon_sym_BANG_EQ] = ACTIONS(282),
    [anon_sym_LT_EQ_GT] = ACTIONS(282),
    [anon_sym_LT_LT] = ACTIONS(280),
    [anon_sym_GT_GT] = ACTIONS(280),
    [anon_sym_TILDE_GT_GT] = ACTIONS(280),
    [anon_sym_CARET_GT_GT] = ACTIONS(280),
    [anon_sym_DASH] = ACTIONS(280),
    [anon_sym_PLUS] = ACTIONS(280),
    [anon_sym_PIPE] = ACTIONS(280),
    [anon_sym_CARET] = ACTIONS(280),
    [anon_sym_STAR] = ACTIONS(280),
    [anon_sym_SLASH] = ACTIONS(280),
    [anon_sym_PERCENT] = ACTIONS(280),
    [anon_sym_TILDE_SLASH] = ACTIONS(280),
    [anon_sym_CARET_SLASH] = ACTIONS(280),
    [anon_sym_TILDE_PERCENT] = ACTIONS(280),
    [anon_sym_CARET_PERCENT] = ACTIONS(280),
    [anon_sym_SLASH_PERCENT] = ACTIONS(282),
    [anon_sym_AMP] = ACTIONS(280),
    [anon_sym_TILDE] = ACTIONS(280),
    [anon_sym_type] = ACTIONS(280),
    [aux_sym_asm_instruction_token1] = ACTIONS(282),
    [anon_sym_return] = ACTIONS(280),
    [anon_sym_LBRACE] = ACTIONS(280),
    [anon_sym_RBRACE] = ACTIONS(282),
    [anon_sym_repeat] = ACTIONS(280),
    [anon_sym_if] = ACTIONS(280),
    [anon_sym_ifnot] = ACTIONS(280),
    [anon_sym_do] = ACTIONS(280),
    [anon_sym_while] = ACTIONS(280),
    [anon_sym_try] = ACTIONS(280),
    [sym_number] = ACTIONS(282),
    [sym_underscore] = ACTIONS(280),
    [sym_comment] = ACTIONS(3),
  },
  [42] = {
    [aux_sym__expr30_repeat1] = STATE(10),
    [sym_identifier] = ACTIONS(284),
    [anon_sym_SEMI] = ACTIONS(284),
    [anon_sym_EQ] = ACTIONS(284),
    [anon_sym_LPAREN] = ACTIONS(284),
    [anon_sym_int] = ACTIONS(284),
    [anon_sym_cell] = ACTIONS(284),
    [anon_sym_slice] = ACTIONS(284),
    [anon_sym_builder] = ACTIONS(284),
    [anon_sym_cont] = ACTIONS(284),
    [anon_sym_tuple] = ACTIONS(284),
    [anon_sym_LBRACK] = ACTIONS(286),
    [sym_var] = ACTIONS(284),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(286),
    [anon_sym_PLUS_EQ] = ACTIONS(286),
    [anon_sym_DASH_EQ] = ACTIONS(286),
    [anon_sym_STAR_EQ] = ACTIONS(286),
    [anon_sym_SLASH_EQ] = ACTIONS(286),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(286),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(286),
    [anon_sym_PERCENT_EQ] = ACTIONS(286),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(286),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(286),
    [anon_sym_LT_LT_EQ] = ACTIONS(286),
    [anon_sym_GT_GT_EQ] = ACTIONS(286),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(286),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(286),
    [anon_sym_AMP_EQ] = ACTIONS(286),
    [anon_sym_PIPE_EQ] = ACTIONS(286),
    [anon_sym_CARET_EQ] = ACTIONS(286),
    [anon_sym_QMARK] = ACTIONS(286),
    [anon_sym_EQ_EQ] = ACTIONS(286),
    [anon_sym_LT] = ACTIONS(284),
    [anon_sym_GT] = ACTIONS(284),
    [anon_sym_LT_EQ] = ACTIONS(284),
    [anon_sym_GT_EQ] = ACTIONS(286),
    [anon_sym_BANG_EQ] = ACTIONS(286),
    [anon_sym_LT_EQ_GT] = ACTIONS(286),
    [anon_sym_LT_LT] = ACTIONS(284),
    [anon_sym_GT_GT] = ACTIONS(284),
    [anon_sym_TILDE_GT_GT] = ACTIONS(284),
    [anon_sym_CARET_GT_GT] = ACTIONS(284),
    [anon_sym_DASH] = ACTIONS(284),
    [anon_sym_PLUS] = ACTIONS(284),
    [anon_sym_PIPE] = ACTIONS(284),
    [anon_sym_CARET] = ACTIONS(284),
    [anon_sym_STAR] = ACTIONS(164),
    [anon_sym_SLASH] = ACTIONS(164),
    [anon_sym_PERCENT] = ACTIONS(164),
    [anon_sym_TILDE_SLASH] = ACTIONS(164),
    [anon_sym_CARET_SLASH] = ACTIONS(164),
    [anon_sym_TILDE_PERCENT] = ACTIONS(164),
    [anon_sym_CARET_PERCENT] = ACTIONS(164),
    [anon_sym_SLASH_PERCENT] = ACTIONS(166),
    [anon_sym_AMP] = ACTIONS(164),
    [anon_sym_TILDE] = ACTIONS(284),
    [anon_sym_type] = ACTIONS(284),
    [aux_sym_asm_instruction_token1] = ACTIONS(286),
    [anon_sym_return] = ACTIONS(284),
    [anon_sym_LBRACE] = ACTIONS(284),
    [anon_sym_RBRACE] = ACTIONS(286),
    [anon_sym_repeat] = ACTIONS(284),
    [anon_sym_if] = ACTIONS(284),
    [anon_sym_ifnot] = ACTIONS(284),
    [anon_sym_do] = ACTIONS(284),
    [anon_sym_while] = ACTIONS(284),
    [anon_sym_try] = ACTIONS(284),
    [sym_number] = ACTIONS(286),
    [sym_underscore] = ACTIONS(284),
    [sym_comment] = ACTIONS(3),
  },
  [43] = {
    [sym_identifier] = ACTIONS(288),
    [anon_sym_SEMI] = ACTIONS(288),
    [anon_sym_DOT] = ACTIONS(290),
    [anon_sym_EQ] = ACTIONS(288),
    [anon_sym_LPAREN] = ACTIONS(288),
    [anon_sym_int] = ACTIONS(288),
    [anon_sym_cell] = ACTIONS(288),
    [anon_sym_slice] = ACTIONS(288),
    [anon_sym_builder] = ACTIONS(288),
    [anon_sym_cont] = ACTIONS(288),
    [anon_sym_tuple] = ACTIONS(288),
    [anon_sym_LBRACK] = ACTIONS(290),
    [sym_var] = ACTIONS(288),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(290),
    [anon_sym_PLUS_EQ] = ACTIONS(290),
    [anon_sym_DASH_EQ] = ACTIONS(290),
    [anon_sym_STAR_EQ] = ACTIONS(290),
    [anon_sym_SLASH_EQ] = ACTIONS(290),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(290),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(290),
    [anon_sym_PERCENT_EQ] = ACTIONS(290),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(290),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(290),
    [anon_sym_LT_LT_EQ] = ACTIONS(290),
    [anon_sym_GT_GT_EQ] = ACTIONS(290),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(290),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(290),
    [anon_sym_AMP_EQ] = ACTIONS(290),
    [anon_sym_PIPE_EQ] = ACTIONS(290),
    [anon_sym_CARET_EQ] = ACTIONS(290),
    [anon_sym_QMARK] = ACTIONS(290),
    [anon_sym_EQ_EQ] = ACTIONS(290),
    [anon_sym_LT] = ACTIONS(288),
    [anon_sym_GT] = ACTIONS(288),
    [anon_sym_LT_EQ] = ACTIONS(288),
    [anon_sym_GT_EQ] = ACTIONS(290),
    [anon_sym_BANG_EQ] = ACTIONS(290),
    [anon_sym_LT_EQ_GT] = ACTIONS(290),
    [anon_sym_LT_LT] = ACTIONS(288),
    [anon_sym_GT_GT] = ACTIONS(288),
    [anon_sym_TILDE_GT_GT] = ACTIONS(288),
    [anon_sym_CARET_GT_GT] = ACTIONS(288),
    [anon_sym_DASH] = ACTIONS(288),
    [anon_sym_PLUS] = ACTIONS(288),
    [anon_sym_PIPE] = ACTIONS(288),
    [anon_sym_CARET] = ACTIONS(288),
    [anon_sym_STAR] = ACTIONS(288),
    [anon_sym_SLASH] = ACTIONS(288),
    [anon_sym_PERCENT] = ACTIONS(288),
    [anon_sym_TILDE_SLASH] = ACTIONS(288),
    [anon_sym_CARET_SLASH] = ACTIONS(288),
    [anon_sym_TILDE_PERCENT] = ACTIONS(288),
    [anon_sym_CARET_PERCENT] = ACTIONS(288),
    [anon_sym_SLASH_PERCENT] = ACTIONS(290),
    [anon_sym_AMP] = ACTIONS(288),
    [anon_sym_TILDE] = ACTIONS(288),
    [anon_sym_type] = ACTIONS(288),
    [aux_sym_asm_instruction_token1] = ACTIONS(290),
    [anon_sym_return] = ACTIONS(288),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(290),
    [anon_sym_repeat] = ACTIONS(288),
    [anon_sym_if] = ACTIONS(288),
    [anon_sym_ifnot] = ACTIONS(288),
    [anon_sym_do] = ACTIONS(288),
    [anon_sym_while] = ACTIONS(288),
    [anon_sym_try] = ACTIONS(288),
    [sym_number] = ACTIONS(290),
    [sym_underscore] = ACTIONS(288),
    [sym_comment] = ACTIONS(3),
  },
  [44] = {
    [sym_identifier] = ACTIONS(292),
    [anon_sym_SEMI] = ACTIONS(292),
    [anon_sym_DOT] = ACTIONS(294),
    [anon_sym_EQ] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(292),
    [anon_sym_int] = ACTIONS(292),
    [anon_sym_cell] = ACTIONS(292),
    [anon_sym_slice] = ACTIONS(292),
    [anon_sym_builder] = ACTIONS(292),
    [anon_sym_cont] = ACTIONS(292),
    [anon_sym_tuple] = ACTIONS(292),
    [anon_sym_LBRACK] = ACTIONS(294),
    [sym_var] = ACTIONS(292),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(294),
    [anon_sym_PLUS_EQ] = ACTIONS(294),
    [anon_sym_DASH_EQ] = ACTIONS(294),
    [anon_sym_STAR_EQ] = ACTIONS(294),
    [anon_sym_SLASH_EQ] = ACTIONS(294),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(294),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(294),
    [anon_sym_PERCENT_EQ] = ACTIONS(294),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(294),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(294),
    [anon_sym_LT_LT_EQ] = ACTIONS(294),
    [anon_sym_GT_GT_EQ] = ACTIONS(294),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(294),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(294),
    [anon_sym_AMP_EQ] = ACTIONS(294),
    [anon_sym_PIPE_EQ] = ACTIONS(294),
    [anon_sym_CARET_EQ] = ACTIONS(294),
    [anon_sym_QMARK] = ACTIONS(294),
    [anon_sym_EQ_EQ] = ACTIONS(294),
    [anon_sym_LT] = ACTIONS(292),
    [anon_sym_GT] = ACTIONS(292),
    [anon_sym_LT_EQ] = ACTIONS(292),
    [anon_sym_GT_EQ] = ACTIONS(294),
    [anon_sym_BANG_EQ] = ACTIONS(294),
    [anon_sym_LT_EQ_GT] = ACTIONS(294),
    [anon_sym_LT_LT] = ACTIONS(292),
    [anon_sym_GT_GT] = ACTIONS(292),
    [anon_sym_TILDE_GT_GT] = ACTIONS(292),
    [anon_sym_CARET_GT_GT] = ACTIONS(292),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_PIPE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_SLASH] = ACTIONS(292),
    [anon_sym_PERCENT] = ACTIONS(292),
    [anon_sym_TILDE_SLASH] = ACTIONS(292),
    [anon_sym_CARET_SLASH] = ACTIONS(292),
    [anon_sym_TILDE_PERCENT] = ACTIONS(292),
    [anon_sym_CARET_PERCENT] = ACTIONS(292),
    [anon_sym_SLASH_PERCENT] = ACTIONS(294),
    [anon_sym_AMP] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_type] = ACTIONS(292),
    [aux_sym_asm_instruction_token1] = ACTIONS(294),
    [anon_sym_return] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(292),
    [anon_sym_RBRACE] = ACTIONS(294),
    [anon_sym_repeat] = ACTIONS(292),
    [anon_sym_if] = ACTIONS(292),
    [anon_sym_ifnot] = ACTIONS(292),
    [anon_sym_do] = ACTIONS(292),
    [anon_sym_while] = ACTIONS(292),
    [anon_sym_try] = ACTIONS(292),
    [sym_number] = ACTIONS(294),
    [sym_underscore] = ACTIONS(292),
    [sym_comment] = ACTIONS(3),
  },
  [45] = {
    [sym_primitive_type] = STATE(66),
    [sym__expression] = STATE(427),
    [sym__expr10] = STATE(427),
    [sym__expr13] = STATE(173),
    [sym__expr15] = STATE(169),
    [sym__expr17] = STATE(152),
    [sym__expr20] = STATE(145),
    [sym__expr30] = STATE(133),
    [sym__expr75] = STATE(98),
    [sym__expr80] = STATE(98),
    [sym__expr90] = STATE(89),
    [sym_function_application] = STATE(89),
    [sym_variable_declaration] = STATE(89),
    [sym_type_expression] = STATE(65),
    [sym_parenthesized_type_expression] = STATE(77),
    [sym_tensor_type_expression] = STATE(77),
    [sym_tuple_type_expression] = STATE(77),
    [sym__nontype_expr100] = STATE(61),
    [sym__expr100] = STATE(89),
    [sym_unit_literal] = STATE(61),
    [sym_parenthesized_expression] = STATE(61),
    [sym_tensor_expression] = STATE(61),
    [sym_tuple_expression] = STATE(61),
    [sym__statement] = STATE(39),
    [sym_return_statement] = STATE(39),
    [sym_block_statement] = STATE(39),
    [sym_expression_statement] = STATE(39),
    [sym_empty_statement] = STATE(39),
    [sym_repeat_statement] = STATE(39),
    [sym_if_statement] = STATE(39),
    [sym_do_statement] = STATE(39),
    [sym_while_statement] = STATE(39),
    [sym_try_statement] = STATE(39),
    [sym_string] = STATE(61),
    [sym__string_literal] = STATE(57),
    [sym__raw_slice_const] = STATE(87),
    [sym__slice_const_address] = STATE(87),
    [sym__int_const_hex] = STATE(87),
    [sym__string_sha_first_32] = STATE(87),
    [sym__string_sha_256] = STATE(87),
    [sym__string_crc_32] = STATE(87),
    [aux_sym_block_statement_repeat1] = STATE(39),
    [sym_identifier] = ACTIONS(102),
    [anon_sym_SEMI] = ACTIONS(104),
    [anon_sym_LPAREN] = ACTIONS(106),
    [anon_sym_int] = ACTIONS(108),
    [anon_sym_cell] = ACTIONS(108),
    [anon_sym_slice] = ACTIONS(108),
    [anon_sym_builder] = ACTIONS(108),
    [anon_sym_cont] = ACTIONS(108),
    [anon_sym_tuple] = ACTIONS(108),
    [anon_sym_LBRACK] = ACTIONS(110),
    [sym_var] = ACTIONS(112),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(114),
    [anon_sym_DASH] = ACTIONS(116),
    [anon_sym_TILDE] = ACTIONS(118),
    [anon_sym_type] = ACTIONS(112),
    [aux_sym_asm_instruction_token1] = ACTIONS(120),
    [anon_sym_return] = ACTIONS(122),
    [anon_sym_LBRACE] = ACTIONS(124),
    [anon_sym_RBRACE] = ACTIONS(214),
    [anon_sym_repeat] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_ifnot] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(132),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_try] = ACTIONS(136),
    [sym_number] = ACTIONS(138),
    [sym_underscore] = ACTIONS(102),
    [sym_comment] = ACTIONS(3),
  },
  [46] = {
    [sym_identifier] = ACTIONS(296),
    [anon_sym_SEMI] = ACTIONS(296),
    [anon_sym_DOT] = ACTIONS(298),
    [anon_sym_EQ] = ACTIONS(296),
    [anon_sym_LPAREN] = ACTIONS(296),
    [anon_sym_int] = ACTIONS(296),
    [anon_sym_cell] = ACTIONS(296),
    [anon_sym_slice] = ACTIONS(296),
    [anon_sym_builder] = ACTIONS(296),
    [anon_sym_cont] = ACTIONS(296),
    [anon_sym_tuple] = ACTIONS(296),
    [anon_sym_LBRACK] = ACTIONS(298),
    [sym_var] = ACTIONS(296),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(298),
    [anon_sym_PLUS_EQ] = ACTIONS(298),
    [anon_sym_DASH_EQ] = ACTIONS(298),
    [anon_sym_STAR_EQ] = ACTIONS(298),
    [anon_sym_SLASH_EQ] = ACTIONS(298),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(298),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(298),
    [anon_sym_PERCENT_EQ] = ACTIONS(298),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(298),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(298),
    [anon_sym_LT_LT_EQ] = ACTIONS(298),
    [anon_sym_GT_GT_EQ] = ACTIONS(298),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(298),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(298),
    [anon_sym_AMP_EQ] = ACTIONS(298),
    [anon_sym_PIPE_EQ] = ACTIONS(298),
    [anon_sym_CARET_EQ] = ACTIONS(298),
    [anon_sym_QMARK] = ACTIONS(298),
    [anon_sym_EQ_EQ] = ACTIONS(298),
    [anon_sym_LT] = ACTIONS(296),
    [anon_sym_GT] = ACTIONS(296),
    [anon_sym_LT_EQ] = ACTIONS(296),
    [anon_sym_GT_EQ] = ACTIONS(298),
    [anon_sym_BANG_EQ] = ACTIONS(298),
    [anon_sym_LT_EQ_GT] = ACTIONS(298),
    [anon_sym_LT_LT] = ACTIONS(296),
    [anon_sym_GT_GT] = ACTIONS(296),
    [anon_sym_TILDE_GT_GT] = ACTIONS(296),
    [anon_sym_CARET_GT_GT] = ACTIONS(296),
    [anon_sym_DASH] = ACTIONS(296),
    [anon_sym_PLUS] = ACTIONS(296),
    [anon_sym_PIPE] = ACTIONS(296),
    [anon_sym_CARET] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(296),
    [anon_sym_SLASH] = ACTIONS(296),
    [anon_sym_PERCENT] = ACTIONS(296),
    [anon_sym_TILDE_SLASH] = ACTIONS(296),
    [anon_sym_CARET_SLASH] = ACTIONS(296),
    [anon_sym_TILDE_PERCENT] = ACTIONS(296),
    [anon_sym_CARET_PERCENT] = ACTIONS(296),
    [anon_sym_SLASH_PERCENT] = ACTIONS(298),
    [anon_sym_AMP] = ACTIONS(296),
    [anon_sym_TILDE] = ACTIONS(296),
    [anon_sym_type] = ACTIONS(296),
    [aux_sym_asm_instruction_token1] = ACTIONS(298),
    [anon_sym_return] = ACTIONS(296),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(298),
    [anon_sym_repeat] = ACTIONS(296),
    [anon_sym_if] = ACTIONS(296),
    [anon_sym_ifnot] = ACTIONS(296),
    [anon_sym_do] = ACTIONS(296),
    [anon_sym_while] = ACTIONS(296),
    [anon_sym_try] = ACTIONS(296),
    [sym_number] = ACTIONS(298),
    [sym_underscore] = ACTIONS(296),
    [sym_comment] = ACTIONS(3),
  },
  [47] = {
    [sym_identifier] = ACTIONS(300),
    [anon_sym_SEMI] = ACTIONS(300),
    [anon_sym_EQ] = ACTIONS(300),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_int] = ACTIONS(300),
    [anon_sym_cell] = ACTIONS(300),
    [anon_sym_slice] = ACTIONS(300),
    [anon_sym_builder] = ACTIONS(300),
    [anon_sym_cont] = ACTIONS(300),
    [anon_sym_tuple] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(302),
    [sym_var] = ACTIONS(300),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(302),
    [anon_sym_PLUS_EQ] = ACTIONS(302),
    [anon_sym_DASH_EQ] = ACTIONS(302),
    [anon_sym_STAR_EQ] = ACTIONS(302),
    [anon_sym_SLASH_EQ] = ACTIONS(302),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(302),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(302),
    [anon_sym_PERCENT_EQ] = ACTIONS(302),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(302),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(302),
    [anon_sym_LT_LT_EQ] = ACTIONS(302),
    [anon_sym_GT_GT_EQ] = ACTIONS(302),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(302),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(302),
    [anon_sym_AMP_EQ] = ACTIONS(302),
    [anon_sym_PIPE_EQ] = ACTIONS(302),
    [anon_sym_CARET_EQ] = ACTIONS(302),
    [anon_sym_QMARK] = ACTIONS(302),
    [anon_sym_EQ_EQ] = ACTIONS(302),
    [anon_sym_LT] = ACTIONS(300),
    [anon_sym_GT] = ACTIONS(300),
    [anon_sym_LT_EQ] = ACTIONS(300),
    [anon_sym_GT_EQ] = ACTIONS(302),
    [anon_sym_BANG_EQ] = ACTIONS(302),
    [anon_sym_LT_EQ_GT] = ACTIONS(302),
    [anon_sym_LT_LT] = ACTIONS(300),
    [anon_sym_GT_GT] = ACTIONS(300),
    [anon_sym_TILDE_GT_GT] = ACTIONS(300),
    [anon_sym_CARET_GT_GT] = ACTIONS(300),
    [anon_sym_DASH] = ACTIONS(300),
    [anon_sym_PLUS] = ACTIONS(300),
    [anon_sym_PIPE] = ACTIONS(300),
    [anon_sym_CARET] = ACTIONS(300),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_SLASH] = ACTIONS(300),
    [anon_sym_PERCENT] = ACTIONS(300),
    [anon_sym_TILDE_SLASH] = ACTIONS(300),
    [anon_sym_CARET_SLASH] = ACTIONS(300),
    [anon_sym_TILDE_PERCENT] = ACTIONS(300),
    [anon_sym_CARET_PERCENT] = ACTIONS(300),
    [anon_sym_SLASH_PERCENT] = ACTIONS(302),
    [anon_sym_AMP] = ACTIONS(300),
    [anon_sym_TILDE] = ACTIONS(300),
    [anon_sym_type] = ACTIONS(300),
    [aux_sym_asm_instruction_token1] = ACTIONS(302),
    [anon_sym_return] = ACTIONS(300),
    [anon_sym_LBRACE] = ACTIONS(300),
    [anon_sym_RBRACE] = ACTIONS(302),
    [anon_sym_repeat] = ACTIONS(300),
    [anon_sym_if] = ACTIONS(300),
    [anon_sym_ifnot] = ACTIONS(300),
    [anon_sym_do] = ACTIONS(300),
    [anon_sym_while] = ACTIONS(300),
    [anon_sym_try] = ACTIONS(300),
    [sym_number] = ACTIONS(302),
    [sym_underscore] = ACTIONS(300),
    [sym_comment] = ACTIONS(3),
  },
  [48] = {
    [sym_identifier] = ACTIONS(92),
    [anon_sym_SEMI] = ACTIONS(92),
    [anon_sym_EQ] = ACTIONS(92),
    [anon_sym_LPAREN] = ACTIONS(92),
    [anon_sym_int] = ACTIONS(92),
    [anon_sym_cell] = ACTIONS(92),
    [anon_sym_slice] = ACTIONS(92),
    [anon_sym_builder] = ACTIONS(92),
    [anon_sym_cont] = ACTIONS(92),
    [anon_sym_tuple] = ACTIONS(92),
    [anon_sym_LBRACK] = ACTIONS(94),
    [sym_var] = ACTIONS(92),
    [anon_sym_LPAREN_RPAREN] = ACTIONS(94),
    [anon_sym_PLUS_EQ] = ACTIONS(94),
    [anon_sym_DASH_EQ] = ACTIONS(94),
    [anon_sym_STAR_EQ] = ACTIONS(94),
    [anon_sym_SLASH_EQ] = ACTIONS(94),
    [anon_sym_TILDE_SLASH_EQ] = ACTIONS(94),
    [anon_sym_CARET_SLASH_EQ] = ACTIONS(94),
    [anon_sym_PERCENT_EQ] = ACTIONS(94),
    [anon_sym_TILDE_PERCENT_EQ] = ACTIONS(94),
    [anon_sym_CARET_PERCENT_EQ] = ACTIONS(94),
    [anon_sym_LT_LT_EQ] = ACTIONS(94),
    [anon_sym_GT_GT_EQ] = ACTIONS(94),
    [anon_sym_TILDE_GT_GT_EQ] = ACTIONS(94),
    [anon_sym_CARET_GT_GT_EQ] = ACTIONS(94),
    [anon_sym_AMP_EQ] = ACTIONS(94),
    [anon_sym_PIPE_EQ] = ACTIONS(94),
    [anon_sym_CARET_EQ] = ACTIONS(94),
    [anon_sym_QMARK] = ACTIONS(94),
    [anon_sym_EQ_EQ] = ACTIONS(94),
    [anon_sym_LT] = ACTIONS(92),
    [anon_sym_GT] = ACTIONS(92),
    [anon_sym_LT_EQ] = ACTIONS(92),
    [anon_sym_GT_EQ] = ACTIONS(94),
    [anon_sym_BANG_EQ] = ACTIONS(94),
    [anon_sym_LT_EQ_GT] = ACTIONS(94),
    [anon_sym_LT_LT] = ACTIONS(92),
    [anon_sym_GT_GT] = ACTIONS(92),
    [anon_sym_TILDE_GT_GT] = ACTIONS(92),
    [anon_sym_CARET_GT_GT] = ACTIONS(92),
    [anon_sym_DASH] = ACTIONS(92),
    [anon_sym_PLUS] = ACTIONS(92),
    [anon_sym_PIPE] = ACTIONS(92),
    [anon_sym_CARET] = ACTIONS(92),
    [anon_sym_STAR] = ACTIONS(92),
    [anon_sym_SLASH] = ACTIONS(92),
    [anon_sym_PERCENT] = ACTIONS(92),
    [anon_sym_TILDE_SLASH] = ACTIONS(92),
    [anon_sym_CARET_SLASH] = ACTIONS(92),
    [anon_sym_TILDE_PERCENT] = ACTIONS(92),
    [anon_sym_CARET_PERCENT] = ACTIONS(92),
    [anon_sym_SLASH_PERCENT] = ACTIONS(94),
    [anon_sym_AMP] = ACTIONS(92),
    [anon_sym_TILDE] = ACTIONS(92),
    [anon_sym_type] = ACTIONS(92),
    [aux_sym_asm_instruction_token1] = ACTIONS(94),
    [anon_sym_return] = ACTIONS(92),
    [anon_sym_LBRACE] = ACTIONS(92),
    [anon_sym_RBRACE] = ACTIONS(94),
    [anon_sym_repeat] = ACTIONS(92),
    [anon_sym_if] = ACTIONS(92),
    [anon_sym_ifnot] = ACTIONS(92),
    [anon_sym_do] = ACTIONS(92),
    [anon_sym_while] = ACTIONS(92),
    [anon_sym_try] = ACTIONS(92),
    [sym_number] = ACTIONS(94),
    [sym_underscore] = ACTIONS(92),
    [sym_comment] = ACTIONS(3),
  },
};

static const uint16_t ts_small_parse_table[] = {
  [0] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(304), 30,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
    ACTIONS(306), 30,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
  [68] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(53), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(312), 3,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(310), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(308), 30,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [140] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(50), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(312), 3,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(316), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(314), 30,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [212] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(53), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(312), 3,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(316), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(314), 30,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [284] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(53), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(322), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(320), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(318), 29,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [356] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(52), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(312), 3,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(327), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(325), 30,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [428] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(320), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(318), 33,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [495] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(33), 28,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
    ACTIONS(31), 31,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
      anon_sym_s,
      anon_sym_a,
      anon_sym_u,
      anon_sym_h,
      anon_sym_H,
      anon_sym_c,
      sym_identifier,
  [562] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(329), 1,
      anon_sym_s,
    ACTIONS(331), 1,
      anon_sym_a,
    ACTIONS(333), 1,
      anon_sym_u,
    ACTIONS(335), 1,
      anon_sym_h,
    ACTIONS(337), 1,
      anon_sym_H,
    ACTIONS(339), 1,
      anon_sym_c,
    ACTIONS(35), 25,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
      sym_identifier,
    ACTIONS(37), 28,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [641] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(58), 1,
      aux_sym__expr17_repeat1,
    ACTIONS(341), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
    ACTIONS(304), 26,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
    ACTIONS(306), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
  [710] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(344), 1,
      sym_identifier,
    ACTIONS(347), 1,
      anon_sym_LPAREN,
    ACTIONS(350), 1,
      anon_sym_LPAREN_RPAREN,
    STATE(59), 4,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      aux_sym_function_application_repeat1,
    ACTIONS(58), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(60), 27,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [783] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(62), 1,
      aux_sym__expr17_repeat1,
    ACTIONS(357), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
    ACTIONS(353), 26,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
    ACTIONS(355), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
  [852] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(359), 1,
      sym_identifier,
    ACTIONS(365), 1,
      anon_sym_LPAREN,
    STATE(63), 4,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      aux_sym_function_application_repeat1,
    ACTIONS(361), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(363), 27,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [925] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(58), 1,
      aux_sym__expr17_repeat1,
    ACTIONS(357), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
    ACTIONS(367), 26,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
    ACTIONS(369), 26,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
  [994] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(365), 1,
      anon_sym_LPAREN,
    ACTIONS(371), 1,
      sym_identifier,
    STATE(59), 4,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      aux_sym_function_application_repeat1,
    ACTIONS(51), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(53), 27,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [1067] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(168), 25,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
      sym_underscore,
    ACTIONS(170), 31,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1131] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(373), 1,
      sym_identifier,
    ACTIONS(375), 1,
      anon_sym_LPAREN,
    ACTIONS(377), 1,
      anon_sym_LBRACK,
    STATE(94), 3,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
    ACTIONS(361), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(363), 27,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [1203] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(379), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(148), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(150), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1267] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(202), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(204), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1328] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(152), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(154), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1389] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(210), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(212), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1450] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(206), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(208), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1511] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(198), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(200), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1572] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(156), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(158), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1633] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(184), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(186), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1694] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(188), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(190), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1755] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(88), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(90), 30,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1816] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(373), 1,
      sym_identifier,
    ACTIONS(375), 1,
      anon_sym_LPAREN,
    ACTIONS(377), 1,
      anon_sym_LBRACK,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(383), 1,
      anon_sym_RPAREN,
    STATE(357), 1,
      aux_sym_tensor_type_expression_repeat1,
    STATE(94), 3,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
    ACTIONS(361), 21,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
    ACTIONS(363), 23,
      anon_sym_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [1891] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(148), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(150), 30,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [1952] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(276), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(278), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [2013] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(373), 1,
      sym_identifier,
    ACTIONS(375), 1,
      anon_sym_LPAREN,
    ACTIONS(377), 1,
      anon_sym_LBRACK,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(385), 1,
      anon_sym_RBRACK,
    STATE(360), 1,
      aux_sym_tensor_type_expression_repeat1,
    STATE(94), 3,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
    ACTIONS(361), 21,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
    ACTIONS(363), 23,
      anon_sym_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [2088] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(288), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(290), 30,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [2149] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(176), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(178), 30,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [2210] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(292), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(294), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [2271] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(298), 30,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [2332] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(373), 1,
      sym_identifier,
    ACTIONS(375), 1,
      anon_sym_LPAREN,
    ACTIONS(377), 1,
      anon_sym_LBRACK,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(387), 1,
      anon_sym_RBRACK,
    STATE(305), 1,
      aux_sym_tensor_type_expression_repeat1,
    STATE(94), 3,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
    ACTIONS(361), 21,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
    ACTIONS(363), 23,
      anon_sym_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [2407] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(216), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(218), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [2468] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(180), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(182), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [2529] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(35), 24,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(37), 29,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
      sym_identifier,
  [2590] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(373), 1,
      sym_identifier,
    ACTIONS(375), 1,
      anon_sym_LPAREN,
    ACTIONS(377), 1,
      anon_sym_LBRACK,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(389), 1,
      anon_sym_RPAREN,
    STATE(307), 1,
      aux_sym_tensor_type_expression_repeat1,
    STATE(94), 3,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
    ACTIONS(361), 21,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
    ACTIONS(363), 23,
      anon_sym_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [2665] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(391), 1,
      anon_sym_DOT,
    ACTIONS(393), 1,
      anon_sym_TILDE,
    STATE(92), 2,
      sym_method_call,
      aux_sym__expr80_repeat1,
    ACTIONS(84), 22,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_LBRACE,
    ACTIONS(86), 26,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [2731] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(395), 1,
      anon_sym_DOT,
    ACTIONS(398), 1,
      anon_sym_TILDE,
    STATE(90), 2,
      sym_method_call,
      aux_sym__expr80_repeat1,
    ACTIONS(74), 22,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_LBRACE,
    ACTIONS(79), 26,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [2797] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(407), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
    ACTIONS(405), 4,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
    ACTIONS(403), 22,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(401), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [2861] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(391), 1,
      anon_sym_DOT,
    ACTIONS(393), 1,
      anon_sym_TILDE,
    STATE(90), 2,
      sym_method_call,
      aux_sym__expr80_repeat1,
    ACTIONS(68), 22,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_LBRACE,
    ACTIONS(72), 26,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [2927] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(172), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(174), 27,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [2985] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(280), 23,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_LBRACE,
    ACTIONS(282), 27,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [3043] = 26,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    ACTIONS(409), 1,
      anon_sym_RBRACK,
    STATE(57), 1,
      sym__string_literal,
    STATE(66), 1,
      sym_primitive_type,
    STATE(79), 1,
      sym_type_expression,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(317), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [3146] = 26,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(165), 1,
      sym__if_statement_contents,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(394), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [3249] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(413), 1,
      anon_sym_SLASH_PERCENT,
    STATE(103), 1,
      aux_sym__expr30_repeat1,
    ACTIONS(411), 8,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
    ACTIONS(284), 14,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_LBRACE,
    ACTIONS(286), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [3312] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(413), 1,
      anon_sym_SLASH_PERCENT,
    STATE(97), 1,
      aux_sym__expr30_repeat1,
    ACTIONS(411), 8,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
    ACTIONS(160), 14,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_LBRACE,
    ACTIONS(162), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [3375] = 26,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(161), 1,
      sym__if_statement_contents,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(394), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [3478] = 26,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    ACTIONS(409), 1,
      anon_sym_RBRACK,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(317), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [3581] = 26,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    ACTIONS(415), 1,
      anon_sym_RBRACK,
    STATE(57), 1,
      sym__string_literal,
    STATE(66), 1,
      sym_primitive_type,
    STATE(84), 1,
      sym_type_expression,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(315), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [3684] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(417), 22,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
    ACTIONS(419), 27,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
  [3741] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(424), 1,
      anon_sym_SLASH_PERCENT,
    STATE(103), 1,
      aux_sym__expr30_repeat1,
    ACTIONS(421), 8,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
    ACTIONS(92), 14,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_LBRACE,
    ACTIONS(94), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [3804] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(433), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [3904] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(66), 1,
      sym_primitive_type,
    STATE(88), 1,
      sym_type_expression,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(316), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [4004] = 23,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(439), 1,
      anon_sym_DASH,
    ACTIONS(441), 1,
      anon_sym_TILDE,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    STATE(54), 1,
      sym__expr30,
    STATE(60), 1,
      sym__expr20,
    STATE(91), 1,
      sym__expr17,
    STATE(123), 1,
      sym__expr15,
    STATE(126), 1,
      sym__expr13,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(21), 2,
      sym__expr75,
      sym__expr80,
    STATE(160), 2,
      sym__expression,
      sym__expr10,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [4100] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(389), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [4200] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(300), 22,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_LBRACE,
    ACTIONS(302), 26,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [4256] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(381), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [4356] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(92), 22,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_TILDE_SLASH,
      anon_sym_CARET_SLASH,
      anon_sym_TILDE_PERCENT,
      anon_sym_CARET_PERCENT,
      anon_sym_AMP,
      anon_sym_LBRACE,
    ACTIONS(94), 26,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_SLASH_PERCENT,
  [4412] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(323), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [4512] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(425), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [4612] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(447), 22,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
    ACTIONS(449), 26,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_COLON,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
  [4668] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(437), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [4768] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(316), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [4868] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(387), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [4968] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(341), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [5068] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(66), 1,
      sym_primitive_type,
    STATE(76), 1,
      sym_type_expression,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(341), 2,
      sym__expression,
      sym__expr10,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [5168] = 23,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(439), 1,
      anon_sym_DASH,
    ACTIONS(441), 1,
      anon_sym_TILDE,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    STATE(54), 1,
      sym__expr30,
    STATE(60), 1,
      sym__expr20,
    STATE(91), 1,
      sym__expr17,
    STATE(123), 1,
      sym__expr15,
    STATE(126), 1,
      sym__expr13,
    STATE(153), 1,
      sym__expr10,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(21), 2,
      sym__expr75,
      sym__expr80,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [5263] = 25,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(153), 1,
      sym__expr10,
    STATE(169), 1,
      sym__expr15,
    STATE(173), 1,
      sym__expr13,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [5362] = 22,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(439), 1,
      anon_sym_DASH,
    ACTIONS(441), 1,
      anon_sym_TILDE,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    STATE(54), 1,
      sym__expr30,
    STATE(60), 1,
      sym__expr20,
    STATE(91), 1,
      sym__expr17,
    STATE(113), 1,
      sym__expr13,
    STATE(123), 1,
      sym__expr15,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(21), 2,
      sym__expr75,
      sym__expr80,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [5454] = 24,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(113), 1,
      sym__expr13,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    STATE(152), 1,
      sym__expr17,
    STATE(169), 1,
      sym__expr15,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [5550] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(455), 1,
      anon_sym_QMARK,
    ACTIONS(451), 22,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
    ACTIONS(453), 22,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
  [5605] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(439), 1,
      anon_sym_DASH,
    ACTIONS(441), 1,
      anon_sym_TILDE,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    STATE(54), 1,
      sym__expr30,
    STATE(60), 1,
      sym__expr20,
    STATE(102), 1,
      sym__expr17,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(21), 2,
      sym__expr75,
      sym__expr80,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [5691] = 22,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(102), 1,
      sym__expr17,
    STATE(133), 1,
      sym__expr30,
    STATE(145), 1,
      sym__expr20,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [5781] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(461), 5,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(459), 17,
      anon_sym_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(457), 22,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_TILDE,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [5835] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(439), 1,
      anon_sym_DASH,
    ACTIONS(441), 1,
      anon_sym_TILDE,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    STATE(49), 1,
      sym__expr20,
    STATE(54), 1,
      sym__expr30,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(21), 2,
      sym__expr75,
      sym__expr80,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [5918] = 21,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(116), 1,
      anon_sym_DASH,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(49), 1,
      sym__expr20,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(133), 1,
      sym__expr30,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [6005] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(441), 1,
      anon_sym_TILDE,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    STATE(51), 1,
      sym__expr30,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(21), 2,
      sym__expr75,
      sym__expr80,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [6082] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(441), 1,
      anon_sym_TILDE,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    STATE(55), 1,
      sym__expr30,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(21), 2,
      sym__expr75,
      sym__expr80,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [6159] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(136), 1,
      sym__expr30,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [6240] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(140), 1,
      sym__expr30,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(98), 2,
      sym__expr75,
      sym__expr80,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [6321] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(137), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(463), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(325), 10,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_LBRACE,
    ACTIONS(327), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [6373] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(134), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(465), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(318), 10,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_LBRACE,
    ACTIONS(320), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [6425] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(441), 1,
      anon_sym_TILDE,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(48), 2,
      sym__expr75,
      sym__expr80,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [6499] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(139), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(463), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(314), 10,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_LBRACE,
    ACTIONS(316), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [6551] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(134), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(463), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(314), 10,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_LBRACE,
    ACTIONS(316), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [6603] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(118), 1,
      anon_sym_TILDE,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(110), 2,
      sym__expr75,
      sym__expr80,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [6681] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(134), 1,
      aux_sym__expr20_repeat1,
    ACTIONS(463), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(308), 10,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_LBRACE,
    ACTIONS(310), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [6733] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(318), 14,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_LBRACE,
    ACTIONS(320), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [6780] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(138), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(65), 1,
      sym_type_expression,
    STATE(66), 1,
      sym_primitive_type,
    STATE(108), 1,
      sym__expr80,
    ACTIONS(102), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    STATE(89), 4,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym__expr100,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(61), 6,
      sym__nontype_expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [6854] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(445), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    STATE(47), 1,
      sym__expr80,
    ACTIONS(427), 2,
      sym_identifier,
      sym_underscore,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(8), 11,
      sym__expr90,
      sym_function_application,
      sym_variable_declaration,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [6924] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(468), 9,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(470), 28,
      anon_sym_SEMI,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_forall,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_else,
      anon_sym_elseif,
      anon_sym_elseifnot,
      anon_sym_do,
      anon_sym_until,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [6969] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(472), 9,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(474), 28,
      anon_sym_SEMI,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_forall,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_else,
      anon_sym_elseif,
      anon_sym_elseifnot,
      anon_sym_do,
      anon_sym_until,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7014] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(147), 1,
      aux_sym__expr17_repeat1,
    ACTIONS(476), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
    ACTIONS(353), 6,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LBRACE,
    ACTIONS(355), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [7062] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(478), 1,
      ts_builtin_sym_end,
    ACTIONS(480), 1,
      sym_identifier,
    ACTIONS(483), 1,
      anon_sym_POUNDinclude,
    ACTIONS(486), 1,
      anon_sym_POUNDpragma,
    ACTIONS(489), 1,
      anon_sym_global,
    ACTIONS(492), 1,
      anon_sym_const,
    ACTIONS(495), 1,
      anon_sym_LPAREN,
    ACTIONS(501), 1,
      anon_sym_LBRACK,
    ACTIONS(504), 1,
      sym_var,
    ACTIONS(507), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(510), 1,
      anon_sym_forall,
    ACTIONS(513), 1,
      sym_underscore,
    STATE(180), 1,
      sym_type_variables_list,
    STATE(426), 2,
      sym__type,
      sym_function_type,
    ACTIONS(498), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(146), 7,
      sym__top_level_item,
      sym_include_directive,
      sym_pragma_directive,
      sym_global_var_declarations,
      sym_const_var_declarations,
      sym_function_definition,
      aux_sym_translation_unit_repeat1,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [7136] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(148), 1,
      aux_sym__expr17_repeat1,
    ACTIONS(476), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
    ACTIONS(367), 6,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LBRACE,
    ACTIONS(369), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [7184] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(148), 1,
      aux_sym__expr17_repeat1,
    ACTIONS(516), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_TILDE_GT_GT,
      anon_sym_CARET_GT_GT,
    ACTIONS(304), 6,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
      anon_sym_LBRACE,
    ACTIONS(306), 25,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
  [7232] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(9), 1,
      anon_sym_POUNDinclude,
    ACTIONS(11), 1,
      anon_sym_POUNDpragma,
    ACTIONS(13), 1,
      anon_sym_global,
    ACTIONS(15), 1,
      anon_sym_const,
    ACTIONS(17), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      anon_sym_LBRACK,
    ACTIONS(23), 1,
      sym_var,
    ACTIONS(25), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(27), 1,
      anon_sym_forall,
    ACTIONS(29), 1,
      sym_underscore,
    ACTIONS(519), 1,
      ts_builtin_sym_end,
    STATE(180), 1,
      sym_type_variables_list,
    STATE(426), 2,
      sym__type,
      sym_function_type,
    ACTIONS(19), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(146), 7,
      sym__top_level_item,
      sym_include_directive,
      sym_pragma_directive,
      sym_global_var_declarations,
      sym_const_var_declarations,
      sym_function_definition,
      aux_sym_translation_unit_repeat1,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [7306] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(429), 1,
      anon_sym_LPAREN,
    ACTIONS(433), 1,
      anon_sym_LBRACK,
    ACTIONS(437), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(443), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(523), 1,
      sym_number,
    STATE(3), 1,
      sym__string_literal,
    STATE(19), 1,
      sym_primitive_type,
    ACTIONS(435), 2,
      sym_var,
      anon_sym_type,
    ACTIONS(521), 2,
      sym_identifier,
      sym_underscore,
    STATE(17), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(431), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(31), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(23), 8,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [7370] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(106), 1,
      anon_sym_LPAREN,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(114), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(527), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(66), 1,
      sym_primitive_type,
    ACTIONS(112), 2,
      sym_var,
      anon_sym_type,
    ACTIONS(525), 2,
      sym_identifier,
      sym_underscore,
    STATE(77), 3,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
    STATE(93), 8,
      sym_type_expression,
      sym__nontype_expr100,
      sym__expr100,
      sym_unit_literal,
      sym_parenthesized_expression,
      sym_tensor_expression,
      sym_tuple_expression,
      sym_string,
  [7434] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(401), 3,
      anon_sym_SEMI,
      anon_sym_EQ,
      anon_sym_LBRACE,
    ACTIONS(531), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LT_EQ,
    ACTIONS(529), 4,
      anon_sym_EQ_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ_GT,
    ACTIONS(403), 21,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [7477] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(535), 10,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_COLON,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(533), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7516] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(541), 1,
      anon_sym_else,
    ACTIONS(543), 2,
      anon_sym_elseif,
      anon_sym_elseifnot,
    ACTIONS(539), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(537), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7558] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(547), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(545), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7593] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(551), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(549), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7628] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(555), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(553), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7663] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(559), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(557), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7698] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(563), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(561), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7733] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(567), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(565), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7768] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(571), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(569), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7803] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(575), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(573), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7838] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(579), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(577), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7873] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(583), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(581), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7908] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(587), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(585), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7943] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(591), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(589), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [7978] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(595), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(593), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [8013] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(599), 6,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
      anon_sym_TILDE,
      aux_sym_asm_instruction_token1,
      anon_sym_RBRACE,
      sym_number,
    ACTIONS(597), 21,
      anon_sym_SEMI,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_DASH,
      anon_sym_type,
      anon_sym_return,
      anon_sym_LBRACE,
      anon_sym_repeat,
      anon_sym_if,
      anon_sym_ifnot,
      anon_sym_do,
      anon_sym_while,
      anon_sym_try,
      sym_identifier,
      sym_underscore,
  [8048] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(601), 1,
      anon_sym_QMARK,
    ACTIONS(451), 2,
      anon_sym_SEMI,
      anon_sym_LBRACE,
    ACTIONS(453), 21,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_COLON,
  [8082] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(603), 1,
      sym_identifier,
    ACTIONS(605), 1,
      anon_sym_LPAREN,
    ACTIONS(607), 1,
      anon_sym_RPAREN,
    ACTIONS(609), 1,
      anon_sym_LBRACK,
    ACTIONS(611), 1,
      sym_var,
    ACTIONS(613), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(615), 1,
      sym_underscore,
    STATE(355), 1,
      sym_parameter_declaration,
    STATE(285), 2,
      sym__type,
      sym_function_type,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(282), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8132] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(605), 1,
      anon_sym_LPAREN,
    ACTIONS(609), 1,
      anon_sym_LBRACK,
    ACTIONS(611), 1,
      sym_var,
    ACTIONS(613), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(617), 1,
      sym_identifier,
    ACTIONS(619), 1,
      sym_underscore,
    STATE(327), 1,
      sym__const_var_declaration,
    STATE(386), 2,
      sym__type,
      sym_function_type,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(282), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8179] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(605), 1,
      anon_sym_LPAREN,
    ACTIONS(609), 1,
      anon_sym_LBRACK,
    ACTIONS(611), 1,
      sym_var,
    ACTIONS(613), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(619), 1,
      sym_underscore,
    ACTIONS(621), 1,
      sym_identifier,
    STATE(383), 1,
      sym__global_var_declaration,
    STATE(416), 2,
      sym__type,
      sym_function_type,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(282), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8226] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(457), 2,
      anon_sym_SEMI,
      anon_sym_LBRACE,
    ACTIONS(461), 4,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_COLON,
    ACTIONS(623), 17,
      anon_sym_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_TILDE_SLASH_EQ,
      anon_sym_CARET_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_TILDE_PERCENT_EQ,
      anon_sym_CARET_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_TILDE_GT_GT_EQ,
      anon_sym_CARET_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [8259] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(605), 1,
      anon_sym_LPAREN,
    ACTIONS(609), 1,
      anon_sym_LBRACK,
    ACTIONS(611), 1,
      sym_var,
    ACTIONS(613), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(619), 1,
      sym_underscore,
    ACTIONS(621), 1,
      sym_identifier,
    STATE(325), 1,
      sym__global_var_declaration,
    STATE(416), 2,
      sym__type,
      sym_function_type,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(282), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8306] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(17), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      anon_sym_LBRACK,
    ACTIONS(23), 1,
      sym_var,
    ACTIONS(25), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(29), 1,
      sym_underscore,
    ACTIONS(625), 1,
      anon_sym_RBRACK,
    STATE(321), 2,
      sym__type,
      sym_function_type,
    ACTIONS(19), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8353] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(17), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      anon_sym_LBRACK,
    ACTIONS(23), 1,
      sym_var,
    ACTIONS(25), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(29), 1,
      sym_underscore,
    ACTIONS(627), 1,
      anon_sym_RBRACK,
    STATE(329), 2,
      sym__type,
      sym_function_type,
    ACTIONS(19), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8400] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(603), 1,
      sym_identifier,
    ACTIONS(605), 1,
      anon_sym_LPAREN,
    ACTIONS(609), 1,
      anon_sym_LBRACK,
    ACTIONS(611), 1,
      sym_var,
    ACTIONS(613), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(615), 1,
      sym_underscore,
    STATE(375), 1,
      sym_parameter_declaration,
    STATE(285), 2,
      sym__type,
      sym_function_type,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(282), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8447] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(17), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      anon_sym_LBRACK,
    ACTIONS(23), 1,
      sym_var,
    ACTIONS(25), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(29), 1,
      sym_underscore,
    STATE(361), 2,
      sym__type,
      sym_function_type,
    ACTIONS(19), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8491] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(17), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      anon_sym_LBRACK,
    ACTIONS(23), 1,
      sym_var,
    ACTIONS(25), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(29), 1,
      sym_underscore,
    STATE(297), 2,
      sym__type,
      sym_function_type,
    ACTIONS(19), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8535] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(17), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      anon_sym_LBRACK,
    ACTIONS(23), 1,
      sym_var,
    ACTIONS(25), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(29), 1,
      sym_underscore,
    STATE(406), 2,
      sym__type,
      sym_function_type,
    ACTIONS(19), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8579] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(605), 1,
      anon_sym_LPAREN,
    ACTIONS(609), 1,
      anon_sym_LBRACK,
    ACTIONS(611), 1,
      sym_var,
    ACTIONS(613), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(619), 1,
      sym_underscore,
    ACTIONS(629), 1,
      sym_identifier,
    STATE(291), 2,
      sym__type,
      sym_function_type,
    ACTIONS(108), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(282), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8623] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(17), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      anon_sym_LBRACK,
    ACTIONS(23), 1,
      sym_var,
    ACTIONS(25), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(29), 1,
      sym_underscore,
    STATE(322), 2,
      sym__type,
      sym_function_type,
    ACTIONS(19), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8667] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(17), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      anon_sym_LBRACK,
    ACTIONS(23), 1,
      sym_var,
    ACTIONS(25), 1,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(29), 1,
      sym_underscore,
    STATE(328), 2,
      sym__type,
      sym_function_type,
    ACTIONS(19), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
    STATE(260), 8,
      sym__atomic_type,
      sym__parenthesized_type,
      sym_primitive_type,
      sym_tensor_type,
      sym_tuple_type,
      sym_hole_type,
      sym_unit_type,
      sym_type_identifier,
  [8711] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(631), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(633), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8737] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(635), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(637), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8763] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(639), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(641), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8789] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(643), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(645), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8815] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(647), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(649), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8841] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(651), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(653), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8867] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(655), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(657), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8893] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(659), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(661), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8919] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(663), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(665), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8945] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(667), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(669), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8971] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(671), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(673), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [8997] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(675), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(677), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9023] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(679), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(681), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9049] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(683), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(685), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9075] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(687), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(689), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9101] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(691), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(693), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9127] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(695), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(697), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9153] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(699), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(701), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9179] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(703), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(705), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9205] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(707), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(709), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9231] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(711), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(713), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9257] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(715), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(717), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9283] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(719), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(721), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9309] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(723), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(725), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9335] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(727), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(729), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9361] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(731), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(733), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9387] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(735), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(737), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9413] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(739), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(741), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9439] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(743), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(745), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9465] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(747), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(749), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9491] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(751), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(753), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9517] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(755), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(757), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9543] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(759), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(761), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9569] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(763), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(765), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9595] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(767), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(769), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9621] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(771), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(773), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9647] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(775), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(777), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9673] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(779), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(781), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9699] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(783), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(785), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9725] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(787), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(789), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9751] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(791), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(793), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9777] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(795), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(797), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9803] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(799), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(801), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9829] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(803), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(805), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9855] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(807), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(809), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9881] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(811), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(813), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9907] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(815), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(817), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9933] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(819), 5,
      ts_builtin_sym_end,
      anon_sym_POUNDinclude,
      anon_sym_POUNDpragma,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(821), 13,
      anon_sym_global,
      anon_sym_const,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      anon_sym_forall,
      sym_identifier,
      sym_underscore,
  [9959] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(823), 1,
      anon_sym_LPAREN,
    ACTIONS(827), 1,
      anon_sym_LBRACK,
    STATE(308), 1,
      sym_type_expression,
    ACTIONS(829), 2,
      sym_var,
      anon_sym_type,
    STATE(77), 4,
      sym_primitive_type,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(825), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
  [9990] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(823), 1,
      anon_sym_LPAREN,
    ACTIONS(827), 1,
      anon_sym_LBRACK,
    STATE(309), 1,
      sym_type_expression,
    ACTIONS(829), 2,
      sym_var,
      anon_sym_type,
    STATE(77), 4,
      sym_primitive_type,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(825), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
  [10021] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(823), 1,
      anon_sym_LPAREN,
    ACTIONS(827), 1,
      anon_sym_LBRACK,
    STATE(340), 1,
      sym_type_expression,
    ACTIONS(829), 2,
      sym_var,
      anon_sym_type,
    STATE(77), 4,
      sym_primitive_type,
      sym_parenthesized_type_expression,
      sym_tensor_type_expression,
      sym_tuple_type_expression,
    ACTIONS(825), 6,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
  [10052] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(831), 1,
      anon_sym_SEMI,
    ACTIONS(833), 1,
      anon_sym_impure,
    ACTIONS(835), 1,
      anon_sym_inline,
    ACTIONS(837), 1,
      anon_sym_inline_ref,
    ACTIONS(839), 1,
      anon_sym_method_id,
    ACTIONS(841), 1,
      anon_sym_asm,
    STATE(197), 1,
      sym_asm_function_body,
    STATE(204), 1,
      sym_block_statement,
    STATE(247), 1,
      sym_inline,
    STATE(256), 1,
      sym_method_id,
    STATE(268), 1,
      sym_asm_specifier,
  [10092] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(845), 2,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(843), 10,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      sym_identifier,
      sym_underscore,
  [10112] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(849), 2,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(847), 10,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      sym_identifier,
      sym_underscore,
  [10132] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(835), 1,
      anon_sym_inline,
    ACTIONS(837), 1,
      anon_sym_inline_ref,
    ACTIONS(839), 1,
      anon_sym_method_id,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(851), 1,
      anon_sym_SEMI,
    ACTIONS(853), 1,
      anon_sym_impure,
    STATE(188), 1,
      sym_asm_function_body,
    STATE(189), 1,
      sym_block_statement,
    STATE(245), 1,
      sym_inline,
    STATE(252), 1,
      sym_method_id,
    STATE(268), 1,
      sym_asm_specifier,
  [10172] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(857), 2,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(855), 10,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      sym_identifier,
      sym_underscore,
  [10192] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(861), 2,
      anon_sym_LBRACK,
      anon_sym_LPAREN_RPAREN,
    ACTIONS(859), 10,
      anon_sym_LPAREN,
      anon_sym_int,
      anon_sym_cell,
      anon_sym_slice,
      anon_sym_builder,
      anon_sym_cont,
      anon_sym_tuple,
      sym_var,
      sym_identifier,
      sym_underscore,
  [10212] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(835), 1,
      anon_sym_inline,
    ACTIONS(837), 1,
      anon_sym_inline_ref,
    ACTIONS(839), 1,
      anon_sym_method_id,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(863), 1,
      anon_sym_SEMI,
    STATE(201), 1,
      sym_block_statement,
    STATE(203), 1,
      sym_asm_function_body,
    STATE(246), 1,
      sym_inline,
    STATE(254), 1,
      sym_method_id,
    STATE(268), 1,
      sym_asm_specifier,
  [10249] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(835), 1,
      anon_sym_inline,
    ACTIONS(837), 1,
      anon_sym_inline_ref,
    ACTIONS(839), 1,
      anon_sym_method_id,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(865), 1,
      anon_sym_SEMI,
    STATE(230), 1,
      sym_block_statement,
    STATE(231), 1,
      sym_asm_function_body,
    STATE(244), 1,
      sym_inline,
    STATE(251), 1,
      sym_method_id,
    STATE(268), 1,
      sym_asm_specifier,
  [10286] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(867), 1,
      sym_number,
    STATE(57), 1,
      sym__string_literal,
    STATE(439), 1,
      sym_string,
    STATE(87), 6,
      sym__raw_slice_const,
      sym__slice_const_address,
      sym__int_const_hex,
      sym__string_sha_first_32,
      sym__string_sha_256,
      sym__string_crc_32,
  [10310] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(839), 1,
      anon_sym_method_id,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(869), 1,
      anon_sym_SEMI,
    STATE(225), 1,
      sym_asm_function_body,
    STATE(226), 1,
      sym_block_statement,
    STATE(258), 1,
      sym_method_id,
    STATE(268), 1,
      sym_asm_specifier,
  [10338] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(839), 1,
      anon_sym_method_id,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(863), 1,
      anon_sym_SEMI,
    STATE(201), 1,
      sym_block_statement,
    STATE(203), 1,
      sym_asm_function_body,
    STATE(254), 1,
      sym_method_id,
    STATE(268), 1,
      sym_asm_specifier,
  [10366] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(839), 1,
      anon_sym_method_id,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(871), 1,
      anon_sym_SEMI,
    STATE(193), 1,
      sym_block_statement,
    STATE(195), 1,
      sym_asm_function_body,
    STATE(257), 1,
      sym_method_id,
    STATE(268), 1,
      sym_asm_specifier,
  [10394] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(839), 1,
      anon_sym_method_id,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(865), 1,
      anon_sym_SEMI,
    STATE(230), 1,
      sym_block_statement,
    STATE(231), 1,
      sym_asm_function_body,
    STATE(251), 1,
      sym_method_id,
    STATE(268), 1,
      sym_asm_specifier,
  [10422] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(873), 3,
      anon_sym_SEMI,
      anon_sym_inline,
      anon_sym_LBRACE,
    ACTIONS(875), 4,
      anon_sym_impure,
      anon_sym_inline_ref,
      anon_sym_method_id,
      anon_sym_asm,
  [10437] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(877), 3,
      anon_sym_SEMI,
      anon_sym_inline,
      anon_sym_LBRACE,
    ACTIONS(879), 4,
      anon_sym_impure,
      anon_sym_inline_ref,
      anon_sym_method_id,
      anon_sym_asm,
  [10452] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(881), 3,
      anon_sym_SEMI,
      anon_sym_inline,
      anon_sym_LBRACE,
    ACTIONS(883), 4,
      anon_sym_impure,
      anon_sym_inline_ref,
      anon_sym_method_id,
      anon_sym_asm,
  [10467] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(869), 1,
      anon_sym_SEMI,
    STATE(225), 1,
      sym_asm_function_body,
    STATE(226), 1,
      sym_block_statement,
    STATE(268), 1,
      sym_asm_specifier,
  [10489] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(863), 1,
      anon_sym_SEMI,
    STATE(201), 1,
      sym_block_statement,
    STATE(203), 1,
      sym_asm_function_body,
    STATE(268), 1,
      sym_asm_specifier,
  [10511] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(885), 1,
      anon_sym_SEMI,
    ACTIONS(887), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(890), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(314), 1,
      sym_multiline_asm_instruction,
    STATE(253), 2,
      sym_asm_instruction,
      aux_sym_asm_function_body_repeat1,
  [10531] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(871), 1,
      anon_sym_SEMI,
    STATE(193), 1,
      sym_block_statement,
    STATE(195), 1,
      sym_asm_function_body,
    STATE(268), 1,
      sym_asm_specifier,
  [10553] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(893), 1,
      anon_sym_SEMI,
    ACTIONS(895), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(897), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(314), 1,
      sym_multiline_asm_instruction,
    STATE(253), 2,
      sym_asm_instruction,
      aux_sym_asm_function_body_repeat1,
  [10573] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(865), 1,
      anon_sym_SEMI,
    STATE(230), 1,
      sym_block_statement,
    STATE(231), 1,
      sym_asm_function_body,
    STATE(268), 1,
      sym_asm_specifier,
  [10595] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(899), 1,
      anon_sym_SEMI,
    STATE(210), 1,
      sym_asm_function_body,
    STATE(211), 1,
      sym_block_statement,
    STATE(268), 1,
      sym_asm_specifier,
  [10617] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    ACTIONS(841), 1,
      anon_sym_asm,
    ACTIONS(901), 1,
      anon_sym_SEMI,
    STATE(222), 1,
      sym_block_statement,
    STATE(224), 1,
      sym_asm_function_body,
    STATE(268), 1,
      sym_asm_specifier,
  [10639] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(903), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10650] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(907), 1,
      anon_sym_DASH_GT,
    ACTIONS(905), 4,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10663] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(909), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10674] = 5,
    ACTIONS(911), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(913), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(915), 1,
      aux_sym__multiline_string_fragment_token1,
    ACTIONS(917), 1,
      sym_comment,
    STATE(265), 2,
      sym__multiline_string_fragment,
      aux_sym_multiline_asm_instruction_repeat1,
  [10691] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(919), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10702] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(921), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10713] = 5,
    ACTIONS(911), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(915), 1,
      aux_sym__multiline_string_fragment_token1,
    ACTIONS(917), 1,
      sym_comment,
    ACTIONS(923), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(276), 2,
      sym__multiline_string_fragment,
      aux_sym_multiline_asm_instruction_repeat1,
  [10730] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(925), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10741] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(929), 1,
      sym_underscore,
    ACTIONS(927), 4,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [10754] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(895), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(897), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(314), 1,
      sym_multiline_asm_instruction,
    STATE(255), 2,
      sym_asm_instruction,
      aux_sym_asm_function_body_repeat1,
  [10771] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(933), 1,
      sym_underscore,
    ACTIONS(931), 4,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [10784] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(935), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10795] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(931), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10806] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(937), 1,
      sym_underscore,
    ACTIONS(925), 4,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [10819] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(927), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10830] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(170), 5,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [10841] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(937), 1,
      sym_underscore,
    ACTIONS(925), 2,
      anon_sym_DASH_GT,
      sym_identifier,
    ACTIONS(939), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [10856] = 5,
    ACTIONS(917), 1,
      sym_comment,
    ACTIONS(941), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(944), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(946), 1,
      aux_sym__multiline_string_fragment_token1,
    STATE(276), 2,
      sym__multiline_string_fragment,
      aux_sym_multiline_asm_instruction_repeat1,
  [10873] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(949), 1,
      sym_underscore,
    ACTIONS(921), 4,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [10886] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(951), 1,
      sym_underscore,
    ACTIONS(903), 4,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [10899] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(953), 1,
      sym_underscore,
    ACTIONS(919), 4,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [10912] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(957), 1,
      sym_underscore,
    ACTIONS(935), 2,
      anon_sym_DASH_GT,
      sym_identifier,
    ACTIONS(955), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [10927] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(959), 1,
      sym_underscore,
    ACTIONS(909), 4,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [10940] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(961), 1,
      anon_sym_DASH_GT,
    ACTIONS(963), 1,
      sym_underscore,
    ACTIONS(905), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      sym_identifier,
  [10955] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(957), 1,
      sym_underscore,
    ACTIONS(935), 4,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [10968] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(965), 1,
      sym_identifier,
    ACTIONS(967), 1,
      anon_sym_DASH_GT,
    ACTIONS(969), 1,
      anon_sym_RPAREN,
    STATE(289), 1,
      aux_sym_asm_specifier_repeat1,
  [10984] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(971), 1,
      sym_identifier,
    ACTIONS(975), 1,
      sym_underscore,
    ACTIONS(973), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [10998] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(977), 1,
      anon_sym_COMMA,
    STATE(286), 1,
      aux_sym_tensor_expression_repeat1,
    ACTIONS(980), 2,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [11012] = 4,
    ACTIONS(917), 1,
      sym_comment,
    ACTIONS(984), 1,
      aux_sym__multiline_string_fragment_token1,
    STATE(299), 1,
      aux_sym__multiline_string_fragment_repeat1,
    ACTIONS(982), 2,
      aux_sym_asm_instruction_token1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [11026] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(986), 2,
      anon_sym_SEMI,
      anon_sym_LBRACE,
    ACTIONS(988), 2,
      anon_sym_method_id,
      anon_sym_asm,
  [11038] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(990), 1,
      sym_identifier,
    STATE(289), 1,
      aux_sym_asm_specifier_repeat1,
    ACTIONS(993), 2,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
  [11052] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(997), 1,
      anon_sym_LPAREN,
    ACTIONS(999), 1,
      anon_sym_asm,
    ACTIONS(995), 2,
      anon_sym_SEMI,
      anon_sym_LBRACE,
  [11066] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1003), 1,
      sym_underscore,
    ACTIONS(1001), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      sym_identifier,
  [11078] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1005), 1,
      anon_sym_COMMA,
    STATE(292), 1,
      aux_sym_tensor_type_repeat1,
    ACTIONS(1008), 2,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [11092] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1010), 1,
      anon_sym_SEMI,
    ACTIONS(1012), 1,
      anon_sym_COMMA,
    ACTIONS(925), 2,
      anon_sym_DASH_GT,
      sym_identifier,
  [11106] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1014), 1,
      anon_sym_COMMA,
    STATE(294), 1,
      aux_sym_tensor_type_expression_repeat1,
    ACTIONS(1017), 2,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [11120] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(965), 1,
      sym_identifier,
    ACTIONS(1019), 1,
      anon_sym_DASH_GT,
    ACTIONS(1021), 1,
      anon_sym_RPAREN,
    STATE(284), 1,
      aux_sym_asm_specifier_repeat1,
  [11136] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(1023), 1,
      anon_sym_DASH_GT,
    ACTIONS(1025), 1,
      anon_sym_type,
    STATE(331), 1,
      sym_type_identifier,
  [11152] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1001), 4,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      sym_function_name,
  [11162] = 4,
    ACTIONS(917), 1,
      sym_comment,
    ACTIONS(1029), 1,
      aux_sym__multiline_string_fragment_token1,
    STATE(287), 1,
      aux_sym__multiline_string_fragment_repeat1,
    ACTIONS(1027), 2,
      aux_sym_asm_instruction_token1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [11176] = 4,
    ACTIONS(917), 1,
      sym_comment,
    ACTIONS(1033), 1,
      aux_sym__multiline_string_fragment_token1,
    STATE(299), 1,
      aux_sym__multiline_string_fragment_repeat1,
    ACTIONS(1031), 2,
      aux_sym_asm_instruction_token1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [11190] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 1,
      anon_sym_COMMA,
    ACTIONS(1038), 1,
      anon_sym_DASH_GT,
    STATE(301), 1,
      aux_sym_type_variables_list_repeat1,
  [11203] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 1,
      anon_sym_COMMA,
    ACTIONS(1040), 1,
      anon_sym_DASH_GT,
    STATE(368), 1,
      aux_sym_type_variables_list_repeat1,
  [11216] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1042), 3,
      anon_sym_version,
      anon_sym_not_DASHversion,
      anon_sym_test_DASHversion_DASHset,
  [11225] = 2,
    ACTIONS(917), 1,
      sym_comment,
    ACTIONS(1027), 3,
      aux_sym_asm_instruction_token1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      aux_sym__multiline_string_fragment_token1,
  [11234] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1044), 1,
      anon_sym_SEMI,
    ACTIONS(1046), 1,
      anon_sym_DQUOTE,
    ACTIONS(1048), 1,
      anon_sym_DOT,
  [11247] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(1050), 1,
      anon_sym_RBRACK,
    STATE(294), 1,
      aux_sym_tensor_type_expression_repeat1,
  [11260] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 1,
      anon_sym_COMMA,
    ACTIONS(1054), 1,
      anon_sym_RBRACK,
    STATE(286), 1,
      aux_sym_tensor_expression_repeat1,
  [11273] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(1056), 1,
      anon_sym_RPAREN,
    STATE(294), 1,
      aux_sym_tensor_type_expression_repeat1,
  [11286] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(383), 1,
      anon_sym_RPAREN,
    STATE(357), 1,
      aux_sym_tensor_type_expression_repeat1,
  [11299] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(385), 1,
      anon_sym_RBRACK,
    STATE(360), 1,
      aux_sym_tensor_type_expression_repeat1,
  [11312] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 1,
      anon_sym_COMMA,
    ACTIONS(1058), 1,
      anon_sym_RPAREN,
    STATE(286), 1,
      aux_sym_tensor_expression_repeat1,
  [11325] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 1,
      anon_sym_RPAREN,
    ACTIONS(1062), 1,
      sym_number,
    STATE(311), 1,
      aux_sym_asm_specifier_repeat2,
  [11338] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1065), 1,
      anon_sym_RPAREN,
    ACTIONS(1067), 1,
      sym_number,
    STATE(311), 1,
      aux_sym_asm_specifier_repeat2,
  [11351] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1071), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(1069), 2,
      anon_sym_SEMI,
      aux_sym_asm_instruction_token1,
  [11362] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1075), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(1073), 2,
      anon_sym_SEMI,
      aux_sym_asm_instruction_token1,
  [11373] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 1,
      anon_sym_COMMA,
    ACTIONS(1077), 1,
      anon_sym_RBRACK,
    STATE(306), 1,
      aux_sym_tensor_expression_repeat1,
  [11386] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 1,
      anon_sym_COMMA,
    ACTIONS(1079), 1,
      anon_sym_RPAREN,
    STATE(310), 1,
      aux_sym_tensor_expression_repeat1,
  [11399] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 1,
      anon_sym_COMMA,
    ACTIONS(1081), 1,
      anon_sym_RBRACK,
    STATE(359), 1,
      aux_sym_tensor_expression_repeat1,
  [11412] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1083), 1,
      aux_sym_pragma_directive_token1,
    ACTIONS(1085), 1,
      anon_sym_DQUOTE,
    ACTIONS(1087), 1,
      aux_sym_pragma_directive_token2,
  [11425] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1089), 1,
      anon_sym_COMMA,
    ACTIONS(1091), 1,
      anon_sym_RBRACK,
    STATE(292), 1,
      aux_sym_tensor_type_repeat1,
  [11438] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1089), 1,
      anon_sym_COMMA,
    ACTIONS(1093), 1,
      anon_sym_RPAREN,
    STATE(292), 1,
      aux_sym_tensor_type_repeat1,
  [11451] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1089), 1,
      anon_sym_COMMA,
    ACTIONS(1095), 1,
      anon_sym_RBRACK,
    STATE(319), 1,
      aux_sym_tensor_type_repeat1,
  [11464] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1089), 1,
      anon_sym_COMMA,
    ACTIONS(1097), 1,
      anon_sym_RPAREN,
    STATE(320), 1,
      aux_sym_tensor_type_repeat1,
  [11477] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(980), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [11486] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1099), 1,
      anon_sym_COMMA,
    ACTIONS(1101), 1,
      anon_sym_RPAREN,
    STATE(363), 1,
      aux_sym_parameter_list_repeat1,
  [11499] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1103), 1,
      anon_sym_SEMI,
    ACTIONS(1105), 1,
      anon_sym_COMMA,
    STATE(333), 1,
      aux_sym_global_var_declarations_repeat1,
  [11512] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1107), 1,
      anon_sym_EQ,
    ACTIONS(925), 2,
      anon_sym_DASH_GT,
      sym_identifier,
  [11523] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1109), 1,
      anon_sym_SEMI,
    ACTIONS(1111), 1,
      anon_sym_COMMA,
    STATE(334), 1,
      aux_sym_const_var_declarations_repeat1,
  [11536] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1089), 1,
      anon_sym_COMMA,
    ACTIONS(1113), 1,
      anon_sym_RPAREN,
    STATE(338), 1,
      aux_sym_tensor_type_repeat1,
  [11549] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1089), 1,
      anon_sym_COMMA,
    ACTIONS(1115), 1,
      anon_sym_RBRACK,
    STATE(339), 1,
      aux_sym_tensor_type_repeat1,
  [11562] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1117), 1,
      anon_sym_COMMA,
    ACTIONS(1119), 1,
      anon_sym_RPAREN,
    STATE(336), 1,
      aux_sym_try_statement_repeat1,
  [11575] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 1,
      anon_sym_COMMA,
    ACTIONS(1121), 1,
      anon_sym_DASH_GT,
    STATE(346), 1,
      aux_sym_type_variables_list_repeat1,
  [11588] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1123), 1,
      anon_sym_SEMI,
    ACTIONS(1125), 1,
      anon_sym_DQUOTE,
    ACTIONS(1127), 1,
      anon_sym_DOT,
  [11601] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1105), 1,
      anon_sym_COMMA,
    ACTIONS(1129), 1,
      anon_sym_SEMI,
    STATE(348), 1,
      aux_sym_global_var_declarations_repeat1,
  [11614] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1111), 1,
      anon_sym_COMMA,
    ACTIONS(1131), 1,
      anon_sym_SEMI,
    STATE(351), 1,
      aux_sym_const_var_declarations_repeat1,
  [11627] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1111), 1,
      anon_sym_COMMA,
    ACTIONS(1133), 1,
      anon_sym_SEMI,
    STATE(353), 1,
      aux_sym_const_var_declarations_repeat1,
  [11640] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1117), 1,
      anon_sym_COMMA,
    ACTIONS(1135), 1,
      anon_sym_RPAREN,
    STATE(343), 1,
      aux_sym_try_statement_repeat1,
  [11653] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1117), 1,
      anon_sym_COMMA,
    ACTIONS(1135), 1,
      anon_sym_RPAREN,
    STATE(344), 1,
      aux_sym_try_statement_repeat1,
  [11666] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1089), 1,
      anon_sym_COMMA,
    ACTIONS(1137), 1,
      anon_sym_RPAREN,
    STATE(292), 1,
      aux_sym_tensor_type_repeat1,
  [11679] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1089), 1,
      anon_sym_COMMA,
    ACTIONS(1139), 1,
      anon_sym_RBRACK,
    STATE(292), 1,
      aux_sym_tensor_type_repeat1,
  [11692] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1017), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [11701] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 1,
      anon_sym_COMMA,
    ACTIONS(1141), 1,
      anon_sym_RPAREN,
    STATE(354), 1,
      aux_sym_tensor_expression_repeat1,
  [11714] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(7), 1,
      sym_identifier,
    ACTIONS(1143), 1,
      anon_sym_type,
    STATE(371), 1,
      sym_type_identifier,
  [11727] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1145), 1,
      anon_sym_COMMA,
    ACTIONS(1148), 1,
      anon_sym_RPAREN,
    STATE(343), 1,
      aux_sym_try_statement_repeat1,
  [11740] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1117), 1,
      anon_sym_COMMA,
    ACTIONS(1150), 1,
      anon_sym_RPAREN,
    STATE(343), 1,
      aux_sym_try_statement_repeat1,
  [11753] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1152), 1,
      anon_sym_SEMI,
    ACTIONS(1154), 1,
      anon_sym_DQUOTE,
    ACTIONS(1156), 1,
      anon_sym_DOT,
  [11766] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 1,
      anon_sym_COMMA,
    ACTIONS(1038), 1,
      anon_sym_DASH_GT,
    STATE(368), 1,
      aux_sym_type_variables_list_repeat1,
  [11779] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1158), 1,
      anon_sym_SEMI,
    ACTIONS(1160), 1,
      anon_sym_DQUOTE,
    ACTIONS(1162), 1,
      anon_sym_DOT,
  [11792] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1164), 1,
      anon_sym_SEMI,
    ACTIONS(1166), 1,
      anon_sym_COMMA,
    STATE(348), 1,
      aux_sym_global_var_declarations_repeat1,
  [11805] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1169), 1,
      anon_sym_SEMI,
    ACTIONS(1171), 1,
      anon_sym_DQUOTE,
    ACTIONS(1173), 1,
      anon_sym_DOT,
  [11818] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1177), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(1175), 2,
      anon_sym_SEMI,
      aux_sym_asm_instruction_token1,
  [11829] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1179), 1,
      anon_sym_SEMI,
    ACTIONS(1181), 1,
      anon_sym_COMMA,
    STATE(351), 1,
      aux_sym_const_var_declarations_repeat1,
  [11842] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1184), 1,
      anon_sym_LPAREN,
    ACTIONS(1186), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(1188), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [11855] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1111), 1,
      anon_sym_COMMA,
    ACTIONS(1190), 1,
      anon_sym_SEMI,
    STATE(351), 1,
      aux_sym_const_var_declarations_repeat1,
  [11868] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 1,
      anon_sym_COMMA,
    ACTIONS(1192), 1,
      anon_sym_RPAREN,
    STATE(286), 1,
      aux_sym_tensor_expression_repeat1,
  [11881] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1099), 1,
      anon_sym_COMMA,
    ACTIONS(1194), 1,
      anon_sym_RPAREN,
    STATE(324), 1,
      aux_sym_parameter_list_repeat1,
  [11894] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1198), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(1196), 2,
      anon_sym_SEMI,
      aux_sym_asm_instruction_token1,
  [11905] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(1200), 1,
      anon_sym_RPAREN,
    STATE(294), 1,
      aux_sym_tensor_type_expression_repeat1,
  [11918] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1202), 3,
      anon_sym_DASH_GT,
      anon_sym_RPAREN,
      sym_identifier,
  [11927] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 1,
      anon_sym_COMMA,
    ACTIONS(1204), 1,
      anon_sym_RBRACK,
    STATE(286), 1,
      aux_sym_tensor_expression_repeat1,
  [11940] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(381), 1,
      anon_sym_COMMA,
    ACTIONS(1206), 1,
      anon_sym_RBRACK,
    STATE(294), 1,
      aux_sym_tensor_type_expression_repeat1,
  [11953] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1008), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [11962] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(969), 1,
      anon_sym_RPAREN,
    ACTIONS(1208), 1,
      sym_number,
    STATE(365), 1,
      aux_sym_asm_specifier_repeat2,
  [11975] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1210), 1,
      anon_sym_COMMA,
    ACTIONS(1213), 1,
      anon_sym_RPAREN,
    STATE(363), 1,
      aux_sym_parameter_list_repeat1,
  [11988] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1215), 1,
      anon_sym_RPAREN,
    ACTIONS(1217), 1,
      sym_number,
    STATE(312), 1,
      aux_sym_asm_specifier_repeat2,
  [12001] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1067), 1,
      sym_number,
    ACTIONS(1215), 1,
      anon_sym_RPAREN,
    STATE(311), 1,
      aux_sym_asm_specifier_repeat2,
  [12014] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1219), 1,
      anon_sym_SEMI,
    ACTIONS(1221), 1,
      anon_sym_DQUOTE,
    ACTIONS(1223), 1,
      anon_sym_DOT,
  [12027] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1227), 1,
      anon_sym_asm,
    ACTIONS(1225), 2,
      anon_sym_SEMI,
      anon_sym_LBRACE,
  [12038] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1229), 1,
      anon_sym_COMMA,
    ACTIONS(1232), 1,
      anon_sym_DASH_GT,
    STATE(368), 1,
      aux_sym_type_variables_list_repeat1,
  [12051] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1234), 1,
      sym_identifier,
    STATE(398), 1,
      sym_type_identifier,
  [12061] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1236), 1,
      anon_sym_LPAREN,
    STATE(235), 1,
      sym_parameter_list,
  [12071] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1232), 2,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
  [12079] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1238), 1,
      anon_sym_SEMI,
    ACTIONS(1240), 1,
      anon_sym_DQUOTE,
  [12089] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1242), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(1244), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [12099] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1246), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(1248), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [12109] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1213), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [12117] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    STATE(162), 1,
      sym_block_statement,
  [12127] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1250), 1,
      anon_sym_SEMI,
    ACTIONS(1252), 1,
      anon_sym_DQUOTE,
  [12137] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1254), 1,
      anon_sym_SEMI,
    ACTIONS(1256), 1,
      anon_sym_DQUOTE,
  [12147] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    STATE(407), 1,
      sym_block_statement,
  [12157] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1258), 1,
      anon_sym_SEMI,
    ACTIONS(1260), 1,
      anon_sym_COMMA,
  [12167] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1262), 1,
      anon_sym_SEMI,
    ACTIONS(1264), 1,
      anon_sym_COMMA,
  [12177] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1266), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(1268), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [12187] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1270), 1,
      anon_sym_SEMI,
    ACTIONS(1272), 1,
      anon_sym_COMMA,
  [12197] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1274), 1,
      sym_identifier,
    ACTIONS(1276), 1,
      anon_sym_RPAREN,
  [12207] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1278), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [12215] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1280), 1,
      sym_identifier,
    STATE(335), 1,
      sym__const_var_declaration,
  [12225] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    STATE(158), 1,
      sym_block_statement,
  [12235] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1236), 1,
      anon_sym_LPAREN,
    STATE(238), 1,
      sym_parameter_list,
  [12245] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    STATE(164), 1,
      sym_block_statement,
  [12255] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1119), 1,
      anon_sym_RPAREN,
    ACTIONS(1282), 1,
      sym_identifier,
  [12265] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1234), 1,
      sym_identifier,
    STATE(300), 1,
      sym_type_identifier,
  [12275] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1284), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [12283] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1148), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [12291] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(124), 1,
      anon_sym_LBRACE,
    STATE(154), 1,
      sym_block_statement,
  [12301] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(120), 1,
      aux_sym_asm_instruction_token1,
    STATE(424), 1,
      sym__string_literal,
  [12311] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1286), 1,
      aux_sym_asm_instruction_token1,
    ACTIONS(1288), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [12321] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1290), 1,
      anon_sym_DQUOTE,
    ACTIONS(1292), 1,
      aux_sym_pragma_directive_token2,
  [12331] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1294), 2,
      anon_sym_COMMA,
      anon_sym_DASH_GT,
  [12339] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1296), 1,
      anon_sym_SEMI,
    ACTIONS(1298), 1,
      anon_sym_COMMA,
  [12349] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1280), 1,
      sym_identifier,
    STATE(380), 1,
      sym__const_var_declaration,
  [12359] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1300), 1,
      aux_sym_pragma_directive_token2,
  [12366] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1302), 1,
      anon_sym_catch,
  [12373] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1107), 1,
      anon_sym_EQ,
  [12380] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1292), 1,
      aux_sym_pragma_directive_token2,
  [12387] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1304), 1,
      sym_identifier,
  [12394] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1306), 1,
      sym_function_name,
  [12401] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1308), 1,
      anon_sym_until,
  [12408] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1310), 1,
      anon_sym_LBRACE,
  [12415] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1312), 1,
      aux_sym_pragma_directive_token2,
  [12422] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1169), 1,
      anon_sym_SEMI,
  [12429] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1314), 1,
      aux_sym_pragma_directive_token2,
  [12436] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1316), 1,
      anon_sym_LBRACE,
  [12443] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1318), 1,
      anon_sym_LBRACE,
  [12450] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1158), 1,
      anon_sym_SEMI,
  [12457] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1320), 1,
      anon_sym_SEMI,
  [12464] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1322), 1,
      sym_identifier,
  [12471] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1324), 1,
      anon_sym_LPAREN,
  [12478] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1326), 1,
      aux_sym_pragma_directive_token2,
  [12485] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1328), 1,
      anon_sym_SEMI,
  [12492] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1330), 1,
      anon_sym_SEMI,
  [12499] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1332), 1,
      sym_identifier,
  [12506] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1334), 1,
      anon_sym_LBRACE,
  [12513] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1336), 1,
      anon_sym_LBRACE,
  [12520] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1338), 1,
      anon_sym_SEMI,
  [12527] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1340), 1,
      anon_sym_SEMI,
  [12534] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1342), 1,
      sym_function_name,
  [12541] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1344), 1,
      anon_sym_SEMI,
  [12548] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1346), 1,
      ts_builtin_sym_end,
  [12555] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1348), 1,
      anon_sym_catch,
  [12562] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1350), 1,
      anon_sym_LPAREN,
  [12569] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1352), 1,
      sym_identifier,
  [12576] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1354), 1,
      aux_sym_pragma_directive_token2,
  [12583] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1356), 1,
      anon_sym_COLON,
  [12590] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1358), 1,
      anon_sym_SEMI,
  [12597] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1360), 1,
      anon_sym_SEMI,
  [12604] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1362), 1,
      anon_sym_SEMI,
  [12611] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1364), 1,
      anon_sym_COLON,
  [12618] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1366), 1,
      anon_sym_SEMI,
  [12625] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1368), 1,
      anon_sym_RPAREN,
  [12632] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1370), 1,
      aux_sym_pragma_directive_token2,
  [12639] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1372), 1,
      aux_sym_pragma_directive_token2,
};

static const uint32_t ts_small_parse_table_map[] = {
  [SMALL_STATE(49)] = 0,
  [SMALL_STATE(50)] = 68,
  [SMALL_STATE(51)] = 140,
  [SMALL_STATE(52)] = 212,
  [SMALL_STATE(53)] = 284,
  [SMALL_STATE(54)] = 356,
  [SMALL_STATE(55)] = 428,
  [SMALL_STATE(56)] = 495,
  [SMALL_STATE(57)] = 562,
  [SMALL_STATE(58)] = 641,
  [SMALL_STATE(59)] = 710,
  [SMALL_STATE(60)] = 783,
  [SMALL_STATE(61)] = 852,
  [SMALL_STATE(62)] = 925,
  [SMALL_STATE(63)] = 994,
  [SMALL_STATE(64)] = 1067,
  [SMALL_STATE(65)] = 1131,
  [SMALL_STATE(66)] = 1203,
  [SMALL_STATE(67)] = 1267,
  [SMALL_STATE(68)] = 1328,
  [SMALL_STATE(69)] = 1389,
  [SMALL_STATE(70)] = 1450,
  [SMALL_STATE(71)] = 1511,
  [SMALL_STATE(72)] = 1572,
  [SMALL_STATE(73)] = 1633,
  [SMALL_STATE(74)] = 1694,
  [SMALL_STATE(75)] = 1755,
  [SMALL_STATE(76)] = 1816,
  [SMALL_STATE(77)] = 1891,
  [SMALL_STATE(78)] = 1952,
  [SMALL_STATE(79)] = 2013,
  [SMALL_STATE(80)] = 2088,
  [SMALL_STATE(81)] = 2149,
  [SMALL_STATE(82)] = 2210,
  [SMALL_STATE(83)] = 2271,
  [SMALL_STATE(84)] = 2332,
  [SMALL_STATE(85)] = 2407,
  [SMALL_STATE(86)] = 2468,
  [SMALL_STATE(87)] = 2529,
  [SMALL_STATE(88)] = 2590,
  [SMALL_STATE(89)] = 2665,
  [SMALL_STATE(90)] = 2731,
  [SMALL_STATE(91)] = 2797,
  [SMALL_STATE(92)] = 2861,
  [SMALL_STATE(93)] = 2927,
  [SMALL_STATE(94)] = 2985,
  [SMALL_STATE(95)] = 3043,
  [SMALL_STATE(96)] = 3146,
  [SMALL_STATE(97)] = 3249,
  [SMALL_STATE(98)] = 3312,
  [SMALL_STATE(99)] = 3375,
  [SMALL_STATE(100)] = 3478,
  [SMALL_STATE(101)] = 3581,
  [SMALL_STATE(102)] = 3684,
  [SMALL_STATE(103)] = 3741,
  [SMALL_STATE(104)] = 3804,
  [SMALL_STATE(105)] = 3904,
  [SMALL_STATE(106)] = 4004,
  [SMALL_STATE(107)] = 4100,
  [SMALL_STATE(108)] = 4200,
  [SMALL_STATE(109)] = 4256,
  [SMALL_STATE(110)] = 4356,
  [SMALL_STATE(111)] = 4412,
  [SMALL_STATE(112)] = 4512,
  [SMALL_STATE(113)] = 4612,
  [SMALL_STATE(114)] = 4668,
  [SMALL_STATE(115)] = 4768,
  [SMALL_STATE(116)] = 4868,
  [SMALL_STATE(117)] = 4968,
  [SMALL_STATE(118)] = 5068,
  [SMALL_STATE(119)] = 5168,
  [SMALL_STATE(120)] = 5263,
  [SMALL_STATE(121)] = 5362,
  [SMALL_STATE(122)] = 5454,
  [SMALL_STATE(123)] = 5550,
  [SMALL_STATE(124)] = 5605,
  [SMALL_STATE(125)] = 5691,
  [SMALL_STATE(126)] = 5781,
  [SMALL_STATE(127)] = 5835,
  [SMALL_STATE(128)] = 5918,
  [SMALL_STATE(129)] = 6005,
  [SMALL_STATE(130)] = 6082,
  [SMALL_STATE(131)] = 6159,
  [SMALL_STATE(132)] = 6240,
  [SMALL_STATE(133)] = 6321,
  [SMALL_STATE(134)] = 6373,
  [SMALL_STATE(135)] = 6425,
  [SMALL_STATE(136)] = 6499,
  [SMALL_STATE(137)] = 6551,
  [SMALL_STATE(138)] = 6603,
  [SMALL_STATE(139)] = 6681,
  [SMALL_STATE(140)] = 6733,
  [SMALL_STATE(141)] = 6780,
  [SMALL_STATE(142)] = 6854,
  [SMALL_STATE(143)] = 6924,
  [SMALL_STATE(144)] = 6969,
  [SMALL_STATE(145)] = 7014,
  [SMALL_STATE(146)] = 7062,
  [SMALL_STATE(147)] = 7136,
  [SMALL_STATE(148)] = 7184,
  [SMALL_STATE(149)] = 7232,
  [SMALL_STATE(150)] = 7306,
  [SMALL_STATE(151)] = 7370,
  [SMALL_STATE(152)] = 7434,
  [SMALL_STATE(153)] = 7477,
  [SMALL_STATE(154)] = 7516,
  [SMALL_STATE(155)] = 7558,
  [SMALL_STATE(156)] = 7593,
  [SMALL_STATE(157)] = 7628,
  [SMALL_STATE(158)] = 7663,
  [SMALL_STATE(159)] = 7698,
  [SMALL_STATE(160)] = 7733,
  [SMALL_STATE(161)] = 7768,
  [SMALL_STATE(162)] = 7803,
  [SMALL_STATE(163)] = 7838,
  [SMALL_STATE(164)] = 7873,
  [SMALL_STATE(165)] = 7908,
  [SMALL_STATE(166)] = 7943,
  [SMALL_STATE(167)] = 7978,
  [SMALL_STATE(168)] = 8013,
  [SMALL_STATE(169)] = 8048,
  [SMALL_STATE(170)] = 8082,
  [SMALL_STATE(171)] = 8132,
  [SMALL_STATE(172)] = 8179,
  [SMALL_STATE(173)] = 8226,
  [SMALL_STATE(174)] = 8259,
  [SMALL_STATE(175)] = 8306,
  [SMALL_STATE(176)] = 8353,
  [SMALL_STATE(177)] = 8400,
  [SMALL_STATE(178)] = 8447,
  [SMALL_STATE(179)] = 8491,
  [SMALL_STATE(180)] = 8535,
  [SMALL_STATE(181)] = 8579,
  [SMALL_STATE(182)] = 8623,
  [SMALL_STATE(183)] = 8667,
  [SMALL_STATE(184)] = 8711,
  [SMALL_STATE(185)] = 8737,
  [SMALL_STATE(186)] = 8763,
  [SMALL_STATE(187)] = 8789,
  [SMALL_STATE(188)] = 8815,
  [SMALL_STATE(189)] = 8841,
  [SMALL_STATE(190)] = 8867,
  [SMALL_STATE(191)] = 8893,
  [SMALL_STATE(192)] = 8919,
  [SMALL_STATE(193)] = 8945,
  [SMALL_STATE(194)] = 8971,
  [SMALL_STATE(195)] = 8997,
  [SMALL_STATE(196)] = 9023,
  [SMALL_STATE(197)] = 9049,
  [SMALL_STATE(198)] = 9075,
  [SMALL_STATE(199)] = 9101,
  [SMALL_STATE(200)] = 9127,
  [SMALL_STATE(201)] = 9153,
  [SMALL_STATE(202)] = 9179,
  [SMALL_STATE(203)] = 9205,
  [SMALL_STATE(204)] = 9231,
  [SMALL_STATE(205)] = 9257,
  [SMALL_STATE(206)] = 9283,
  [SMALL_STATE(207)] = 9309,
  [SMALL_STATE(208)] = 9335,
  [SMALL_STATE(209)] = 9361,
  [SMALL_STATE(210)] = 9387,
  [SMALL_STATE(211)] = 9413,
  [SMALL_STATE(212)] = 9439,
  [SMALL_STATE(213)] = 9465,
  [SMALL_STATE(214)] = 9491,
  [SMALL_STATE(215)] = 9517,
  [SMALL_STATE(216)] = 9543,
  [SMALL_STATE(217)] = 9569,
  [SMALL_STATE(218)] = 9595,
  [SMALL_STATE(219)] = 9621,
  [SMALL_STATE(220)] = 9647,
  [SMALL_STATE(221)] = 9673,
  [SMALL_STATE(222)] = 9699,
  [SMALL_STATE(223)] = 9725,
  [SMALL_STATE(224)] = 9751,
  [SMALL_STATE(225)] = 9777,
  [SMALL_STATE(226)] = 9803,
  [SMALL_STATE(227)] = 9829,
  [SMALL_STATE(228)] = 9855,
  [SMALL_STATE(229)] = 9881,
  [SMALL_STATE(230)] = 9907,
  [SMALL_STATE(231)] = 9933,
  [SMALL_STATE(232)] = 9959,
  [SMALL_STATE(233)] = 9990,
  [SMALL_STATE(234)] = 10021,
  [SMALL_STATE(235)] = 10052,
  [SMALL_STATE(236)] = 10092,
  [SMALL_STATE(237)] = 10112,
  [SMALL_STATE(238)] = 10132,
  [SMALL_STATE(239)] = 10172,
  [SMALL_STATE(240)] = 10192,
  [SMALL_STATE(241)] = 10212,
  [SMALL_STATE(242)] = 10249,
  [SMALL_STATE(243)] = 10286,
  [SMALL_STATE(244)] = 10310,
  [SMALL_STATE(245)] = 10338,
  [SMALL_STATE(246)] = 10366,
  [SMALL_STATE(247)] = 10394,
  [SMALL_STATE(248)] = 10422,
  [SMALL_STATE(249)] = 10437,
  [SMALL_STATE(250)] = 10452,
  [SMALL_STATE(251)] = 10467,
  [SMALL_STATE(252)] = 10489,
  [SMALL_STATE(253)] = 10511,
  [SMALL_STATE(254)] = 10531,
  [SMALL_STATE(255)] = 10553,
  [SMALL_STATE(256)] = 10573,
  [SMALL_STATE(257)] = 10595,
  [SMALL_STATE(258)] = 10617,
  [SMALL_STATE(259)] = 10639,
  [SMALL_STATE(260)] = 10650,
  [SMALL_STATE(261)] = 10663,
  [SMALL_STATE(262)] = 10674,
  [SMALL_STATE(263)] = 10691,
  [SMALL_STATE(264)] = 10702,
  [SMALL_STATE(265)] = 10713,
  [SMALL_STATE(266)] = 10730,
  [SMALL_STATE(267)] = 10741,
  [SMALL_STATE(268)] = 10754,
  [SMALL_STATE(269)] = 10771,
  [SMALL_STATE(270)] = 10784,
  [SMALL_STATE(271)] = 10795,
  [SMALL_STATE(272)] = 10806,
  [SMALL_STATE(273)] = 10819,
  [SMALL_STATE(274)] = 10830,
  [SMALL_STATE(275)] = 10841,
  [SMALL_STATE(276)] = 10856,
  [SMALL_STATE(277)] = 10873,
  [SMALL_STATE(278)] = 10886,
  [SMALL_STATE(279)] = 10899,
  [SMALL_STATE(280)] = 10912,
  [SMALL_STATE(281)] = 10927,
  [SMALL_STATE(282)] = 10940,
  [SMALL_STATE(283)] = 10955,
  [SMALL_STATE(284)] = 10968,
  [SMALL_STATE(285)] = 10984,
  [SMALL_STATE(286)] = 10998,
  [SMALL_STATE(287)] = 11012,
  [SMALL_STATE(288)] = 11026,
  [SMALL_STATE(289)] = 11038,
  [SMALL_STATE(290)] = 11052,
  [SMALL_STATE(291)] = 11066,
  [SMALL_STATE(292)] = 11078,
  [SMALL_STATE(293)] = 11092,
  [SMALL_STATE(294)] = 11106,
  [SMALL_STATE(295)] = 11120,
  [SMALL_STATE(296)] = 11136,
  [SMALL_STATE(297)] = 11152,
  [SMALL_STATE(298)] = 11162,
  [SMALL_STATE(299)] = 11176,
  [SMALL_STATE(300)] = 11190,
  [SMALL_STATE(301)] = 11203,
  [SMALL_STATE(302)] = 11216,
  [SMALL_STATE(303)] = 11225,
  [SMALL_STATE(304)] = 11234,
  [SMALL_STATE(305)] = 11247,
  [SMALL_STATE(306)] = 11260,
  [SMALL_STATE(307)] = 11273,
  [SMALL_STATE(308)] = 11286,
  [SMALL_STATE(309)] = 11299,
  [SMALL_STATE(310)] = 11312,
  [SMALL_STATE(311)] = 11325,
  [SMALL_STATE(312)] = 11338,
  [SMALL_STATE(313)] = 11351,
  [SMALL_STATE(314)] = 11362,
  [SMALL_STATE(315)] = 11373,
  [SMALL_STATE(316)] = 11386,
  [SMALL_STATE(317)] = 11399,
  [SMALL_STATE(318)] = 11412,
  [SMALL_STATE(319)] = 11425,
  [SMALL_STATE(320)] = 11438,
  [SMALL_STATE(321)] = 11451,
  [SMALL_STATE(322)] = 11464,
  [SMALL_STATE(323)] = 11477,
  [SMALL_STATE(324)] = 11486,
  [SMALL_STATE(325)] = 11499,
  [SMALL_STATE(326)] = 11512,
  [SMALL_STATE(327)] = 11523,
  [SMALL_STATE(328)] = 11536,
  [SMALL_STATE(329)] = 11549,
  [SMALL_STATE(330)] = 11562,
  [SMALL_STATE(331)] = 11575,
  [SMALL_STATE(332)] = 11588,
  [SMALL_STATE(333)] = 11601,
  [SMALL_STATE(334)] = 11614,
  [SMALL_STATE(335)] = 11627,
  [SMALL_STATE(336)] = 11640,
  [SMALL_STATE(337)] = 11653,
  [SMALL_STATE(338)] = 11666,
  [SMALL_STATE(339)] = 11679,
  [SMALL_STATE(340)] = 11692,
  [SMALL_STATE(341)] = 11701,
  [SMALL_STATE(342)] = 11714,
  [SMALL_STATE(343)] = 11727,
  [SMALL_STATE(344)] = 11740,
  [SMALL_STATE(345)] = 11753,
  [SMALL_STATE(346)] = 11766,
  [SMALL_STATE(347)] = 11779,
  [SMALL_STATE(348)] = 11792,
  [SMALL_STATE(349)] = 11805,
  [SMALL_STATE(350)] = 11818,
  [SMALL_STATE(351)] = 11829,
  [SMALL_STATE(352)] = 11842,
  [SMALL_STATE(353)] = 11855,
  [SMALL_STATE(354)] = 11868,
  [SMALL_STATE(355)] = 11881,
  [SMALL_STATE(356)] = 11894,
  [SMALL_STATE(357)] = 11905,
  [SMALL_STATE(358)] = 11918,
  [SMALL_STATE(359)] = 11927,
  [SMALL_STATE(360)] = 11940,
  [SMALL_STATE(361)] = 11953,
  [SMALL_STATE(362)] = 11962,
  [SMALL_STATE(363)] = 11975,
  [SMALL_STATE(364)] = 11988,
  [SMALL_STATE(365)] = 12001,
  [SMALL_STATE(366)] = 12014,
  [SMALL_STATE(367)] = 12027,
  [SMALL_STATE(368)] = 12038,
  [SMALL_STATE(369)] = 12051,
  [SMALL_STATE(370)] = 12061,
  [SMALL_STATE(371)] = 12071,
  [SMALL_STATE(372)] = 12079,
  [SMALL_STATE(373)] = 12089,
  [SMALL_STATE(374)] = 12099,
  [SMALL_STATE(375)] = 12109,
  [SMALL_STATE(376)] = 12117,
  [SMALL_STATE(377)] = 12127,
  [SMALL_STATE(378)] = 12137,
  [SMALL_STATE(379)] = 12147,
  [SMALL_STATE(380)] = 12157,
  [SMALL_STATE(381)] = 12167,
  [SMALL_STATE(382)] = 12177,
  [SMALL_STATE(383)] = 12187,
  [SMALL_STATE(384)] = 12197,
  [SMALL_STATE(385)] = 12207,
  [SMALL_STATE(386)] = 12215,
  [SMALL_STATE(387)] = 12225,
  [SMALL_STATE(388)] = 12235,
  [SMALL_STATE(389)] = 12245,
  [SMALL_STATE(390)] = 12255,
  [SMALL_STATE(391)] = 12265,
  [SMALL_STATE(392)] = 12275,
  [SMALL_STATE(393)] = 12283,
  [SMALL_STATE(394)] = 12291,
  [SMALL_STATE(395)] = 12301,
  [SMALL_STATE(396)] = 12311,
  [SMALL_STATE(397)] = 12321,
  [SMALL_STATE(398)] = 12331,
  [SMALL_STATE(399)] = 12339,
  [SMALL_STATE(400)] = 12349,
  [SMALL_STATE(401)] = 12359,
  [SMALL_STATE(402)] = 12366,
  [SMALL_STATE(403)] = 12373,
  [SMALL_STATE(404)] = 12380,
  [SMALL_STATE(405)] = 12387,
  [SMALL_STATE(406)] = 12394,
  [SMALL_STATE(407)] = 12401,
  [SMALL_STATE(408)] = 12408,
  [SMALL_STATE(409)] = 12415,
  [SMALL_STATE(410)] = 12422,
  [SMALL_STATE(411)] = 12429,
  [SMALL_STATE(412)] = 12436,
  [SMALL_STATE(413)] = 12443,
  [SMALL_STATE(414)] = 12450,
  [SMALL_STATE(415)] = 12457,
  [SMALL_STATE(416)] = 12464,
  [SMALL_STATE(417)] = 12471,
  [SMALL_STATE(418)] = 12478,
  [SMALL_STATE(419)] = 12485,
  [SMALL_STATE(420)] = 12492,
  [SMALL_STATE(421)] = 12499,
  [SMALL_STATE(422)] = 12506,
  [SMALL_STATE(423)] = 12513,
  [SMALL_STATE(424)] = 12520,
  [SMALL_STATE(425)] = 12527,
  [SMALL_STATE(426)] = 12534,
  [SMALL_STATE(427)] = 12541,
  [SMALL_STATE(428)] = 12548,
  [SMALL_STATE(429)] = 12555,
  [SMALL_STATE(430)] = 12562,
  [SMALL_STATE(431)] = 12569,
  [SMALL_STATE(432)] = 12576,
  [SMALL_STATE(433)] = 12583,
  [SMALL_STATE(434)] = 12590,
  [SMALL_STATE(435)] = 12597,
  [SMALL_STATE(436)] = 12604,
  [SMALL_STATE(437)] = 12611,
  [SMALL_STATE(438)] = 12618,
  [SMALL_STATE(439)] = 12625,
  [SMALL_STATE(440)] = 12632,
  [SMALL_STATE(441)] = 12639,
};

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_EXTRA(),
  [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 0),
  [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266),
  [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395),
  [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302),
  [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174),
  [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171),
  [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183),
  [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(274),
  [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176),
  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260),
  [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263),
  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296),
  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270),
  [31] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 1),
  [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1),
  [35] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1),
  [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1),
  [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26),
  [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20),
  [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33),
  [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35),
  [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36),
  [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38),
  [51] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_application, 2, .production_id = 21),
  [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_application, 2, .production_id = 21),
  [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_application_repeat1, 2), SHIFT_REPEAT(5),
  [58] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_application_repeat1, 2),
  [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_application_repeat1, 2),
  [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_application_repeat1, 2), SHIFT_REPEAT(115),
  [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_application_repeat1, 2), SHIFT_REPEAT(18),
  [68] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr80, 2),
  [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431),
  [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr80, 2),
  [74] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expr80_repeat1, 2),
  [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expr80_repeat1, 2), SHIFT_REPEAT(431),
  [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expr80_repeat1, 2),
  [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr80_repeat1, 2), SHIFT_REPEAT(431),
  [84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr80, 1),
  [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr80, 1),
  [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tensor_type_expression, 4),
  [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tensor_type_expression, 4),
  [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expr30_repeat1, 2),
  [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expr30_repeat1, 2),
  [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr30_repeat1, 2), SHIFT_REPEAT(135),
  [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expr30_repeat1, 2), SHIFT_REPEAT(135),
  [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61),
  [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168),
  [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118),
  [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64),
  [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
  [112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77),
  [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
  [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131),
  [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
  [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
  [122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112),
  [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13),
  [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
  [128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107),
  [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
  [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379),
  [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116),
  [136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422),
  [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
  [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166),
  [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
  [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
  [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429),
  [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_expression, 1),
  [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_expression, 1),
  [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit_literal, 1),
  [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit_literal, 1),
  [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__slice_const_address, 2),
  [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__slice_const_address, 2),
  [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr30, 1),
  [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr30, 1),
  [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135),
  [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
  [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1),
  [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1),
  [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 3, .production_id = 41),
  [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 3, .production_id = 41),
  [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type_expression, 4),
  [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type_expression, 4),
  [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 4),
  [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 4),
  [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__raw_slice_const, 2),
  [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__raw_slice_const, 2),
  [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tensor_expression, 4),
  [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tensor_expression, 4),
  [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
  [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
  [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402),
  [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__int_const_hex, 2),
  [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__int_const_hex, 2),
  [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 2),
  [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 2),
  [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_sha_first_32, 2),
  [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_sha_first_32, 2),
  [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_sha_256, 2),
  [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_sha_256, 2),
  [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
  [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_crc_32, 2),
  [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_crc_32, 2),
  [220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(61),
  [223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(168),
  [226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(118),
  [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(64),
  [232] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(95),
  [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(77),
  [238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(68),
  [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(131),
  [244] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(141),
  [247] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(56),
  [250] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(112),
  [253] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(13),
  [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2),
  [258] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(107),
  [261] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(96),
  [264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(379),
  [267] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(116),
  [270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(422),
  [273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2), SHIFT_REPEAT(61),
  [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
  [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3),
  [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2, .production_id = 20),
  [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, .production_id = 20),
  [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr30, 2),
  [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr30, 2),
  [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type_expression, 3),
  [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type_expression, 3),
  [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 3),
  [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 3),
  [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_expression, 3),
  [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_expression, 3),
  [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr75, 2),
  [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr75, 2),
  [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expr17_repeat1, 2),
  [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expr17_repeat1, 2),
  [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr20, 3),
  [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr20, 3),
  [312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130),
  [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr20, 2),
  [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr20, 2),
  [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expr20_repeat1, 2),
  [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expr20_repeat1, 2),
  [322] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr20_repeat1, 2), SHIFT_REPEAT(130),
  [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr20, 1),
  [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr20, 1),
  [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73),
  [331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72),
  [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71),
  [335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70),
  [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69),
  [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85),
  [341] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr17_repeat1, 2), SHIFT_REPEAT(127),
  [344] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_application_repeat1, 2), SHIFT_REPEAT(59),
  [347] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_application_repeat1, 2), SHIFT_REPEAT(117),
  [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_application_repeat1, 2), SHIFT_REPEAT(68),
  [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr17, 1),
  [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr17, 1),
  [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127),
  [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
  [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr100, 1),
  [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr100, 1),
  [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117),
  [367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr17, 2),
  [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr17, 2),
  [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
  [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
  [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
  [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
  [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nontype_expr100, 1),
  [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
  [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
  [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
  [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
  [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
  [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405),
  [393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(405),
  [395] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expr80_repeat1, 2), SHIFT_REPEAT(405),
  [398] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr80_repeat1, 2), SHIFT_REPEAT(405),
  [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr15, 1),
  [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr15, 1),
  [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
  [407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124),
  [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
  [411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138),
  [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
  [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
  [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr15, 3),
  [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr15, 3),
  [421] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr30_repeat1, 2), SHIFT_REPEAT(138),
  [424] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expr30_repeat1, 2), SHIFT_REPEAT(138),
  [427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8),
  [429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105),
  [431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22),
  [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
  [435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17),
  [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
  [439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129),
  [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
  [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
  [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
  [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr13, 5),
  [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr13, 5),
  [451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr13, 1),
  [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr13, 1),
  [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
  [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr10, 1),
  [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
  [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr10, 1),
  [463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132),
  [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr20_repeat1, 2), SHIFT_REPEAT(132),
  [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_statement, 3),
  [470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_statement, 3),
  [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_statement, 2),
  [474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_statement, 2),
  [476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128),
  [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2),
  [480] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(266),
  [483] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(395),
  [486] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(302),
  [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(174),
  [492] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(171),
  [495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(183),
  [498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(274),
  [501] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(176),
  [504] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(260),
  [507] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(263),
  [510] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(296),
  [513] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(270),
  [516] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr17_repeat1, 2), SHIFT_REPEAT(128),
  [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1),
  [521] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23),
  [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
  [525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93),
  [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
  [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
  [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125),
  [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr10, 3),
  [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr10, 3),
  [537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_statement_contents, 2, .production_id = 46),
  [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_statement_contents, 2, .production_id = 46),
  [541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(376),
  [543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99),
  [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 9),
  [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 9),
  [549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3),
  [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3),
  [553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 10),
  [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 10),
  [557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, .production_id = 47),
  [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, .production_id = 47),
  [561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2),
  [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2),
  [565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 4, .production_id = 53),
  [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 4, .production_id = 53),
  [569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_statement_contents, 4, .production_id = 59),
  [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_statement_contents, 4, .production_id = 59),
  [573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_statement_contents, 4, .production_id = 58),
  [575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_statement_contents, 4, .production_id = 58),
  [577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 12),
  [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 12),
  [581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 3, .production_id = 45),
  [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 3, .production_id = 45),
  [585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 2, .production_id = 36),
  [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 2, .production_id = 36),
  [589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 11),
  [591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 11),
  [593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 8),
  [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 8),
  [597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1),
  [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1),
  [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
  [603] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275),
  [605] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182),
  [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249),
  [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
  [611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282),
  [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279),
  [615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280),
  [617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326),
  [619] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283),
  [621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(293),
  [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
  [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281),
  [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261),
  [629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(272),
  [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, .production_id = 17),
  [633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, .production_id = 17),
  [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 10, .production_id = 57),
  [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 10, .production_id = 57),
  [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 7),
  [641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 7),
  [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 8, .production_id = 52),
  [645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 8, .production_id = 52),
  [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, .production_id = 30),
  [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, .production_id = 30),
  [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, .production_id = 31),
  [653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, .production_id = 31),
  [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 6),
  [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 6),
  [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 8, .production_id = 40),
  [661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 8, .production_id = 40),
  [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 8, .production_id = 51),
  [665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 8, .production_id = 51),
  [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 50),
  [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 50),
  [671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 6, .production_id = 32),
  [673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 6, .production_id = 32),
  [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 49),
  [677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 49),
  [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 48),
  [681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 48),
  [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, .production_id = 18),
  [685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, .production_id = 18),
  [687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function_body, 3),
  [689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_function_body, 3),
  [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 11, .production_id = 60),
  [693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 11, .production_id = 60),
  [695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 9, .production_id = 52),
  [697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 9, .production_id = 52),
  [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 39),
  [701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 39),
  [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, .production_id = 29),
  [705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, .production_id = 29),
  [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 38),
  [709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 38),
  [711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, .production_id = 19),
  [713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, .production_id = 19),
  [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 54),
  [717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 54),
  [719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 7, .production_id = 40),
  [721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 7, .production_id = 40),
  [723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_var_declarations, 4, .production_id = 13),
  [725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_var_declarations, 4, .production_id = 13),
  [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_var_declarations, 4, .production_id = 11),
  [729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_var_declarations, 4, .production_id = 11),
  [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 7, .production_id = 32),
  [733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 7, .production_id = 32),
  [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 55),
  [737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 55),
  [739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 56),
  [741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 56),
  [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_var_declarations, 4, .production_id = 8),
  [745] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_var_declarations, 4, .production_id = 8),
  [747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4),
  [749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 4),
  [751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 10, .production_id = 60),
  [753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 10, .production_id = 60),
  [755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 9, .production_id = 51),
  [757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 9, .production_id = 51),
  [759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, .production_id = 25),
  [761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, .production_id = 25),
  [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_var_declarations, 5, .production_id = 22),
  [765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_var_declarations, 5, .production_id = 22),
  [767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_var_declarations, 3, .production_id = 7),
  [769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_var_declarations, 3, .production_id = 7),
  [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 37),
  [773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 37),
  [775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 5),
  [777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 5),
  [779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_var_declarations, 3, .production_id = 5),
  [781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_var_declarations, 3, .production_id = 5),
  [783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 44),
  [785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 44),
  [787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 33),
  [789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 33),
  [791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 43),
  [793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 43),
  [795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 34),
  [797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 34),
  [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 35),
  [801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 35),
  [803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 42),
  [805] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 42),
  [807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_directive, 3, .production_id = 4),
  [809] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_include_directive, 3, .production_id = 4),
  [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 9, .production_id = 57),
  [813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma_directive, 9, .production_id = 57),
  [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, .production_id = 27),
  [817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, .production_id = 27),
  [819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, .production_id = 26),
  [821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, .production_id = 26),
  [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
  [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274),
  [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
  [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
  [831] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184),
  [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
  [835] = {.entry = {.count = 1, .reusable = false}}, SHIFT(288),
  [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
  [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290),
  [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352),
  [843] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_variables_list, 2),
  [845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variables_list, 2),
  [847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_variables_list, 3),
  [849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variables_list, 3),
  [851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202),
  [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241),
  [855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_variables_list, 4),
  [857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variables_list, 4),
  [859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_variables_list, 5),
  [861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variables_list, 5),
  [863] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219),
  [865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216),
  [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439),
  [869] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223),
  [871] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196),
  [873] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4),
  [875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4),
  [877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2),
  [879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2),
  [881] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3),
  [883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3),
  [885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2),
  [887] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2), SHIFT_REPEAT(313),
  [890] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_asm_function_body_repeat1, 2), SHIFT_REPEAT(262),
  [893] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198),
  [895] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313),
  [897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262),
  [899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(205),
  [901] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227),
  [903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_type, 3),
  [905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1),
  [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
  [909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2),
  [911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298),
  [913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(350),
  [915] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303),
  [917] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
  [919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit_type, 1),
  [921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3),
  [923] = {.entry = {.count = 1, .reusable = false}}, SHIFT(356),
  [925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_identifier, 1, .production_id = 1),
  [927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4),
  [929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4),
  [931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tensor_type, 4),
  [933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tensor_type, 4),
  [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_hole_type, 1, .production_id = 2),
  [937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_identifier, 1, .production_id = 1),
  [939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, .production_id = 14),
  [941] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multiline_asm_instruction_repeat1, 2), SHIFT_REPEAT(298),
  [944] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_multiline_asm_instruction_repeat1, 2),
  [946] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multiline_asm_instruction_repeat1, 2), SHIFT_REPEAT(303),
  [949] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3),
  [951] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_type, 3),
  [953] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit_type, 1),
  [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, .production_id = 15),
  [957] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_hole_type, 1, .production_id = 2),
  [959] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2),
  [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181),
  [963] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 1),
  [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358),
  [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364),
  [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396),
  [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392),
  [973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, .production_id = 16),
  [975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385),
  [977] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tensor_expression_repeat1, 2), SHIFT_REPEAT(111),
  [980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tensor_expression_repeat1, 2),
  [982] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__multiline_string_fragment, 2),
  [984] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299),
  [986] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline, 1),
  [988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline, 1),
  [990] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_asm_specifier_repeat1, 2), SHIFT_REPEAT(358),
  [993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_asm_specifier_repeat1, 2),
  [995] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_id, 1),
  [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243),
  [999] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_id, 1),
  [1001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 3),
  [1003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 3),
  [1005] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tensor_type_repeat1, 2), SHIFT_REPEAT(178),
  [1008] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tensor_type_repeat1, 2),
  [1010] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__global_var_declaration, 1, .production_id = 3),
  [1012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__global_var_declaration, 1, .production_id = 3),
  [1014] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tensor_type_expression_repeat1, 2), SHIFT_REPEAT(234),
  [1017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tensor_type_expression_repeat1, 2),
  [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362),
  [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374),
  [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
  [1025] = {.entry = {.count = 1, .reusable = false}}, SHIFT(391),
  [1027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__multiline_string_fragment, 1),
  [1029] = {.entry = {.count = 1, .reusable = false}}, SHIFT(287),
  [1031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__multiline_string_fragment_repeat1, 2),
  [1033] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__multiline_string_fragment_repeat1, 2), SHIFT_REPEAT(299),
  [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342),
  [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
  [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
  [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318),
  [1044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192),
  [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434),
  [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441),
  [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
  [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
  [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
  [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
  [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
  [1060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_asm_specifier_repeat2, 2),
  [1062] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_asm_specifier_repeat2, 2), SHIFT_REPEAT(311),
  [1065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382),
  [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311),
  [1069] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_instruction, 1, .production_id = 28),
  [1071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_instruction, 1, .production_id = 28),
  [1073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_instruction, 1),
  [1075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_instruction, 1),
  [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
  [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
  [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
  [1083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397),
  [1085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404),
  [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332),
  [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
  [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267),
  [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269),
  [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277),
  [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278),
  [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
  [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248),
  [1103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221),
  [1105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
  [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109),
  [1109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218),
  [1111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400),
  [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
  [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264),
  [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421),
  [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423),
  [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
  [1123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213),
  [1125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414),
  [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418),
  [1129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212),
  [1131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208),
  [1133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207),
  [1135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408),
  [1137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271),
  [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273),
  [1141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
  [1143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(369),
  [1145] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(421),
  [1148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 2),
  [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413),
  [1152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194),
  [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419),
  [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401),
  [1158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220),
  [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410),
  [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409),
  [1164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_global_var_declarations_repeat1, 2, .production_id = 9),
  [1166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_global_var_declarations_repeat1, 2, .production_id = 9), SHIFT_REPEAT(172),
  [1169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190),
  [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436),
  [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440),
  [1175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiline_asm_instruction, 2),
  [1177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiline_asm_instruction, 2),
  [1179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_const_var_declarations_repeat1, 2, .production_id = 12),
  [1181] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_const_var_declarations_repeat1, 2, .production_id = 12), SHIFT_REPEAT(400),
  [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295),
  [1186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_specifier, 1),
  [1188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_specifier, 1),
  [1190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217),
  [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
  [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250),
  [1196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiline_asm_instruction, 3),
  [1198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiline_asm_instruction, 3),
  [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
  [1202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_asm_specifier_repeat1, 1, .production_id = 15),
  [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
  [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
  [1208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365),
  [1210] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(177),
  [1213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2),
  [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373),
  [1217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312),
  [1219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206),
  [1221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438),
  [1223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432),
  [1225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_id, 4),
  [1227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_id, 4),
  [1229] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_variables_list_repeat1, 2), SHIFT_REPEAT(342),
  [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_variables_list_repeat1, 2),
  [1234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266),
  [1236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
  [1238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229),
  [1240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420),
  [1242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_specifier, 5),
  [1244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_specifier, 5),
  [1246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_specifier, 3),
  [1248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_specifier, 3),
  [1250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187),
  [1252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435),
  [1254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214),
  [1256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415),
  [1258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_const_var_declarations_repeat1, 2, .production_id = 7),
  [1260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_const_var_declarations_repeat1, 2, .production_id = 7),
  [1262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__const_var_declaration, 3, .production_id = 10),
  [1264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__const_var_declaration, 3, .production_id = 10),
  [1266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_specifier, 6),
  [1268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_specifier, 6),
  [1270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_global_var_declarations_repeat1, 2, .production_id = 5),
  [1272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_global_var_declarations_repeat1, 2, .production_id = 5),
  [1274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330),
  [1276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412),
  [1278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, .production_id = 24),
  [1280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403),
  [1282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337),
  [1284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, .production_id = 23),
  [1286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_specifier, 4),
  [1288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_specifier, 4),
  [1290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411),
  [1292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347),
  [1294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_variables_list_repeat1, 3),
  [1296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__global_var_declaration, 2, .production_id = 6),
  [1298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__global_var_declaration, 2, .production_id = 6),
  [1300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377),
  [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430),
  [1304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
  [1306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388),
  [1308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106),
  [1310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32),
  [1312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366),
  [1314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349),
  [1316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28),
  [1318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14),
  [1320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199),
  [1322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399),
  [1324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390),
  [1326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345),
  [1328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209),
  [1330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185),
  [1332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393),
  [1334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30),
  [1336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37),
  [1338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228),
  [1340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156),
  [1342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370),
  [1344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159),
  [1346] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
  [1348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417),
  [1350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384),
  [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150),
  [1354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372),
  [1356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
  [1358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215),
  [1360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200),
  [1362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186),
  [1364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
  [1366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191),
  [1368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367),
  [1370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304),
  [1372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378),
};

#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#define extern __declspec(dllexport)
#endif

extern const TSLanguage *tree_sitter_func(void) {
  static const TSLanguage language = {
    .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 = 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
