text: #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 13
  #define STATE_COUNT 414
  #define LARGE_STATE_COUNT 92
  #define SYMBOL_COUNT 181
  #define ALIAS_COUNT 0
  #define TOKEN_COUNT 114
  #define EXTERNAL_TOKEN_COUNT 0
  #define FIELD_COUNT 21
  #define MAX_ALIAS_SEQUENCE_LENGTH 9
  #define PRODUCTION_ID_COUNT 45
  
  enum {
    sym_identifier = 1,
    anon_sym_SEMI = 2,
    anon_sym_return = 3,
    anon_sym_if = 4,
    anon_sym_else = 5,
    anon_sym_while = 6,
    anon_sym_LPAREN = 7,
    anon_sym_RPAREN = 8,
    anon_sym_for = 9,
    anon_sym_defer = 10,
    anon_sym_COLON_COLON = 11,
    sym_type_identifier = 12,
    sym_const_identifier = 13,
    anon_sym_private = 14,
    anon_sym_public = 15,
    anon_sym_LBRACE = 16,
    anon_sym_COMMA = 17,
    anon_sym_RBRACE = 18,
    anon_sym_true = 19,
    anon_sym_false = 20,
    anon_sym_SQUOTE = 21,
    aux_sym_char_literal_token1 = 22,
    anon_sym_DQUOTE = 23,
    aux_sym__string_literal_token1 = 24,
    anon_sym_BQUOTE = 25,
    aux_sym__raw_string_literal_token1 = 26,
    anon_sym_DQUOTE_DQUOTE_DQUOTE = 27,
    aux_sym__multiline_string_literal_token1 = 28,
    anon_sym_x_DQUOTE = 29,
    aux_sym__hex_string_literal_token1 = 30,
    anon_sym_b64_DQUOTE = 31,
    aux_sym__base64_string_literal_token1 = 32,
    sym_escape_sequence = 33,
    sym_integer_literal = 34,
    sym_float_literal = 35,
    sym_nil_literal = 36,
    anon_sym_EQ = 37,
    anon_sym_PLUS_EQ = 38,
    anon_sym_DASH_EQ = 39,
    anon_sym_STAR_EQ = 40,
    anon_sym_SLASH_EQ = 41,
    anon_sym_PERCENT_EQ = 42,
    anon_sym_STAR_PERCENT_EQ = 43,
    anon_sym_AMP_EQ = 44,
    anon_sym_PIPE_EQ = 45,
    anon_sym_CARET_EQ = 46,
    anon_sym_LT_LT_EQ = 47,
    anon_sym_GT_GT_EQ = 48,
    anon_sym_DASH = 49,
    anon_sym_STAR = 50,
    anon_sym_BANG = 51,
    anon_sym_TILDE = 52,
    anon_sym_AMP = 53,
    anon_sym_AMP_AMP = 54,
    anon_sym_AT = 55,
    anon_sym_DASH_DASH = 56,
    anon_sym_PLUS_PLUS = 57,
    anon_sym_PLUS = 58,
    anon_sym_SLASH = 59,
    anon_sym_PERCENT = 60,
    anon_sym_STAR_PERCENT = 61,
    anon_sym_PIPE_PIPE = 62,
    anon_sym_PIPE = 63,
    anon_sym_CARET = 64,
    anon_sym_EQ_EQ = 65,
    anon_sym_BANG_EQ = 66,
    anon_sym_GT = 67,
    anon_sym_GT_EQ = 68,
    anon_sym_LT_EQ = 69,
    anon_sym_LT = 70,
    anon_sym_LT_LT = 71,
    anon_sym_GT_GT = 72,
    anon_sym_DOT_DOT = 73,
    anon_sym_LBRACK = 74,
    anon_sym_RBRACK = 75,
    anon_sym_DOT = 76,
    anon_sym_try = 77,
    anon_sym_catch = 78,
    anon_sym_void = 79,
    anon_sym_bool = 80,
    anon_sym_ichar = 81,
    anon_sym_char = 82,
    anon_sym_short = 83,
    anon_sym_ushort = 84,
    anon_sym_int = 85,
    anon_sym_uint = 86,
    anon_sym_long = 87,
    anon_sym_ulong = 88,
    anon_sym_iptr = 89,
    anon_sym_uptr = 90,
    anon_sym_iptrdiff = 91,
    anon_sym_uptrdiff = 92,
    anon_sym_isize = 93,
    anon_sym_usize = 94,
    anon_sym_half = 95,
    anon_sym_float = 96,
    anon_sym_double = 97,
    anon_sym_quad = 98,
    anon_sym_fn = 99,
    anon_sym_module = 100,
    anon_sym_import = 101,
    anon_sym_extern = 102,
    anon_sym_DOT_DOT_DOT = 103,
    anon_sym_const = 104,
    anon_sym_define = 105,
    anon_sym_distinct = 106,
    anon_sym_struct = 107,
    anon_sym_union = 108,
    anon_sym_inline = 109,
    anon_sym_enum = 110,
    anon_sym_COLON = 111,
    anon_sym_errtype = 112,
    sym_comment = 113,
    sym_source_file = 114,
    sym_expression_statement = 115,
    sym_return_statement = 116,
    sym_if_statement = 117,
    sym_while_statement = 118,
    sym_parenthesized_declaration = 119,
    sym_for_statement = 120,
    sym_defer_statement = 121,
    sym_scoped_identifier = 122,
    sym_scoped_type_identifier = 123,
    sym_visiblitiy_modifier = 124,
    sym_initializers = 125,
    sym_boolean_literal = 126,
    sym_char_literal = 127,
    sym_string_literal = 128,
    sym__hex_string_literal = 129,
    sym__base64_string_literal = 130,
    sym_assignment_expression = 131,
    sym_unary_expression = 132,
    sym_binary_expression = 133,
    sym_parenthesized_expression = 134,
    sym_range_expression = 135,
    sym_subscript_expression = 136,
    sym_call_expression = 137,
    sym_arguments = 138,
    sym_field_expression = 139,
    sym_try_expression = 140,
    sym_catch_expression = 141,
    sym_primitive_type = 142,
    sym_pointer_type = 143,
    sym_function_pointer_type = 144,
    sym_failable_type = 145,
    sym_array_type = 146,
    sym_module_declaration = 147,
    sym_type_parameters = 148,
    sym_import_declaration = 149,
    sym_function_declaration = 150,
    sym_compound_statement = 151,
    sym_parameters = 152,
    sym_parameter = 153,
    sym_variadic_parameter = 154,
    sym_attributes = 155,
    sym_attribute = 156,
    sym_const_declaration = 157,
    sym_var_declaration = 158,
    sym_define_declaration = 159,
    sym_struct_declaration = 160,
    sym_union_declaration = 161,
    sym_field_declarations = 162,
    sym_field_declaration = 163,
    sym_field_struct_declaration = 164,
    sym_field_union_declaration = 165,
    sym_enum_declaration = 166,
    sym_enumerators = 167,
    sym_enumerator = 168,
    sym_error_declaration = 169,
    aux_sym_source_file_repeat1 = 170,
    aux_sym_initializers_repeat1 = 171,
    aux_sym__string_literal_repeat1 = 172,
    aux_sym__raw_string_literal_repeat1 = 173,
    aux_sym__multiline_string_literal_repeat1 = 174,
    aux_sym_type_parameters_repeat1 = 175,
    aux_sym_compound_statement_repeat1 = 176,
    aux_sym_parameters_repeat1 = 177,
    aux_sym_attributes_repeat1 = 178,
    aux_sym_field_declarations_repeat1 = 179,
    aux_sym_enumerators_repeat1 = 180,
  };
  
  static const char * const ts_symbol_names[] = {
    [ts_builtin_sym_end] = "end",
    [sym_identifier] = "identifier",
    [anon_sym_SEMI] = ";",
    [anon_sym_return] = "return",
    [anon_sym_if] = "if",
    [anon_sym_else] = "else",
    [anon_sym_while] = "while",
    [anon_sym_LPAREN] = "(",
    [anon_sym_RPAREN] = ")",
    [anon_sym_for] = "for",
    [anon_sym_defer] = "defer",
    [anon_sym_COLON_COLON] = "::",
    [sym_type_identifier] = "type_identifier",
    [sym_const_identifier] = "const_identifier",
    [anon_sym_private] = "private",
    [anon_sym_public] = "public",
    [anon_sym_LBRACE] = "{",
    [anon_sym_COMMA] = ",",
    [anon_sym_RBRACE] = "}",
    [anon_sym_true] = "true",
    [anon_sym_false] = "false",
    [anon_sym_SQUOTE] = "'",
    [aux_sym_char_literal_token1] = "char_literal_token1",
    [anon_sym_DQUOTE] = "\"",
    [aux_sym__string_literal_token1] = "_string_literal_token1",
    [anon_sym_BQUOTE] = "`",
    [aux_sym__raw_string_literal_token1] = "_raw_string_literal_token1",
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = "\"\"\"",
    [aux_sym__multiline_string_literal_token1] = "_multiline_string_literal_token1",
    [anon_sym_x_DQUOTE] = "x\"",
    [aux_sym__hex_string_literal_token1] = "_hex_string_literal_token1",
    [anon_sym_b64_DQUOTE] = "b64\"",
    [aux_sym__base64_string_literal_token1] = "_base64_string_literal_token1",
    [sym_escape_sequence] = "escape_sequence",
    [sym_integer_literal] = "integer_literal",
    [sym_float_literal] = "float_literal",
    [sym_nil_literal] = "nil_literal",
    [anon_sym_EQ] = "=",
    [anon_sym_PLUS_EQ] = "+=",
    [anon_sym_DASH_EQ] = "-=",
    [anon_sym_STAR_EQ] = "*=",
    [anon_sym_SLASH_EQ] = "/=",
    [anon_sym_PERCENT_EQ] = "%=",
    [anon_sym_STAR_PERCENT_EQ] = "*%=",
    [anon_sym_AMP_EQ] = "&=",
    [anon_sym_PIPE_EQ] = "|=",
    [anon_sym_CARET_EQ] = "^=",
    [anon_sym_LT_LT_EQ] = "<<=",
    [anon_sym_GT_GT_EQ] = ">>=",
    [anon_sym_DASH] = "-",
    [anon_sym_STAR] = "*",
    [anon_sym_BANG] = "!",
    [anon_sym_TILDE] = "~",
    [anon_sym_AMP] = "&",
    [anon_sym_AMP_AMP] = "&&",
    [anon_sym_AT] = "@",
    [anon_sym_DASH_DASH] = "--",
    [anon_sym_PLUS_PLUS] = "++",
    [anon_sym_PLUS] = "+",
    [anon_sym_SLASH] = "/",
    [anon_sym_PERCENT] = "%",
    [anon_sym_STAR_PERCENT] = "*%",
    [anon_sym_PIPE_PIPE] = "||",
    [anon_sym_PIPE] = "|",
    [anon_sym_CARET] = "^",
    [anon_sym_EQ_EQ] = "==",
    [anon_sym_BANG_EQ] = "!=",
    [anon_sym_GT] = ">",
    [anon_sym_GT_EQ] = ">=",
    [anon_sym_LT_EQ] = "<=",
    [anon_sym_LT] = "<",
    [anon_sym_LT_LT] = "<<",
    [anon_sym_GT_GT] = ">>",
    [anon_sym_DOT_DOT] = "..",
    [anon_sym_LBRACK] = "[",
    [anon_sym_RBRACK] = "]",
    [anon_sym_DOT] = ".",
    [anon_sym_try] = "try",
    [anon_sym_catch] = "catch",
    [anon_sym_void] = "void",
    [anon_sym_bool] = "bool",
    [anon_sym_ichar] = "ichar",
    [anon_sym_char] = "char",
    [anon_sym_short] = "short",
    [anon_sym_ushort] = "ushort",
    [anon_sym_int] = "int",
    [anon_sym_uint] = "uint",
    [anon_sym_long] = "long",
    [anon_sym_ulong] = "ulong",
    [anon_sym_iptr] = "iptr",
    [anon_sym_uptr] = "uptr",
    [anon_sym_iptrdiff] = "iptrdiff",
    [anon_sym_uptrdiff] = "uptrdiff",
    [anon_sym_isize] = "isize",
    [anon_sym_usize] = "usize",
    [anon_sym_half] = "half",
    [anon_sym_float] = "float",
    [anon_sym_double] = "double",
    [anon_sym_quad] = "quad",
    [anon_sym_fn] = "fn",
    [anon_sym_module] = "module",
    [anon_sym_import] = "import",
    [anon_sym_extern] = "extern",
    [anon_sym_DOT_DOT_DOT] = "...",
    [anon_sym_const] = "const",
    [anon_sym_define] = "define",
    [anon_sym_distinct] = "distinct",
    [anon_sym_struct] = "struct",
    [anon_sym_union] = "union",
    [anon_sym_inline] = "inline",
    [anon_sym_enum] = "enum",
    [anon_sym_COLON] = ":",
    [anon_sym_errtype] = "errtype",
    [sym_comment] = "comment",
    [sym_source_file] = "source_file",
    [sym_expression_statement] = "expression_statement",
    [sym_return_statement] = "return_statement",
    [sym_if_statement] = "if_statement",
    [sym_while_statement] = "while_statement",
    [sym_parenthesized_declaration] = "parenthesized_declaration",
    [sym_for_statement] = "for_statement",
    [sym_defer_statement] = "defer_statement",
    [sym_scoped_identifier] = "scoped_identifier",
    [sym_scoped_type_identifier] = "scoped_type_identifier",
    [sym_visiblitiy_modifier] = "visiblitiy_modifier",
    [sym_initializers] = "initializers",
    [sym_boolean_literal] = "boolean_literal",
    [sym_char_literal] = "char_literal",
    [sym_string_literal] = "string_literal",
    [sym__hex_string_literal] = "_hex_string_literal",
    [sym__base64_string_literal] = "_base64_string_literal",
    [sym_assignment_expression] = "assignment_expression",
    [sym_unary_expression] = "unary_expression",
    [sym_binary_expression] = "binary_expression",
    [sym_parenthesized_expression] = "parenthesized_expression",
    [sym_range_expression] = "range_expression",
    [sym_subscript_expression] = "subscript_expression",
    [sym_call_expression] = "call_expression",
    [sym_arguments] = "arguments",
    [sym_field_expression] = "field_expression",
    [sym_try_expression] = "try_expression",
    [sym_catch_expression] = "catch_expression",
    [sym_primitive_type] = "primitive_type",
    [sym_pointer_type] = "pointer_type",
    [sym_function_pointer_type] = "function_pointer_type",
    [sym_failable_type] = "failable_type",
    [sym_array_type] = "array_type",
    [sym_module_declaration] = "module_declaration",
    [sym_type_parameters] = "type_parameters",
    [sym_import_declaration] = "import_declaration",
    [sym_function_declaration] = "function_declaration",
    [sym_compound_statement] = "compound_statement",
    [sym_parameters] = "parameters",
    [sym_parameter] = "parameter",
    [sym_variadic_parameter] = "variadic_parameter",
    [sym_attributes] = "attributes",
    [sym_attribute] = "attribute",
    [sym_const_declaration] = "const_declaration",
    [sym_var_declaration] = "var_declaration",
    [sym_define_declaration] = "define_declaration",
    [sym_struct_declaration] = "struct_declaration",
    [sym_union_declaration] = "union_declaration",
    [sym_field_declarations] = "field_declarations",
    [sym_field_declaration] = "field_declaration",
    [sym_field_struct_declaration] = "field_struct_declaration",
    [sym_field_union_declaration] = "field_union_declaration",
    [sym_enum_declaration] = "enum_declaration",
    [sym_enumerators] = "enumerators",
    [sym_enumerator] = "enumerator",
    [sym_error_declaration] = "error_declaration",
    [aux_sym_source_file_repeat1] = "source_file_repeat1",
    [aux_sym_initializers_repeat1] = "initializers_repeat1",
    [aux_sym__string_literal_repeat1] = "_string_literal_repeat1",
    [aux_sym__raw_string_literal_repeat1] = "_raw_string_literal_repeat1",
    [aux_sym__multiline_string_literal_repeat1] = "_multiline_string_literal_repeat1",
    [aux_sym_type_parameters_repeat1] = "type_parameters_repeat1",
    [aux_sym_compound_statement_repeat1] = "compound_statement_repeat1",
    [aux_sym_parameters_repeat1] = "parameters_repeat1",
    [aux_sym_attributes_repeat1] = "attributes_repeat1",
    [aux_sym_field_declarations_repeat1] = "field_declarations_repeat1",
    [aux_sym_enumerators_repeat1] = "enumerators_repeat1",
  };
  
  static const TSSymbol ts_symbol_map[] = {
    [ts_builtin_sym_end] = ts_builtin_sym_end,
    [sym_identifier] = sym_identifier,
    [anon_sym_SEMI] = anon_sym_SEMI,
    [anon_sym_return] = anon_sym_return,
    [anon_sym_if] = anon_sym_if,
    [anon_sym_else] = anon_sym_else,
    [anon_sym_while] = anon_sym_while,
    [anon_sym_LPAREN] = anon_sym_LPAREN,
    [anon_sym_RPAREN] = anon_sym_RPAREN,
    [anon_sym_for] = anon_sym_for,
    [anon_sym_defer] = anon_sym_defer,
    [anon_sym_COLON_COLON] = anon_sym_COLON_COLON,
    [sym_type_identifier] = sym_type_identifier,
    [sym_const_identifier] = sym_const_identifier,
    [anon_sym_private] = anon_sym_private,
    [anon_sym_public] = anon_sym_public,
    [anon_sym_LBRACE] = anon_sym_LBRACE,
    [anon_sym_COMMA] = anon_sym_COMMA,
    [anon_sym_RBRACE] = anon_sym_RBRACE,
    [anon_sym_true] = anon_sym_true,
    [anon_sym_false] = anon_sym_false,
    [anon_sym_SQUOTE] = anon_sym_SQUOTE,
    [aux_sym_char_literal_token1] = aux_sym_char_literal_token1,
    [anon_sym_DQUOTE] = anon_sym_DQUOTE,
    [aux_sym__string_literal_token1] = aux_sym__string_literal_token1,
    [anon_sym_BQUOTE] = anon_sym_BQUOTE,
    [aux_sym__raw_string_literal_token1] = aux_sym__raw_string_literal_token1,
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = anon_sym_DQUOTE_DQUOTE_DQUOTE,
    [aux_sym__multiline_string_literal_token1] = aux_sym__multiline_string_literal_token1,
    [anon_sym_x_DQUOTE] = anon_sym_x_DQUOTE,
    [aux_sym__hex_string_literal_token1] = aux_sym__hex_string_literal_token1,
    [anon_sym_b64_DQUOTE] = anon_sym_b64_DQUOTE,
    [aux_sym__base64_string_literal_token1] = aux_sym__base64_string_literal_token1,
    [sym_escape_sequence] = sym_escape_sequence,
    [sym_integer_literal] = sym_integer_literal,
    [sym_float_literal] = sym_float_literal,
    [sym_nil_literal] = sym_nil_literal,
    [anon_sym_EQ] = anon_sym_EQ,
    [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ,
    [anon_sym_DASH_EQ] = anon_sym_DASH_EQ,
    [anon_sym_STAR_EQ] = anon_sym_STAR_EQ,
    [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ,
    [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ,
    [anon_sym_STAR_PERCENT_EQ] = anon_sym_STAR_PERCENT_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_LT_LT_EQ] = anon_sym_LT_LT_EQ,
    [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ,
    [anon_sym_DASH] = anon_sym_DASH,
    [anon_sym_STAR] = anon_sym_STAR,
    [anon_sym_BANG] = anon_sym_BANG,
    [anon_sym_TILDE] = anon_sym_TILDE,
    [anon_sym_AMP] = anon_sym_AMP,
    [anon_sym_AMP_AMP] = anon_sym_AMP_AMP,
    [anon_sym_AT] = anon_sym_AT,
    [anon_sym_DASH_DASH] = anon_sym_DASH_DASH,
    [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS,
    [anon_sym_PLUS] = anon_sym_PLUS,
    [anon_sym_SLASH] = anon_sym_SLASH,
    [anon_sym_PERCENT] = anon_sym_PERCENT,
    [anon_sym_STAR_PERCENT] = anon_sym_STAR_PERCENT,
    [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE,
    [anon_sym_PIPE] = anon_sym_PIPE,
    [anon_sym_CARET] = anon_sym_CARET,
    [anon_sym_EQ_EQ] = anon_sym_EQ_EQ,
    [anon_sym_BANG_EQ] = anon_sym_BANG_EQ,
    [anon_sym_GT] = anon_sym_GT,
    [anon_sym_GT_EQ] = anon_sym_GT_EQ,
    [anon_sym_LT_EQ] = anon_sym_LT_EQ,
    [anon_sym_LT] = anon_sym_LT,
    [anon_sym_LT_LT] = anon_sym_LT_LT,
    [anon_sym_GT_GT] = anon_sym_GT_GT,
    [anon_sym_DOT_DOT] = anon_sym_DOT_DOT,
    [anon_sym_LBRACK] = anon_sym_LBRACK,
    [anon_sym_RBRACK] = anon_sym_RBRACK,
    [anon_sym_DOT] = anon_sym_DOT,
    [anon_sym_try] = anon_sym_try,
    [anon_sym_catch] = anon_sym_catch,
    [anon_sym_void] = anon_sym_void,
    [anon_sym_bool] = anon_sym_bool,
    [anon_sym_ichar] = anon_sym_ichar,
    [anon_sym_char] = anon_sym_char,
    [anon_sym_short] = anon_sym_short,
    [anon_sym_ushort] = anon_sym_ushort,
    [anon_sym_int] = anon_sym_int,
    [anon_sym_uint] = anon_sym_uint,
    [anon_sym_long] = anon_sym_long,
    [anon_sym_ulong] = anon_sym_ulong,
    [anon_sym_iptr] = anon_sym_iptr,
    [anon_sym_uptr] = anon_sym_uptr,
    [anon_sym_iptrdiff] = anon_sym_iptrdiff,
    [anon_sym_uptrdiff] = anon_sym_uptrdiff,
    [anon_sym_isize] = anon_sym_isize,
    [anon_sym_usize] = anon_sym_usize,
    [anon_sym_half] = anon_sym_half,
    [anon_sym_float] = anon_sym_float,
    [anon_sym_double] = anon_sym_double,
    [anon_sym_quad] = anon_sym_quad,
    [anon_sym_fn] = anon_sym_fn,
    [anon_sym_module] = anon_sym_module,
    [anon_sym_import] = anon_sym_import,
    [anon_sym_extern] = anon_sym_extern,
    [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT,
    [anon_sym_const] = anon_sym_const,
    [anon_sym_define] = anon_sym_define,
    [anon_sym_distinct] = anon_sym_distinct,
    [anon_sym_struct] = anon_sym_struct,
    [anon_sym_union] = anon_sym_union,
    [anon_sym_inline] = anon_sym_inline,
    [anon_sym_enum] = anon_sym_enum,
    [anon_sym_COLON] = anon_sym_COLON,
    [anon_sym_errtype] = anon_sym_errtype,
    [sym_comment] = sym_comment,
    [sym_source_file] = sym_source_file,
    [sym_expression_statement] = sym_expression_statement,
    [sym_return_statement] = sym_return_statement,
    [sym_if_statement] = sym_if_statement,
    [sym_while_statement] = sym_while_statement,
    [sym_parenthesized_declaration] = sym_parenthesized_declaration,
    [sym_for_statement] = sym_for_statement,
    [sym_defer_statement] = sym_defer_statement,
    [sym_scoped_identifier] = sym_scoped_identifier,
    [sym_scoped_type_identifier] = sym_scoped_type_identifier,
    [sym_visiblitiy_modifier] = sym_visiblitiy_modifier,
    [sym_initializers] = sym_initializers,
    [sym_boolean_literal] = sym_boolean_literal,
    [sym_char_literal] = sym_char_literal,
    [sym_string_literal] = sym_string_literal,
    [sym__hex_string_literal] = sym__hex_string_literal,
    [sym__base64_string_literal] = sym__base64_string_literal,
    [sym_assignment_expression] = sym_assignment_expression,
    [sym_unary_expression] = sym_unary_expression,
    [sym_binary_expression] = sym_binary_expression,
    [sym_parenthesized_expression] = sym_parenthesized_expression,
    [sym_range_expression] = sym_range_expression,
    [sym_subscript_expression] = sym_subscript_expression,
    [sym_call_expression] = sym_call_expression,
    [sym_arguments] = sym_arguments,
    [sym_field_expression] = sym_field_expression,
    [sym_try_expression] = sym_try_expression,
    [sym_catch_expression] = sym_catch_expression,
    [sym_primitive_type] = sym_primitive_type,
    [sym_pointer_type] = sym_pointer_type,
    [sym_function_pointer_type] = sym_function_pointer_type,
    [sym_failable_type] = sym_failable_type,
    [sym_array_type] = sym_array_type,
    [sym_module_declaration] = sym_module_declaration,
    [sym_type_parameters] = sym_type_parameters,
    [sym_import_declaration] = sym_import_declaration,
    [sym_function_declaration] = sym_function_declaration,
    [sym_compound_statement] = sym_compound_statement,
    [sym_parameters] = sym_parameters,
    [sym_parameter] = sym_parameter,
    [sym_variadic_parameter] = sym_variadic_parameter,
    [sym_attributes] = sym_attributes,
    [sym_attribute] = sym_attribute,
    [sym_const_declaration] = sym_const_declaration,
    [sym_var_declaration] = sym_var_declaration,
    [sym_define_declaration] = sym_define_declaration,
    [sym_struct_declaration] = sym_struct_declaration,
    [sym_union_declaration] = sym_union_declaration,
    [sym_field_declarations] = sym_field_declarations,
    [sym_field_declaration] = sym_field_declaration,
    [sym_field_struct_declaration] = sym_field_struct_declaration,
    [sym_field_union_declaration] = sym_field_union_declaration,
    [sym_enum_declaration] = sym_enum_declaration,
    [sym_enumerators] = sym_enumerators,
    [sym_enumerator] = sym_enumerator,
    [sym_error_declaration] = sym_error_declaration,
    [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
    [aux_sym_initializers_repeat1] = aux_sym_initializers_repeat1,
    [aux_sym__string_literal_repeat1] = aux_sym__string_literal_repeat1,
    [aux_sym__raw_string_literal_repeat1] = aux_sym__raw_string_literal_repeat1,
    [aux_sym__multiline_string_literal_repeat1] = aux_sym__multiline_string_literal_repeat1,
    [aux_sym_type_parameters_repeat1] = aux_sym_type_parameters_repeat1,
    [aux_sym_compound_statement_repeat1] = aux_sym_compound_statement_repeat1,
    [aux_sym_parameters_repeat1] = aux_sym_parameters_repeat1,
    [aux_sym_attributes_repeat1] = aux_sym_attributes_repeat1,
    [aux_sym_field_declarations_repeat1] = aux_sym_field_declarations_repeat1,
    [aux_sym_enumerators_repeat1] = aux_sym_enumerators_repeat1,
  };
  
  static const TSSymbolMetadata ts_symbol_metadata[] = {
    [ts_builtin_sym_end] = {
      .visible = false,
      .named = true,
    },
    [sym_identifier] = {
      .visible = true,
      .named = true,
    },
    [anon_sym_SEMI] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_return] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_if] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_else] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_while] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_LPAREN] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_RPAREN] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_for] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_defer] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_COLON_COLON] = {
      .visible = true,
      .named = false,
    },
    [sym_type_identifier] = {
      .visible = true,
      .named = true,
    },
    [sym_const_identifier] = {
      .visible = true,
      .named = true,
    },
    [anon_sym_private] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_public] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_LBRACE] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_COMMA] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_RBRACE] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_true] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_false] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_SQUOTE] = {
      .visible = true,
      .named = false,
    },
    [aux_sym_char_literal_token1] = {
      .visible = false,
      .named = false,
    },
    [anon_sym_DQUOTE] = {
      .visible = true,
      .named = false,
    },
    [aux_sym__string_literal_token1] = {
      .visible = false,
      .named = false,
    },
    [anon_sym_BQUOTE] = {
      .visible = true,
      .named = false,
    },
    [aux_sym__raw_string_literal_token1] = {
      .visible = false,
      .named = false,
    },
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = {
      .visible = true,
      .named = false,
    },
    [aux_sym__multiline_string_literal_token1] = {
      .visible = false,
      .named = false,
    },
    [anon_sym_x_DQUOTE] = {
      .visible = true,
      .named = false,
    },
    [aux_sym__hex_string_literal_token1] = {
      .visible = false,
      .named = false,
    },
    [anon_sym_b64_DQUOTE] = {
      .visible = true,
      .named = false,
    },
    [aux_sym__base64_string_literal_token1] = {
      .visible = false,
      .named = false,
    },
    [sym_escape_sequence] = {
      .visible = true,
      .named = true,
    },
    [sym_integer_literal] = {
      .visible = true,
      .named = true,
    },
    [sym_float_literal] = {
      .visible = true,
      .named = true,
    },
    [sym_nil_literal] = {
      .visible = true,
      .named = true,
    },
    [anon_sym_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_PLUS_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_DASH_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_STAR_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_SLASH_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_PERCENT_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_STAR_PERCENT_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_LT_LT_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_GT_GT_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_DASH] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_STAR] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_BANG] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_TILDE] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_AMP] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_AMP_AMP] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_AT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_DASH_DASH] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_PLUS_PLUS] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_PLUS] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_SLASH] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_PERCENT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_STAR_PERCENT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_PIPE_PIPE] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_PIPE] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_CARET] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_EQ_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_BANG_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_GT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_GT_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_LT_EQ] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_LT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_LT_LT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_GT_GT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_DOT_DOT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_LBRACK] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_RBRACK] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_DOT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_try] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_catch] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_void] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_bool] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_ichar] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_char] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_short] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_ushort] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_int] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_uint] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_long] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_ulong] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_iptr] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_uptr] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_iptrdiff] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_uptrdiff] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_isize] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_usize] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_half] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_float] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_double] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_quad] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_fn] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_module] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_import] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_extern] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_DOT_DOT_DOT] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_const] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_define] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_distinct] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_struct] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_union] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_inline] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_enum] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_COLON] = {
      .visible = true,
      .named = false,
    },
    [anon_sym_errtype] = {
      .visible = true,
      .named = false,
    },
    [sym_comment] = {
      .visible = true,
      .named = true,
    },
    [sym_source_file] = {
      .visible = true,
      .named = true,
    },
    [sym_expression_statement] = {
      .visible = true,
      .named = true,
    },
    [sym_return_statement] = {
      .visible = true,
      .named = true,
    },
    [sym_if_statement] = {
      .visible = true,
      .named = true,
    },
    [sym_while_statement] = {
      .visible = true,
      .named = true,
    },
    [sym_parenthesized_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_for_statement] = {
      .visible = true,
      .named = true,
    },
    [sym_defer_statement] = {
      .visible = true,
      .named = true,
    },
    [sym_scoped_identifier] = {
      .visible = true,
      .named = true,
    },
    [sym_scoped_type_identifier] = {
      .visible = true,
      .named = true,
    },
    [sym_visiblitiy_modifier] = {
      .visible = true,
      .named = true,
    },
    [sym_initializers] = {
      .visible = true,
      .named = true,
    },
    [sym_boolean_literal] = {
      .visible = true,
      .named = true,
    },
    [sym_char_literal] = {
      .visible = true,
      .named = true,
    },
    [sym_string_literal] = {
      .visible = true,
      .named = true,
    },
    [sym__hex_string_literal] = {
      .visible = false,
      .named = true,
    },
    [sym__base64_string_literal] = {
      .visible = false,
      .named = true,
    },
    [sym_assignment_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_unary_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_binary_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_parenthesized_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_range_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_subscript_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_call_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_arguments] = {
      .visible = true,
      .named = true,
    },
    [sym_field_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_try_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_catch_expression] = {
      .visible = true,
      .named = true,
    },
    [sym_primitive_type] = {
      .visible = true,
      .named = true,
    },
    [sym_pointer_type] = {
      .visible = true,
      .named = true,
    },
    [sym_function_pointer_type] = {
      .visible = true,
      .named = true,
    },
    [sym_failable_type] = {
      .visible = true,
      .named = true,
    },
    [sym_array_type] = {
      .visible = true,
      .named = true,
    },
    [sym_module_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_type_parameters] = {
      .visible = true,
      .named = true,
    },
    [sym_import_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_function_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_compound_statement] = {
      .visible = true,
      .named = true,
    },
    [sym_parameters] = {
      .visible = true,
      .named = true,
    },
    [sym_parameter] = {
      .visible = true,
      .named = true,
    },
    [sym_variadic_parameter] = {
      .visible = true,
      .named = true,
    },
    [sym_attributes] = {
      .visible = true,
      .named = true,
    },
    [sym_attribute] = {
      .visible = true,
      .named = true,
    },
    [sym_const_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_var_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_define_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_struct_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_union_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_field_declarations] = {
      .visible = true,
      .named = true,
    },
    [sym_field_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_field_struct_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_field_union_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_enum_declaration] = {
      .visible = true,
      .named = true,
    },
    [sym_enumerators] = {
      .visible = true,
      .named = true,
    },
    [sym_enumerator] = {
      .visible = true,
      .named = true,
    },
    [sym_error_declaration] = {
      .visible = true,
      .named = true,
    },
    [aux_sym_source_file_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym_initializers_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym__string_literal_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym__raw_string_literal_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym__multiline_string_literal_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym_type_parameters_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym_compound_statement_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym_parameters_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym_attributes_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym_field_declarations_repeat1] = {
      .visible = false,
      .named = false,
    },
    [aux_sym_enumerators_repeat1] = {
      .visible = false,
      .named = false,
    },
  };
  
  enum {
    field_alternative = 1,
    field_arguments = 2,
    field_attributes = 3,
    field_base_type = 4,
    field_body = 5,
    field_condition = 6,
    field_consecuence = 7,
    field_field = 8,
    field_function = 9,
    field_index = 10,
    field_initializer = 11,
    field_left = 12,
    field_name = 13,
    field_operator = 14,
    field_parameters = 15,
    field_path = 16,
    field_return_type = 17,
    field_right = 18,
    field_type = 19,
    field_update = 20,
    field_value = 21,
  };
  
  static const char * const ts_field_names[] = {
    [0] = NULL,
    [field_alternative] = "alternative",
    [field_arguments] = "arguments",
    [field_attributes] = "attributes",
    [field_base_type] = "base_type",
    [field_body] = "body",
    [field_condition] = "condition",
    [field_consecuence] = "consecuence",
    [field_field] = "field",
    [field_function] = "function",
    [field_index] = "index",
    [field_initializer] = "initializer",
    [field_left] = "left",
    [field_name] = "name",
    [field_operator] = "operator",
    [field_parameters] = "parameters",
    [field_path] = "path",
    [field_return_type] = "return_type",
    [field_right] = "right",
    [field_type] = "type",
    [field_update] = "update",
    [field_value] = "value",
  };
  
  static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
    [1] = {.index = 0, .length = 2},
    [2] = {.index = 2, .length = 1},
    [3] = {.index = 3, .length = 2},
    [4] = {.index = 5, .length = 2},
    [5] = {.index = 7, .length = 2},
    [6] = {.index = 9, .length = 2},
    [7] = {.index = 11, .length = 3},
    [8] = {.index = 14, .length = 3},
    [9] = {.index = 17, .length = 1},
    [10] = {.index = 18, .length = 2},
    [11] = {.index = 20, .length = 2},
    [12] = {.index = 22, .length = 2},
    [13] = {.index = 24, .length = 3},
    [14] = {.index = 27, .length = 1},
    [15] = {.index = 28, .length = 4},
    [16] = {.index = 32, .length = 1},
    [17] = {.index = 33, .length = 2},
    [18] = {.index = 35, .length = 4},
    [19] = {.index = 39, .length = 1},
    [20] = {.index = 40, .length = 3},
    [21] = {.index = 43, .length = 2},
    [22] = {.index = 45, .length = 5},
    [23] = {.index = 50, .length = 3},
    [24] = {.index = 53, .length = 2},
    [25] = {.index = 55, .length = 2},
    [26] = {.index = 57, .length = 2},
    [27] = {.index = 59, .length = 2},
    [28] = {.index = 61, .length = 4},
    [29] = {.index = 65, .length = 2},
    [30] = {.index = 67, .length = 3},
    [31] = {.index = 70, .length = 3},
    [32] = {.index = 73, .length = 3},
    [33] = {.index = 76, .length = 5},
    [34] = {.index = 81, .length = 4},
    [35] = {.index = 85, .length = 3},
    [36] = {.index = 88, .length = 2},
    [37] = {.index = 90, .length = 4},
    [38] = {.index = 94, .length = 4},
    [39] = {.index = 98, .length = 4},
    [40] = {.index = 102, .length = 6},
    [41] = {.index = 108, .length = 4},
    [42] = {.index = 112, .length = 3},
    [43] = {.index = 115, .length = 5},
    [44] = {.index = 120, .length = 5},
  };
  
  static const TSFieldMapEntry ts_field_map_entries[] = {
    [0] =
      {field_arguments, 1},
      {field_function, 0},
    [2] =
      {field_name, 1},
    [3] =
      {field_condition, 1},
      {field_consecuence, 2},
    [5] =
      {field_body, 2},
      {field_condition, 1},
    [7] =
      {field_name, 2},
      {field_path, 0},
    [9] =
      {field_path, 0},
      {field_type, 2},
    [11] =
      {field_left, 0},
      {field_operator, 1},
      {field_right, 2},
    [14] =
      {field_field, 2},
      {field_value, 0},
      {field_value, 1},
    [17] =
      {field_type, 0},
    [18] =
      {field_name, 1},
      {field_parameters, 2},
    [20] =
      {field_body, 2},
      {field_name, 1},
    [22] =
      {field_index, 2},
      {field_value, 0},
    [24] =
      {field_attributes, 2},
      {field_body, 3},
      {field_name, 1},
    [27] =
      {field_name, 0},
    [28] =
      {field_alternative, 3},
      {field_alternative, 4},
      {field_condition, 1},
      {field_consecuence, 2},
    [32] =
      {field_type, 1},
    [33] =
      {field_type, 0},
      {field_value, 3},
    [35] =
      {field_body, 4},
      {field_name, 2},
      {field_parameters, 3},
      {field_return_type, 1},
    [39] =
      {field_body, 1},
    [40] =
      {field_base_type, 3},
      {field_body, 4},
      {field_name, 1},
    [43] =
      {field_body, 5},
      {field_initializer, 2},
    [45] =
      {field_attributes, 4},
      {field_body, 5},
      {field_name, 2},
      {field_parameters, 3},
      {field_return_type, 1},
    [50] =
      {field_name, 3},
      {field_parameters, 4},
      {field_return_type, 2},
    [53] =
      {field_parameters, 2},
      {field_return_type, 1},
    [55] =
      {field_name, 1},
      {field_type, 0},
    [57] =
      {field_attributes, 1},
      {field_body, 2},
    [59] =
      {field_name, 0},
      {field_value, 2},
    [61] =
      {field_attributes, 4},
      {field_base_type, 3},
      {field_body, 5},
      {field_name, 1},
    [65] =
      {field_type, 1},
      {field_value, 4},
    [67] =
      {field_body, 6},
      {field_initializer, 2},
      {field_update, 4},
    [70] =
      {field_body, 6},
      {field_condition, 3},
      {field_initializer, 2},
    [73] =
      {field_body, 6},
      {field_initializer, 2},
      {field_initializer, 3},
    [76] =
      {field_body, 6},
      {field_name, 4},
      {field_parameters, 5},
      {field_return_type, 1},
      {field_type, 2},
    [81] =
      {field_attributes, 5},
      {field_name, 3},
      {field_parameters, 4},
      {field_return_type, 2},
    [85] =
      {field_attributes, 2},
      {field_name, 1},
      {field_type, 0},
    [88] =
      {field_name, 2},
      {field_type, 1},
    [90] =
      {field_body, 7},
      {field_condition, 3},
      {field_initializer, 2},
      {field_update, 5},
    [94] =
      {field_body, 7},
      {field_initializer, 2},
      {field_initializer, 3},
      {field_update, 5},
    [98] =
      {field_body, 7},
      {field_condition, 4},
      {field_initializer, 2},
      {field_initializer, 3},
    [102] =
      {field_attributes, 6},
      {field_body, 7},
      {field_name, 4},
      {field_parameters, 5},
      {field_return_type, 1},
      {field_type, 2},
    [108] =
      {field_name, 5},
      {field_parameters, 6},
      {field_return_type, 2},
      {field_type, 3},
    [112] =
      {field_attributes, 3},
      {field_name, 2},
      {field_type, 1},
    [115] =
      {field_body, 8},
      {field_condition, 4},
      {field_initializer, 2},
      {field_initializer, 3},
      {field_update, 6},
    [120] =
      {field_attributes, 7},
      {field_name, 5},
      {field_parameters, 6},
      {field_return_type, 2},
      {field_type, 3},
  };
  
  static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
    [0] = {0},
  };
  
  static const uint16_t ts_non_terminal_alias_map[] = {
    0,
  };
  
  static bool ts_lex(TSLexer *lexer, TSStateId state) {
    START_LEXER();
    eof = lexer->eof(lexer);
    switch (state) {
      case 0:
        if (eof) ADVANCE(55);
        if (lookahead == '!') ADVANCE(152);
        if (lookahead == '"') ADVANCE(80);
        if (lookahead == '%') ADVANCE(162);
        if (lookahead == '&') ADVANCE(154);
        if (lookahead == '\'') ADVANCE(74);
        if (lookahead == '(') ADVANCE(57);
        if (lookahead == ')') ADVANCE(58);
        if (lookahead == '*') ADVANCE(150);
        if (lookahead == '+') ADVANCE(159);
        if (lookahead == ',') ADVANCE(72);
        if (lookahead == '-') ADVANCE(147);
        if (lookahead == '.') ADVANCE(180);
        if (lookahead == '/') ADVANCE(161);
        if (lookahead == '0') ADVANCE(110);
        if (lookahead == ':') ADVANCE(183);
        if (lookahead == ';') ADVANCE(56);
        if (lookahead == '<') ADVANCE(174);
        if (lookahead == '=') ADVANCE(135);
        if (lookahead == '>') ADVANCE(170);
        if (lookahead == '@') ADVANCE(156);
        if (lookahead == '[') ADVANCE(178);
        if (lookahead == '\\') SKIP(51)
        if (lookahead == ']') ADVANCE(179);
        if (lookahead == '^') ADVANCE(166);
        if (lookahead == '_') ADVANCE(64);
        if (lookahead == '`') ADVANCE(84);
        if (lookahead == 'b') ADVANCE(62);
        if (lookahead == 'x') ADVANCE(59);
        if (lookahead == '{') ADVANCE(71);
        if (lookahead == '|') ADVANCE(165);
        if (lookahead == '}') ADVANCE(73);
        if (lookahead == '~') ADVANCE(153);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(0)
        if (('1' <= lookahead && lookahead <= '9')) ADVANCE(111);
        if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(68);
        END_STATE();
      case 1:
        if (lookahead == '\n') SKIP(12)
        END_STATE();
      case 2:
        if (lookahead == '\n') SKIP(12)
        if (lookahead == '\r') SKIP(1)
        END_STATE();
      case 3:
        if (lookahead == '\n') SKIP(13)
        END_STATE();
      case 4:
        if (lookahead == '\n') SKIP(13)
        if (lookahead == '\r') SKIP(3)
        END_STATE();
      case 5:
        if (lookahead == '\n') SKIP(20)
        END_STATE();
      case 6:
        if (lookahead == '\n') SKIP(20)
        if (lookahead == '\r') SKIP(5)
        END_STATE();
      case 7:
        if (lookahead == '\n') SKIP(15)
        if (lookahead == '"') ADVANCE(79);
        if (lookahead == '/') ADVANCE(82);
        if (lookahead == '\\') ADVANCE(8);
        if (lookahead == '\t' ||
            lookahead == '\r' ||
            lookahead == ' ') ADVANCE(83);
        if (lookahead != 0) ADVANCE(81);
        END_STATE();
      case 8:
        if (lookahead == '\n') ADVANCE(101);
        if (lookahead == '\r') ADVANCE(100);
        if (lookahead == 'U') ADVANCE(46);
        if (lookahead == 'u') ADVANCE(42);
        if (lookahead == 'x') ADVANCE(40);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103);
        if (lookahead != 0) ADVANCE(100);
        END_STATE();
      case 9:
        if (lookahead == '\n') SKIP(23)
        if (lookahead == '/') ADVANCE(77);
        if (lookahead == '\\') ADVANCE(76);
        if (lookahead == '\t' ||
            lookahead == '\r' ||
            lookahead == ' ') ADVANCE(78);
        if (lookahead != 0 &&
            lookahead != '\'') ADVANCE(75);
        END_STATE();
      case 10:
        if (lookahead == '\n') SKIP(24)
        END_STATE();
      case 11:
        if (lookahead == '\n') SKIP(24)
        if (lookahead == '\r') SKIP(10)
        END_STATE();
      case 12:
        if (lookahead == '!') ADVANCE(152);
        if (lookahead == '"') ADVANCE(79);
        if (lookahead == '%') ADVANCE(162);
        if (lookahead == '&') ADVANCE(154);
        if (lookahead == '(') ADVANCE(57);
        if (lookahead == ')') ADVANCE(58);
        if (lookahead == '*') ADVANCE(150);
        if (lookahead == '+') ADVANCE(160);
        if (lookahead == ',') ADVANCE(72);
        if (lookahead == '-') ADVANCE(148);
        if (lookahead == '.') ADVANCE(180);
        if (lookahead == '/') ADVANCE(161);
        if (lookahead == ':') ADVANCE(37);
        if (lookahead == ';') ADVANCE(56);
        if (lookahead == '<') ADVANCE(174);
        if (lookahead == '=') ADVANCE(135);
        if (lookahead == '>') ADVANCE(170);
        if (lookahead == '@') ADVANCE(156);
        if (lookahead == '[') ADVANCE(178);
        if (lookahead == '\\') SKIP(2)
        if (lookahead == ']') ADVANCE(179);
        if (lookahead == '^') ADVANCE(166);
        if (lookahead == '_') ADVANCE(63);
        if (lookahead == '{') ADVANCE(71);
        if (lookahead == '|') ADVANCE(165);
        if (lookahead == '}') ADVANCE(73);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(12)
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(69);
        if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 13:
        if (lookahead == '!') ADVANCE(151);
        if (lookahead == '(') ADVANCE(57);
        if (lookahead == ')') ADVANCE(58);
        if (lookahead == '*') ADVANCE(149);
        if (lookahead == ',') ADVANCE(72);
        if (lookahead == '.') ADVANCE(22);
        if (lookahead == '/') ADVANCE(17);
        if (lookahead == '0') ADVANCE(116);
        if (lookahead == ':') ADVANCE(182);
        if (lookahead == ';') ADVANCE(56);
        if (lookahead == '<') ADVANCE(173);
        if (lookahead == '>') ADVANCE(169);
        if (lookahead == '@') ADVANCE(156);
        if (lookahead == '[') ADVANCE(178);
        if (lookahead == '\\') SKIP(4)
        if (lookahead == ']') ADVANCE(179);
        if (lookahead == '_') ADVANCE(63);
        if (lookahead == '{') ADVANCE(71);
        if (('+' <= lookahead && lookahead <= '-')) ADVANCE(27);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(13)
        if (('1' <= lookahead && lookahead <= '9')) ADVANCE(119);
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(69);
        if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 14:
        if (lookahead == '"') ADVANCE(87);
        END_STATE();
      case 15:
        if (lookahead == '"') ADVANCE(79);
        if (lookahead == '/') ADVANCE(17);
        if (lookahead == '\\') ADVANCE(8);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(15)
        END_STATE();
      case 16:
        if (lookahead == '"') ADVANCE(89);
        if (lookahead == '/') ADVANCE(90);
        if (lookahead == '\\') ADVANCE(8);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') ADVANCE(91);
        if (lookahead != 0) ADVANCE(88);
        END_STATE();
      case 17:
        if (lookahead == '*') ADVANCE(19);
        if (lookahead == '/') ADVANCE(185);
        END_STATE();
      case 18:
        if (lookahead == '*') ADVANCE(18);
        if (lookahead == '/') ADVANCE(184);
        if (lookahead != 0) ADVANCE(19);
        END_STATE();
      case 19:
        if (lookahead == '*') ADVANCE(18);
        if (lookahead != 0) ADVANCE(19);
        END_STATE();
      case 20:
        if (lookahead == ',') ADVANCE(72);
        if (lookahead == '/') ADVANCE(17);
        if (lookahead == '\\') SKIP(6)
        if (lookahead == '_') ADVANCE(48);
        if (lookahead == '}') ADVANCE(73);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(20)
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(70);
        END_STATE();
      case 21:
        if (lookahead == '.') ADVANCE(181);
        END_STATE();
      case 22:
        if (lookahead == '.') ADVANCE(21);
        END_STATE();
      case 23:
        if (lookahead == '/') ADVANCE(17);
        if (lookahead == '\\') ADVANCE(8);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(23)
        END_STATE();
      case 24:
        if (lookahead == '/') ADVANCE(17);
        if (lookahead == '\\') SKIP(11)
        if (lookahead == '_') ADVANCE(47);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(24)
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(69);
        END_STATE();
      case 25:
        if (lookahead == '/') ADVANCE(86);
        if (lookahead == '\\') ADVANCE(85);
        if (lookahead == '`') ADVANCE(84);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') ADVANCE(85);
        if (lookahead != 0) ADVANCE(85);
        END_STATE();
      case 26:
        if (lookahead == '0') ADVANCE(128);
        if (('1' <= lookahead && lookahead <= '9')) ADVANCE(130);
        END_STATE();
      case 27:
        if (lookahead == '0') ADVANCE(116);
        if (('1' <= lookahead && lookahead <= '9')) ADVANCE(119);
        END_STATE();
      case 28:
        if (lookahead == '1') ADVANCE(32);
        if (lookahead == '3') ADVANCE(29);
        if (lookahead == '6') ADVANCE(33);
        if (lookahead == '8') ADVANCE(104);
        END_STATE();
      case 29:
        if (lookahead == '2') ADVANCE(104);
        END_STATE();
      case 30:
        if (lookahead == '2') ADVANCE(36);
        if (lookahead == '6') ADVANCE(121);
        END_STATE();
      case 31:
        if (lookahead == '2') ADVANCE(121);
        END_STATE();
      case 32:
        if (lookahead == '2') ADVANCE(35);
        if (lookahead == '6') ADVANCE(104);
        END_STATE();
      case 33:
        if (lookahead == '4') ADVANCE(104);
        END_STATE();
      case 34:
        if (lookahead == '4') ADVANCE(121);
        END_STATE();
      case 35:
        if (lookahead == '8') ADVANCE(104);
        END_STATE();
      case 36:
        if (lookahead == '8') ADVANCE(121);
        END_STATE();
      case 37:
        if (lookahead == ':') ADVANCE(67);
        END_STATE();
      case 38:
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131);
        END_STATE();
      case 39:
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(100);
        END_STATE();
      case 40:
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39);
        END_STATE();
      case 41:
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40);
        END_STATE();
      case 42:
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(41);
        END_STATE();
      case 43:
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(42);
        END_STATE();
      case 44:
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(43);
        END_STATE();
      case 45:
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(44);
        END_STATE();
      case 46:
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(45);
        END_STATE();
      case 47:
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(69);
        END_STATE();
      case 48:
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(70);
        END_STATE();
      case 49:
        if (lookahead != 0 &&
            lookahead != '\r') ADVANCE(185);
        if (lookahead == '\r') ADVANCE(186);
        END_STATE();
      case 50:
        if (eof) ADVANCE(55);
        if (lookahead == '\n') SKIP(0)
        END_STATE();
      case 51:
        if (eof) ADVANCE(55);
        if (lookahead == '\n') SKIP(0)
        if (lookahead == '\r') SKIP(50)
        END_STATE();
      case 52:
        if (eof) ADVANCE(55);
        if (lookahead == '\n') SKIP(54)
        END_STATE();
      case 53:
        if (eof) ADVANCE(55);
        if (lookahead == '\n') SKIP(54)
        if (lookahead == '\r') SKIP(52)
        END_STATE();
      case 54:
        if (eof) ADVANCE(55);
        if (lookahead == '!') ADVANCE(152);
        if (lookahead == '"') ADVANCE(80);
        if (lookahead == '%') ADVANCE(162);
        if (lookahead == '&') ADVANCE(154);
        if (lookahead == '\'') ADVANCE(74);
        if (lookahead == '(') ADVANCE(57);
        if (lookahead == ')') ADVANCE(58);
        if (lookahead == '*') ADVANCE(150);
        if (lookahead == '+') ADVANCE(159);
        if (lookahead == ',') ADVANCE(72);
        if (lookahead == '-') ADVANCE(147);
        if (lookahead == '.') ADVANCE(180);
        if (lookahead == '/') ADVANCE(161);
        if (lookahead == '0') ADVANCE(110);
        if (lookahead == ':') ADVANCE(37);
        if (lookahead == ';') ADVANCE(56);
        if (lookahead == '<') ADVANCE(174);
        if (lookahead == '=') ADVANCE(135);
        if (lookahead == '>') ADVANCE(170);
        if (lookahead == '@') ADVANCE(156);
        if (lookahead == '[') ADVANCE(178);
        if (lookahead == '\\') SKIP(53)
        if (lookahead == ']') ADVANCE(179);
        if (lookahead == '^') ADVANCE(166);
        if (lookahead == '_') ADVANCE(63);
        if (lookahead == '`') ADVANCE(84);
        if (lookahead == 'b') ADVANCE(62);
        if (lookahead == 'x') ADVANCE(59);
        if (lookahead == '{') ADVANCE(71);
        if (lookahead == '|') ADVANCE(165);
        if (lookahead == '}') ADVANCE(73);
        if (lookahead == '~') ADVANCE(153);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(54)
        if (('1' <= lookahead && lookahead <= '9')) ADVANCE(111);
        if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(69);
        END_STATE();
      case 55:
        ACCEPT_TOKEN(ts_builtin_sym_end);
        END_STATE();
      case 56:
        ACCEPT_TOKEN(anon_sym_SEMI);
        END_STATE();
      case 57:
        ACCEPT_TOKEN(anon_sym_LPAREN);
        END_STATE();
      case 58:
        ACCEPT_TOKEN(anon_sym_RPAREN);
        END_STATE();
      case 59:
        ACCEPT_TOKEN(sym_identifier);
        if (lookahead == '"') ADVANCE(92);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 60:
        ACCEPT_TOKEN(sym_identifier);
        if (lookahead == '"') ADVANCE(95);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 61:
        ACCEPT_TOKEN(sym_identifier);
        if (lookahead == '4') ADVANCE(60);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 62:
        ACCEPT_TOKEN(sym_identifier);
        if (lookahead == '6') ADVANCE(61);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 63:
        ACCEPT_TOKEN(sym_identifier);
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66);
        if (('0' <= lookahead && lookahead <= '9') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 64:
        ACCEPT_TOKEN(sym_identifier);
        if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(65);
        if (('0' <= lookahead && lookahead <= '9') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 65:
        ACCEPT_TOKEN(sym_identifier);
        if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_') ADVANCE(65);
        END_STATE();
      case 66:
        ACCEPT_TOKEN(sym_identifier);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
        END_STATE();
      case 67:
        ACCEPT_TOKEN(anon_sym_COLON_COLON);
        END_STATE();
      case 68:
        ACCEPT_TOKEN(sym_type_identifier);
        if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(69);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_') ADVANCE(68);
        END_STATE();
      case 69:
        ACCEPT_TOKEN(sym_type_identifier);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(69);
        END_STATE();
      case 70:
        ACCEPT_TOKEN(sym_const_identifier);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            lookahead == '_') ADVANCE(70);
        END_STATE();
      case 71:
        ACCEPT_TOKEN(anon_sym_LBRACE);
        END_STATE();
      case 72:
        ACCEPT_TOKEN(anon_sym_COMMA);
        END_STATE();
      case 73:
        ACCEPT_TOKEN(anon_sym_RBRACE);
        END_STATE();
      case 74:
        ACCEPT_TOKEN(anon_sym_SQUOTE);
        END_STATE();
      case 75:
        ACCEPT_TOKEN(aux_sym_char_literal_token1);
        END_STATE();
      case 76:
        ACCEPT_TOKEN(aux_sym_char_literal_token1);
        if (lookahead == '\n') ADVANCE(101);
        if (lookahead == '\r') ADVANCE(100);
        if (lookahead == 'U') ADVANCE(46);
        if (lookahead == 'u') ADVANCE(42);
        if (lookahead == 'x') ADVANCE(40);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103);
        if (lookahead != 0) ADVANCE(100);
        END_STATE();
      case 77:
        ACCEPT_TOKEN(aux_sym_char_literal_token1);
        if (lookahead == '*') ADVANCE(19);
        if (lookahead == '/') ADVANCE(185);
        END_STATE();
      case 78:
        ACCEPT_TOKEN(aux_sym_char_literal_token1);
        if (lookahead == '\\') ADVANCE(8);
        END_STATE();
      case 79:
        ACCEPT_TOKEN(anon_sym_DQUOTE);
        END_STATE();
      case 80:
        ACCEPT_TOKEN(anon_sym_DQUOTE);
        if (lookahead == '"') ADVANCE(14);
        END_STATE();
      case 81:
        ACCEPT_TOKEN(aux_sym__string_literal_token1);
        END_STATE();
      case 82:
        ACCEPT_TOKEN(aux_sym__string_literal_token1);
        if (lookahead == '*') ADVANCE(19);
        if (lookahead == '/') ADVANCE(185);
        END_STATE();
      case 83:
        ACCEPT_TOKEN(aux_sym__string_literal_token1);
        if (lookahead == '\\') ADVANCE(8);
        END_STATE();
      case 84:
        ACCEPT_TOKEN(anon_sym_BQUOTE);
        END_STATE();
      case 85:
        ACCEPT_TOKEN(aux_sym__raw_string_literal_token1);
        END_STATE();
      case 86:
        ACCEPT_TOKEN(aux_sym__raw_string_literal_token1);
        if (lookahead == '*') ADVANCE(19);
        if (lookahead == '/') ADVANCE(185);
        END_STATE();
      case 87:
        ACCEPT_TOKEN(anon_sym_DQUOTE_DQUOTE_DQUOTE);
        END_STATE();
      case 88:
        ACCEPT_TOKEN(aux_sym__multiline_string_literal_token1);
        END_STATE();
      case 89:
        ACCEPT_TOKEN(aux_sym__multiline_string_literal_token1);
        if (lookahead == '"') ADVANCE(14);
        END_STATE();
      case 90:
        ACCEPT_TOKEN(aux_sym__multiline_string_literal_token1);
        if (lookahead == '*') ADVANCE(19);
        if (lookahead == '/') ADVANCE(185);
        END_STATE();
      case 91:
        ACCEPT_TOKEN(aux_sym__multiline_string_literal_token1);
        if (lookahead == '\\') ADVANCE(8);
        END_STATE();
      case 92:
        ACCEPT_TOKEN(anon_sym_x_DQUOTE);
        END_STATE();
      case 93:
        ACCEPT_TOKEN(aux_sym__hex_string_literal_token1);
        if (lookahead == ' ') ADVANCE(93);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(94);
        END_STATE();
      case 94:
        ACCEPT_TOKEN(aux_sym__hex_string_literal_token1);
        if (lookahead == ' ' ||
            ('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(94);
        END_STATE();
      case 95:
        ACCEPT_TOKEN(anon_sym_b64_DQUOTE);
        END_STATE();
      case 96:
        ACCEPT_TOKEN(aux_sym__base64_string_literal_token1);
        if (lookahead == ' ') ADVANCE(96);
        if (lookahead == '/') ADVANCE(97);
        if (lookahead == '+' ||
            ('0' <= lookahead && lookahead <= '9') ||
            lookahead == '=' ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(99);
        END_STATE();
      case 97:
        ACCEPT_TOKEN(aux_sym__base64_string_literal_token1);
        if (lookahead == '*') ADVANCE(19);
        if (lookahead == '/') ADVANCE(98);
        if (lookahead == ' ' ||
            lookahead == '+' ||
            ('0' <= lookahead && lookahead <= '9') ||
            lookahead == '=' ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(99);
        END_STATE();
      case 98:
        ACCEPT_TOKEN(aux_sym__base64_string_literal_token1);
        if (lookahead == '\\') ADVANCE(49);
        if (lookahead == ' ' ||
            lookahead == '+' ||
            ('/' <= lookahead && lookahead <= '9') ||
            lookahead == '=' ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(98);
        if (lookahead != 0 &&
            lookahead != '\n') ADVANCE(185);
        END_STATE();
      case 99:
        ACCEPT_TOKEN(aux_sym__base64_string_literal_token1);
        if (lookahead == ' ' ||
            lookahead == '+' ||
            ('/' <= lookahead && lookahead <= '9') ||
            lookahead == '=' ||
            ('A' <= lookahead && lookahead <= 'Z') ||
            ('a' <= lookahead && lookahead <= 'z')) ADVANCE(99);
        END_STATE();
      case 100:
        ACCEPT_TOKEN(sym_escape_sequence);
        END_STATE();
      case 101:
        ACCEPT_TOKEN(sym_escape_sequence);
        if (lookahead == '\\') ADVANCE(8);
        END_STATE();
      case 102:
        ACCEPT_TOKEN(sym_escape_sequence);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(100);
        END_STATE();
      case 103:
        ACCEPT_TOKEN(sym_escape_sequence);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(102);
        END_STATE();
      case 104:
        ACCEPT_TOKEN(sym_integer_literal);
        END_STATE();
      case 105:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == '1') ADVANCE(107);
        if (lookahead == '3') ADVANCE(106);
        if (lookahead == '6') ADVANCE(108);
        if (lookahead == 'f') ADVANCE(105);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(112);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(114);
        END_STATE();
      case 106:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == '2') ADVANCE(114);
        if (lookahead == 'f') ADVANCE(105);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(112);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(114);
        END_STATE();
      case 107:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == '2') ADVANCE(109);
        if (lookahead == '6') ADVANCE(114);
        if (lookahead == 'f') ADVANCE(105);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(112);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(114);
        END_STATE();
      case 108:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == '4') ADVANCE(114);
        if (lookahead == 'f') ADVANCE(105);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(112);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(114);
        END_STATE();
      case 109:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == '8') ADVANCE(114);
        if (lookahead == 'f') ADVANCE(105);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(112);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(114);
        END_STATE();
      case 110:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == 'b') ADVANCE(117);
        if (lookahead == 'f') ADVANCE(122);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'o') ADVANCE(118);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'x') ADVANCE(114);
        if (lookahead == 'E' ||
            lookahead == 'P' ||
            lookahead == 'e' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            lookahead == '_') ADVANCE(111);
        END_STATE();
      case 111:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == 'f') ADVANCE(122);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'E' ||
            lookahead == 'P' ||
            lookahead == 'e' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            lookahead == '_') ADVANCE(111);
        END_STATE();
      case 112:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == 'f') ADVANCE(105);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == '+' ||
            lookahead == '-') ADVANCE(38);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(112);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(114);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113);
        END_STATE();
      case 113:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == 'f') ADVANCE(105);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(112);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(114);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113);
        END_STATE();
      case 114:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '.') ADVANCE(26);
        if (lookahead == 'f') ADVANCE(105);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(112);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(114);
        END_STATE();
      case 115:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == '1') ADVANCE(32);
        if (lookahead == '3') ADVANCE(29);
        if (lookahead == '6') ADVANCE(33);
        if (lookahead == '8') ADVANCE(104);
        END_STATE();
      case 116:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == 'b') ADVANCE(117);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'o') ADVANCE(118);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == 'x') ADVANCE(120);
        if (('0' <= lookahead && lookahead <= '9') ||
            lookahead == '_') ADVANCE(119);
        END_STATE();
      case 117:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (lookahead == '0' ||
            lookahead == '1' ||
            lookahead == '_') ADVANCE(117);
        END_STATE();
      case 118:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (('0' <= lookahead && lookahead <= '7') ||
            lookahead == '_') ADVANCE(118);
        END_STATE();
      case 119:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (('0' <= lookahead && lookahead <= '9') ||
            lookahead == '_') ADVANCE(119);
        END_STATE();
      case 120:
        ACCEPT_TOKEN(sym_integer_literal);
        if (lookahead == 'i') ADVANCE(28);
        if (lookahead == 'u') ADVANCE(115);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'f')) ADVANCE(120);
        END_STATE();
      case 121:
        ACCEPT_TOKEN(sym_float_literal);
        END_STATE();
      case 122:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == '1') ADVANCE(30);
        if (lookahead == '3') ADVANCE(31);
        if (lookahead == '6') ADVANCE(34);
        END_STATE();
      case 123:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == '1') ADVANCE(125);
        if (lookahead == '3') ADVANCE(124);
        if (lookahead == '6') ADVANCE(126);
        if (lookahead == 'f') ADVANCE(123);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(132);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(134);
        END_STATE();
      case 124:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == '2') ADVANCE(134);
        if (lookahead == 'f') ADVANCE(123);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(132);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(134);
        END_STATE();
      case 125:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == '2') ADVANCE(127);
        if (lookahead == '6') ADVANCE(134);
        if (lookahead == 'f') ADVANCE(123);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(132);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(134);
        END_STATE();
      case 126:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == '4') ADVANCE(134);
        if (lookahead == 'f') ADVANCE(123);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(132);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(134);
        END_STATE();
      case 127:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == '8') ADVANCE(134);
        if (lookahead == 'f') ADVANCE(123);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(132);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(134);
        END_STATE();
      case 128:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == 'f') ADVANCE(122);
        if (lookahead == 'x') ADVANCE(134);
        if (lookahead == 'E' ||
            lookahead == 'P' ||
            lookahead == 'e' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            lookahead == '_') ADVANCE(130);
        END_STATE();
      case 129:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == 'f') ADVANCE(122);
        if (lookahead == '+' ||
            lookahead == '-') ADVANCE(38);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131);
        END_STATE();
      case 130:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == 'f') ADVANCE(122);
        if (lookahead == 'E' ||
            lookahead == 'P' ||
            lookahead == 'e' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            lookahead == '_') ADVANCE(130);
        END_STATE();
      case 131:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == 'f') ADVANCE(122);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131);
        END_STATE();
      case 132:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == 'f') ADVANCE(123);
        if (lookahead == '+' ||
            lookahead == '-') ADVANCE(38);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(132);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(134);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(133);
        END_STATE();
      case 133:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == 'f') ADVANCE(123);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(132);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(134);
        if (('0' <= lookahead && lookahead <= '9')) ADVANCE(133);
        END_STATE();
      case 134:
        ACCEPT_TOKEN(sym_float_literal);
        if (lookahead == 'f') ADVANCE(123);
        if (lookahead == 'E' ||
            lookahead == 'e') ADVANCE(132);
        if (lookahead == 'P' ||
            lookahead == 'p') ADVANCE(129);
        if (('0' <= lookahead && lookahead <= '9') ||
            ('A' <= lookahead && lookahead <= 'F') ||
            lookahead == '_' ||
            ('a' <= lookahead && lookahead <= 'd')) ADVANCE(134);
        END_STATE();
      case 135:
        ACCEPT_TOKEN(anon_sym_EQ);
        if (lookahead == '=') ADVANCE(167);
        END_STATE();
      case 136:
        ACCEPT_TOKEN(anon_sym_PLUS_EQ);
        END_STATE();
      case 137:
        ACCEPT_TOKEN(anon_sym_DASH_EQ);
        END_STATE();
      case 138:
        ACCEPT_TOKEN(anon_sym_STAR_EQ);
        END_STATE();
      case 139:
        ACCEPT_TOKEN(anon_sym_SLASH_EQ);
        END_STATE();
      case 140:
        ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
        END_STATE();
      case 141:
        ACCEPT_TOKEN(anon_sym_STAR_PERCENT_EQ);
        END_STATE();
      case 142:
        ACCEPT_TOKEN(anon_sym_AMP_EQ);
        END_STATE();
      case 143:
        ACCEPT_TOKEN(anon_sym_PIPE_EQ);
        END_STATE();
      case 144:
        ACCEPT_TOKEN(anon_sym_CARET_EQ);
        END_STATE();
      case 145:
        ACCEPT_TOKEN(anon_sym_LT_LT_EQ);
        END_STATE();
      case 146:
        ACCEPT_TOKEN(anon_sym_GT_GT_EQ);
        END_STATE();
      case 147:
        ACCEPT_TOKEN(anon_sym_DASH);
        if (lookahead == '-') ADVANCE(157);
        if (lookahead == '0') ADVANCE(110);
        if (lookahead == '=') ADVANCE(137);
        if (('1' <= lookahead && lookahead <= '9')) ADVANCE(111);
        END_STATE();
      case 148:
        ACCEPT_TOKEN(anon_sym_DASH);
        if (lookahead == '-') ADVANCE(157);
        if (lookahead == '=') ADVANCE(137);
        END_STATE();
      case 149:
        ACCEPT_TOKEN(anon_sym_STAR);
        END_STATE();
      case 150:
        ACCEPT_TOKEN(anon_sym_STAR);
        if (lookahead == '%') ADVANCE(163);
        if (lookahead == '=') ADVANCE(138);
        END_STATE();
      case 151:
        ACCEPT_TOKEN(anon_sym_BANG);
        END_STATE();
      case 152:
        ACCEPT_TOKEN(anon_sym_BANG);
        if (lookahead == '=') ADVANCE(168);
        END_STATE();
      case 153:
        ACCEPT_TOKEN(anon_sym_TILDE);
        END_STATE();
      case 154:
        ACCEPT_TOKEN(anon_sym_AMP);
        if (lookahead == '&') ADVANCE(155);
        if (lookahead == '=') ADVANCE(142);
        END_STATE();
      case 155:
        ACCEPT_TOKEN(anon_sym_AMP_AMP);
        END_STATE();
      case 156:
        ACCEPT_TOKEN(anon_sym_AT);
        END_STATE();
      case 157:
        ACCEPT_TOKEN(anon_sym_DASH_DASH);
        END_STATE();
      case 158:
        ACCEPT_TOKEN(anon_sym_PLUS_PLUS);
        END_STATE();
      case 159:
        ACCEPT_TOKEN(anon_sym_PLUS);
        if (lookahead == '+') ADVANCE(158);
        if (lookahead == '0') ADVANCE(110);
        if (lookahead == '=') ADVANCE(136);
        if (('1' <= lookahead && lookahead <= '9')) ADVANCE(111);
        END_STATE();
      case 160:
        ACCEPT_TOKEN(anon_sym_PLUS);
        if (lookahead == '+') ADVANCE(158);
        if (lookahead == '=') ADVANCE(136);
        END_STATE();
      case 161:
        ACCEPT_TOKEN(anon_sym_SLASH);
        if (lookahead == '*') ADVANCE(19);
        if (lookahead == '/') ADVANCE(185);
        if (lookahead == '=') ADVANCE(139);
        END_STATE();
      case 162:
        ACCEPT_TOKEN(anon_sym_PERCENT);
        if (lookahead == '=') ADVANCE(140);
        END_STATE();
      case 163:
        ACCEPT_TOKEN(anon_sym_STAR_PERCENT);
        if (lookahead == '=') ADVANCE(141);
        END_STATE();
      case 164:
        ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
        END_STATE();
      case 165:
        ACCEPT_TOKEN(anon_sym_PIPE);
        if (lookahead == '=') ADVANCE(143);
        if (lookahead == '|') ADVANCE(164);
        END_STATE();
      case 166:
        ACCEPT_TOKEN(anon_sym_CARET);
        if (lookahead == '=') ADVANCE(144);
        END_STATE();
      case 167:
        ACCEPT_TOKEN(anon_sym_EQ_EQ);
        END_STATE();
      case 168:
        ACCEPT_TOKEN(anon_sym_BANG_EQ);
        END_STATE();
      case 169:
        ACCEPT_TOKEN(anon_sym_GT);
        END_STATE();
      case 170:
        ACCEPT_TOKEN(anon_sym_GT);
        if (lookahead == '=') ADVANCE(171);
        if (lookahead == '>') ADVANCE(176);
        END_STATE();
      case 171:
        ACCEPT_TOKEN(anon_sym_GT_EQ);
        END_STATE();
      case 172:
        ACCEPT_TOKEN(anon_sym_LT_EQ);
        END_STATE();
      case 173:
        ACCEPT_TOKEN(anon_sym_LT);
        END_STATE();
      case 174:
        ACCEPT_TOKEN(anon_sym_LT);
        if (lookahead == '<') ADVANCE(175);
        if (lookahead == '=') ADVANCE(172);
        END_STATE();
      case 175:
        ACCEPT_TOKEN(anon_sym_LT_LT);
        if (lookahead == '=') ADVANCE(145);
        END_STATE();
      case 176:
        ACCEPT_TOKEN(anon_sym_GT_GT);
        if (lookahead == '=') ADVANCE(146);
        END_STATE();
      case 177:
        ACCEPT_TOKEN(anon_sym_DOT_DOT);
        END_STATE();
      case 178:
        ACCEPT_TOKEN(anon_sym_LBRACK);
        END_STATE();
      case 179:
        ACCEPT_TOKEN(anon_sym_RBRACK);
        END_STATE();
      case 180:
        ACCEPT_TOKEN(anon_sym_DOT);
        if (lookahead == '.') ADVANCE(177);
        END_STATE();
      case 181:
        ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT);
        END_STATE();
      case 182:
        ACCEPT_TOKEN(anon_sym_COLON);
        END_STATE();
      case 183:
        ACCEPT_TOKEN(anon_sym_COLON);
        if (lookahead == ':') ADVANCE(67);
        END_STATE();
      case 184:
        ACCEPT_TOKEN(sym_comment);
        END_STATE();
      case 185:
        ACCEPT_TOKEN(sym_comment);
        if (lookahead == '\\') ADVANCE(49);
        if (lookahead != 0 &&
            lookahead != '\n') ADVANCE(185);
        END_STATE();
      case 186:
        ACCEPT_TOKEN(sym_comment);
        if (lookahead != 0 &&
            lookahead != '\\') ADVANCE(185);
        if (lookahead == '\\') ADVANCE(49);
        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 == '\\') SKIP(1)
        if (lookahead == 'b') ADVANCE(2);
        if (lookahead == 'c') ADVANCE(3);
        if (lookahead == 'd') ADVANCE(4);
        if (lookahead == 'e') ADVANCE(5);
        if (lookahead == 'f') ADVANCE(6);
        if (lookahead == 'h') ADVANCE(7);
        if (lookahead == 'i') ADVANCE(8);
        if (lookahead == 'l') ADVANCE(9);
        if (lookahead == 'm') ADVANCE(10);
        if (lookahead == 'n') ADVANCE(11);
        if (lookahead == 'p') ADVANCE(12);
        if (lookahead == 'q') ADVANCE(13);
        if (lookahead == 'r') ADVANCE(14);
        if (lookahead == 's') ADVANCE(15);
        if (lookahead == 't') ADVANCE(16);
        if (lookahead == 'u') ADVANCE(17);
        if (lookahead == 'v') ADVANCE(18);
        if (lookahead == 'w') ADVANCE(19);
        if (lookahead == '\t' ||
            lookahead == '\n' ||
            lookahead == '\r' ||
            lookahead == ' ') SKIP(0)
        END_STATE();
      case 1:
        if (lookahead == '\n') SKIP(0)
        if (lookahead == '\r') SKIP(20)
        END_STATE();
      case 2:
        if (lookahead == 'o') ADVANCE(21);
        END_STATE();
      case 3:
        if (lookahead == 'a') ADVANCE(22);
        if (lookahead == 'h') ADVANCE(23);
        if (lookahead == 'o') ADVANCE(24);
        END_STATE();
      case 4:
        if (lookahead == 'e') ADVANCE(25);
        if (lookahead == 'i') ADVANCE(26);
        if (lookahead == 'o') ADVANCE(27);
        END_STATE();
      case 5:
        if (lookahead == 'l') ADVANCE(28);
        if (lookahead == 'n') ADVANCE(29);
        if (lookahead == 'r') ADVANCE(30);
        if (lookahead == 'x') ADVANCE(31);
        END_STATE();
      case 6:
        if (lookahead == 'a') ADVANCE(32);
        if (lookahead == 'l') ADVANCE(33);
        if (lookahead == 'n') ADVANCE(34);
        if (lookahead == 'o') ADVANCE(35);
        END_STATE();
      case 7:
        if (lookahead == 'a') ADVANCE(36);
        END_STATE();
      case 8:
        if (lookahead == 'c') ADVANCE(37);
        if (lookahead == 'f') ADVANCE(38);
        if (lookahead == 'm') ADVANCE(39);
        if (lookahead == 'n') ADVANCE(40);
        if (lookahead == 'p') ADVANCE(41);
        if (lookahead == 's') ADVANCE(42);
        END_STATE();
      case 9:
        if (lookahead == 'o') ADVANCE(43);
        END_STATE();
      case 10:
        if (lookahead == 'o') ADVANCE(44);
        END_STATE();
      case 11:
        if (lookahead == 'i') ADVANCE(45);
        END_STATE();
      case 12:
        if (lookahead == 'r') ADVANCE(46);
        if (lookahead == 'u') ADVANCE(47);
        END_STATE();
      case 13:
        if (lookahead == 'u') ADVANCE(48);
        END_STATE();
      case 14:
        if (lookahead == 'e') ADVANCE(49);
        END_STATE();
      case 15:
        if (lookahead == 'h') ADVANCE(50);
        if (lookahead == 't') ADVANCE(51);
        END_STATE();
      case 16:
        if (lookahead == 'r') ADVANCE(52);
        END_STATE();
      case 17:
        if (lookahead == 'i') ADVANCE(53);
        if (lookahead == 'l') ADVANCE(54);
        if (lookahead == 'n') ADVANCE(55);
        if (lookahead == 'p') ADVANCE(56);
        if (lookahead == 's') ADVANCE(57);
        END_STATE();
      case 18:
        if (lookahead == 'o') ADVANCE(58);
        END_STATE();
      case 19:
        if (lookahead == 'h') ADVANCE(59);
        END_STATE();
      case 20:
        if (lookahead == '\n') SKIP(0)
        END_STATE();
      case 21:
        if (lookahead == 'o') ADVANCE(60);
        END_STATE();
      case 22:
        if (lookahead == 't') ADVANCE(61);
        END_STATE();
      case 23:
        if (lookahead == 'a') ADVANCE(62);
        END_STATE();
      case 24:
        if (lookahead == 'n') ADVANCE(63);
        END_STATE();
      case 25:
        if (lookahead == 'f') ADVANCE(64);
        END_STATE();
      case 26:
        if (lookahead == 's') ADVANCE(65);
        END_STATE();
      case 27:
        if (lookahead == 'u') ADVANCE(66);
        END_STATE();
      case 28:
        if (lookahead == 's') ADVANCE(67);
        END_STATE();
      case 29:
        if (lookahead == 'u') ADVANCE(68);
        END_STATE();
      case 30:
        if (lookahead == 'r') ADVANCE(69);
        END_STATE();
      case 31:
        if (lookahead == 't') ADVANCE(70);
        END_STATE();
      case 32:
        if (lookahead == 'l') ADVANCE(71);
        END_STATE();
      case 33:
        if (lookahead == 'o') ADVANCE(72);
        END_STATE();
      case 34:
        ACCEPT_TOKEN(anon_sym_fn);
        END_STATE();
      case 35:
        if (lookahead == 'r') ADVANCE(73);
        END_STATE();
      case 36:
        if (lookahead == 'l') ADVANCE(74);
        END_STATE();
      case 37:
        if (lookahead == 'h') ADVANCE(75);
        END_STATE();
      case 38:
        ACCEPT_TOKEN(anon_sym_if);
        END_STATE();
      case 39:
        if (lookahead == 'p') ADVANCE(76);
        END_STATE();
      case 40:
        if (lookahead == 'l') ADVANCE(77);
        if (lookahead == 't') ADVANCE(78);
        END_STATE();
      case 41:
        if (lookahead == 't') ADVANCE(79);
        END_STATE();
      case 42:
        if (lookahead == 'i') ADVANCE(80);
        END_STATE();
      case 43:
        if (lookahead == 'n') ADVANCE(81);
        END_STATE();
      case 44:
        if (lookahead == 'd') ADVANCE(82);
        END_STATE();
      case 45:
        if (lookahead == 'l') ADVANCE(83);
        END_STATE();
      case 46:
        if (lookahead == 'i') ADVANCE(84);
        END_STATE();
      case 47:
        if (lookahead == 'b') ADVANCE(85);
        END_STATE();
      case 48:
        if (lookahead == 'a') ADVANCE(86);
        END_STATE();
      case 49:
        if (lookahead == 't') ADVANCE(87);
        END_STATE();
      case 50:
        if (lookahead == 'o') ADVANCE(88);
        END_STATE();
      case 51:
        if (lookahead == 'r') ADVANCE(89);
        END_STATE();
      case 52:
        if (lookahead == 'u') ADVANCE(90);
        if (lookahead == 'y') ADVANCE(91);
        END_STATE();
      case 53:
        if (lookahead == 'n') ADVANCE(92);
        END_STATE();
      case 54:
        if (lookahead == 'o') ADVANCE(93);
        END_STATE();
      case 55:
        if (lookahead == 'i') ADVANCE(94);
        END_STATE();
      case 56:
        if (lookahead == 't') ADVANCE(95);
        END_STATE();
      case 57:
        if (lookahead == 'h') ADVANCE(96);
        if (lookahead == 'i') ADVANCE(97);
        END_STATE();
      case 58:
        if (lookahead == 'i') ADVANCE(98);
        END_STATE();
      case 59:
        if (lookahead == 'i') ADVANCE(99);
        END_STATE();
      case 60:
        if (lookahead == 'l') ADVANCE(100);
        END_STATE();
      case 61:
        if (lookahead == 'c') ADVANCE(101);
        END_STATE();
      case 62:
        if (lookahead == 'r') ADVANCE(102);
        END_STATE();
      case 63:
        if (lookahead == 's') ADVANCE(103);
        END_STATE();
      case 64:
        if (lookahead == 'e') ADVANCE(104);
        if (lookahead == 'i') ADVANCE(105);
        END_STATE();
      case 65:
        if (lookahead == 't') ADVANCE(106);
        END_STATE();
      case 66:
        if (lookahead == 'b') ADVANCE(107);
        END_STATE();
      case 67:
        if (lookahead == 'e') ADVANCE(108);
        END_STATE();
      case 68:
        if (lookahead == 'm') ADVANCE(109);
        END_STATE();
      case 69:
        if (lookahead == 't') ADVANCE(110);
        END_STATE();
      case 70:
        if (lookahead == 'e') ADVANCE(111);
        END_STATE();
      case 71:
        if (lookahead == 's') ADVANCE(112);
        END_STATE();
      case 72:
        if (lookahead == 'a') ADVANCE(113);
        END_STATE();
      case 73:
        ACCEPT_TOKEN(anon_sym_for);
        END_STATE();
      case 74:
        if (lookahead == 'f') ADVANCE(114);
        END_STATE();
      case 75:
        if (lookahead == 'a') ADVANCE(115);
        END_STATE();
      case 76:
        if (lookahead == 'o') ADVANCE(116);
        END_STATE();
      case 77:
        if (lookahead == 'i') ADVANCE(117);
        END_STATE();
      case 78:
        ACCEPT_TOKEN(anon_sym_int);
        END_STATE();
      case 79:
        if (lookahead == 'r') ADVANCE(118);
        END_STATE();
      case 80:
        if (lookahead == 'z') ADVANCE(119);
        END_STATE();
      case 81:
        if (lookahead == 'g') ADVANCE(120);
        END_STATE();
      case 82:
        if (lookahead == 'u') ADVANCE(121);
        END_STATE();
      case 83:
        ACCEPT_TOKEN(sym_nil_literal);
        END_STATE();
      case 84:
        if (lookahead == 'v') ADVANCE(122);
        END_STATE();
      case 85:
        if (lookahead == 'l') ADVANCE(123);
        END_STATE();
      case 86:
        if (lookahead == 'd') ADVANCE(124);
        END_STATE();
      case 87:
        if (lookahead == 'u') ADVANCE(125);
        END_STATE();
      case 88:
        if (lookahead == 'r') ADVANCE(126);
        END_STATE();
      case 89:
        if (lookahead == 'u') ADVANCE(127);
        END_STATE();
      case 90:
        if (lookahead == 'e') ADVANCE(128);
        END_STATE();
      case 91:
        ACCEPT_TOKEN(anon_sym_try);
        END_STATE();
      case 92:
        if (lookahead == 't') ADVANCE(129);
        END_STATE();
      case 93:
        if (lookahead == 'n') ADVANCE(130);
        END_STATE();
      case 94:
        if (lookahead == 'o') ADVANCE(131);
        END_STATE();
      case 95:
        if (lookahead == 'r') ADVANCE(132);
        END_STATE();
      case 96:
        if (lookahead == 'o') ADVANCE(133);
        END_STATE();
      case 97:
        if (lookahead == 'z') ADVANCE(134);
        END_STATE();
      case 98:
        if (lookahead == 'd') ADVANCE(135);
        END_STATE();
      case 99:
        if (lookahead == 'l') ADVANCE(136);
        END_STATE();
      case 100:
        ACCEPT_TOKEN(anon_sym_bool);
        END_STATE();
      case 101:
        if (lookahead == 'h') ADVANCE(137);
        END_STATE();
      case 102:
        ACCEPT_TOKEN(anon_sym_char);
        END_STATE();
      case 103:
        if (lookahead == 't') ADVANCE(138);
        END_STATE();
      case 104:
        if (lookahead == 'r') ADVANCE(139);
        END_STATE();
      case 105:
        if (lookahead == 'n') ADVANCE(140);
        END_STATE();
      case 106:
        if (lookahead == 'i') ADVANCE(141);
        END_STATE();
      case 107:
        if (lookahead == 'l') ADVANCE(142);
        END_STATE();
      case 108:
        ACCEPT_TOKEN(anon_sym_else);
        END_STATE();
      case 109:
        ACCEPT_TOKEN(anon_sym_enum);
        END_STATE();
      case 110:
        if (lookahead == 'y') ADVANCE(143);
        END_STATE();
      case 111:
        if (lookahead == 'r') ADVANCE(144);
        END_STATE();
      case 112:
        if (lookahead == 'e') ADVANCE(145);
        END_STATE();
      case 113:
        if (lookahead == 't') ADVANCE(146);
        END_STATE();
      case 114:
        ACCEPT_TOKEN(anon_sym_half);
        END_STATE();
      case 115:
        if (lookahead == 'r') ADVANCE(147);
        END_STATE();
      case 116:
        if (lookahead == 'r') ADVANCE(148);
        END_STATE();
      case 117:
        if (lookahead == 'n') ADVANCE(149);
        END_STATE();
      case 118:
        ACCEPT_TOKEN(anon_sym_iptr);
        if (lookahead == 'd') ADVANCE(150);
        END_STATE();
      case 119:
        if (lookahead == 'e') ADVANCE(151);
        END_STATE();
      case 120:
        ACCEPT_TOKEN(anon_sym_long);
        END_STATE();
      case 121:
        if (lookahead == 'l') ADVANCE(152);
        END_STATE();
      case 122:
        if (lookahead == 'a') ADVANCE(153);
        END_STATE();
      case 123:
        if (lookahead == 'i') ADVANCE(154);
        END_STATE();
      case 124:
        ACCEPT_TOKEN(anon_sym_quad);
        END_STATE();
      case 125:
        if (lookahead == 'r') ADVANCE(155);
        END_STATE();
      case 126:
        if (lookahead == 't') ADVANCE(156);
        END_STATE();
      case 127:
        if (lookahead == 'c') ADVANCE(157);
        END_STATE();
      case 128:
        ACCEPT_TOKEN(anon_sym_true);
        END_STATE();
      case 129:
        ACCEPT_TOKEN(anon_sym_uint);
        END_STATE();
      case 130:
        if (lookahead == 'g') ADVANCE(158);
        END_STATE();
      case 131:
        if (lookahead == 'n') ADVANCE(159);
        END_STATE();
      case 132:
        ACCEPT_TOKEN(anon_sym_uptr);
        if (lookahead == 'd') ADVANCE(160);
        END_STATE();
      case 133:
        if (lookahead == 'r') ADVANCE(161);
        END_STATE();
      case 134:
        if (lookahead == 'e') ADVANCE(162);
        END_STATE();
      case 135:
        ACCEPT_TOKEN(anon_sym_void);
        END_STATE();
      case 136:
        if (lookahead == 'e') ADVANCE(163);
        END_STATE();
      case 137:
        ACCEPT_TOKEN(anon_sym_catch);
        END_STATE();
      case 138:
        ACCEPT_TOKEN(anon_sym_const);
        END_STATE();
      case 139:
        ACCEPT_TOKEN(anon_sym_defer);
        END_STATE();
      case 140:
        if (lookahead == 'e') ADVANCE(164);
        END_STATE();
      case 141:
        if (lookahead == 'n') ADVANCE(165);
        END_STATE();
      case 142:
        if (lookahead == 'e') ADVANCE(166);
        END_STATE();
      case 143:
        if (lookahead == 'p') ADVANCE(167);
        END_STATE();
      case 144:
        if (lookahead == 'n') ADVANCE(168);
        END_STATE();
      case 145:
        ACCEPT_TOKEN(anon_sym_false);
        END_STATE();
      case 146:
        ACCEPT_TOKEN(anon_sym_float);
        END_STATE();
      case 147:
        ACCEPT_TOKEN(anon_sym_ichar);
        END_STATE();
      case 148:
        if (lookahead == 't') ADVANCE(169);
        END_STATE();
      case 149:
        if (lookahead == 'e') ADVANCE(170);
        END_STATE();
      case 150:
        if (lookahead == 'i') ADVANCE(171);
        END_STATE();
      case 151:
        ACCEPT_TOKEN(anon_sym_isize);
        END_STATE();
      case 152:
        if (lookahead == 'e') ADVANCE(172);
        END_STATE();
      case 153:
        if (lookahead == 't') ADVANCE(173);
        END_STATE();
      case 154:
        if (lookahead == 'c') ADVANCE(174);
        END_STATE();
      case 155:
        if (lookahead == 'n') ADVANCE(175);
        END_STATE();
      case 156:
        ACCEPT_TOKEN(anon_sym_short);
        END_STATE();
      case 157:
        if (lookahead == 't') ADVANCE(176);
        END_STATE();
      case 158:
        ACCEPT_TOKEN(anon_sym_ulong);
        END_STATE();
      case 159:
        ACCEPT_TOKEN(anon_sym_union);
        END_STATE();
      case 160:
        if (lookahead == 'i') ADVANCE(177);
        END_STATE();
      case 161:
        if (lookahead == 't') ADVANCE(178);
        END_STATE();
      case 162:
        ACCEPT_TOKEN(anon_sym_usize);
        END_STATE();
      case 163:
        ACCEPT_TOKEN(anon_sym_while);
        END_STATE();
      case 164:
        ACCEPT_TOKEN(anon_sym_define);
        END_STATE();
      case 165:
        if (lookahead == 'c') ADVANCE(179);
        END_STATE();
      case 166:
        ACCEPT_TOKEN(anon_sym_double);
        END_STATE();
      case 167:
        if (lookahead == 'e') ADVANCE(180);
        END_STATE();
      case 168:
        ACCEPT_TOKEN(anon_sym_extern);
        END_STATE();
      case 169:
        ACCEPT_TOKEN(anon_sym_import);
        END_STATE();
      case 170:
        ACCEPT_TOKEN(anon_sym_inline);
        END_STATE();
      case 171:
        if (lookahead == 'f') ADVANCE(181);
        END_STATE();
      case 172:
        ACCEPT_TOKEN(anon_sym_module);
        END_STATE();
      case 173:
        if (lookahead == 'e') ADVANCE(182);
        END_STATE();
      case 174:
        ACCEPT_TOKEN(anon_sym_public);
        END_STATE();
      case 175:
        ACCEPT_TOKEN(anon_sym_return);
        END_STATE();
      case 176:
        ACCEPT_TOKEN(anon_sym_struct);
        END_STATE();
      case 177:
        if (lookahead == 'f') ADVANCE(183);
        END_STATE();
      case 178:
        ACCEPT_TOKEN(anon_sym_ushort);
        END_STATE();
      case 179:
        if (lookahead == 't') ADVANCE(184);
        END_STATE();
      case 180:
        ACCEPT_TOKEN(anon_sym_errtype);
        END_STATE();
      case 181:
        if (lookahead == 'f') ADVANCE(185);
        END_STATE();
      case 182:
        ACCEPT_TOKEN(anon_sym_private);
        END_STATE();
      case 183:
        if (lookahead == 'f') ADVANCE(186);
        END_STATE();
      case 184:
        ACCEPT_TOKEN(anon_sym_distinct);
        END_STATE();
      case 185:
        ACCEPT_TOKEN(anon_sym_iptrdiff);
        END_STATE();
      case 186:
        ACCEPT_TOKEN(anon_sym_uptrdiff);
        END_STATE();
      default:
        return false;
    }
  }
  
  static const TSLexMode ts_lex_modes[STATE_COUNT] = {
    [0] = {.lex_state = 0},
    [1] = {.lex_state = 54},
    [2] = {.lex_state = 54},
    [3] = {.lex_state = 54},
    [4] = {.lex_state = 54},
    [5] = {.lex_state = 54},
    [6] = {.lex_state = 54},
    [7] = {.lex_state = 54},
    [8] = {.lex_state = 54},
    [9] = {.lex_state = 54},
    [10] = {.lex_state = 54},
    [11] = {.lex_state = 54},
    [12] = {.lex_state = 54},
    [13] = {.lex_state = 54},
    [14] = {.lex_state = 54},
    [15] = {.lex_state = 54},
    [16] = {.lex_state = 54},
    [17] = {.lex_state = 54},
    [18] = {.lex_state = 54},
    [19] = {.lex_state = 54},
    [20] = {.lex_state = 54},
    [21] = {.lex_state = 54},
    [22] = {.lex_state = 54},
    [23] = {.lex_state = 54},
    [24] = {.lex_state = 54},
    [25] = {.lex_state = 54},
    [26] = {.lex_state = 54},
    [27] = {.lex_state = 54},
    [28] = {.lex_state = 54},
    [29] = {.lex_state = 54},
    [30] = {.lex_state = 54},
    [31] = {.lex_state = 54},
    [32] = {.lex_state = 54},
    [33] = {.lex_state = 54},
    [34] = {.lex_state = 54},
    [35] = {.lex_state = 54},
    [36] = {.lex_state = 54},
    [37] = {.lex_state = 54},
    [38] = {.lex_state = 54},
    [39] = {.lex_state = 54},
    [40] = {.lex_state = 54},
    [41] = {.lex_state = 54},
    [42] = {.lex_state = 54},
    [43] = {.lex_state = 54},
    [44] = {.lex_state = 54},
    [45] = {.lex_state = 54},
    [46] = {.lex_state = 54},
    [47] = {.lex_state = 54},
    [48] = {.lex_state = 54},
    [49] = {.lex_state = 54},
    [50] = {.lex_state = 54},
    [51] = {.lex_state = 54},
    [52] = {.lex_state = 54},
    [53] = {.lex_state = 54},
    [54] = {.lex_state = 54},
    [55] = {.lex_state = 54},
    [56] = {.lex_state = 54},
    [57] = {.lex_state = 54},
    [58] = {.lex_state = 54},
    [59] = {.lex_state = 54},
    [60] = {.lex_state = 54},
    [61] = {.lex_state = 54},
    [62] = {.lex_state = 54},
    [63] = {.lex_state = 54},
    [64] = {.lex_state = 54},
    [65] = {.lex_state = 54},
    [66] = {.lex_state = 54},
    [67] = {.lex_state = 54},
    [68] = {.lex_state = 54},
    [69] = {.lex_state = 54},
    [70] = {.lex_state = 54},
    [71] = {.lex_state = 54},
    [72] = {.lex_state = 54},
    [73] = {.lex_state = 54},
    [74] = {.lex_state = 54},
    [75] = {.lex_state = 54},
    [76] = {.lex_state = 54},
    [77] = {.lex_state = 54},
    [78] = {.lex_state = 54},
    [79] = {.lex_state = 54},
    [80] = {.lex_state = 54},
    [81] = {.lex_state = 54},
    [82] = {.lex_state = 54},
    [83] = {.lex_state = 54},
    [84] = {.lex_state = 54},
    [85] = {.lex_state = 54},
    [86] = {.lex_state = 54},
    [87] = {.lex_state = 54},
    [88] = {.lex_state = 54},
    [89] = {.lex_state = 54},
    [90] = {.lex_state = 54},
    [91] = {.lex_state = 54},
    [92] = {.lex_state = 54},
    [93] = {.lex_state = 54},
    [94] = {.lex_state = 54},
    [95] = {.lex_state = 54},
    [96] = {.lex_state = 12},
    [97] = {.lex_state = 12},
    [98] = {.lex_state = 12},
    [99] = {.lex_state = 12},
    [100] = {.lex_state = 12},
    [101] = {.lex_state = 12},
    [102] = {.lex_state = 12},
    [103] = {.lex_state = 12},
    [104] = {.lex_state = 12},
    [105] = {.lex_state = 12},
    [106] = {.lex_state = 12},
    [107] = {.lex_state = 12},
    [108] = {.lex_state = 12},
    [109] = {.lex_state = 54},
    [110] = {.lex_state = 12},
    [111] = {.lex_state = 12},
    [112] = {.lex_state = 12},
    [113] = {.lex_state = 12},
    [114] = {.lex_state = 12},
    [115] = {.lex_state = 54},
    [116] = {.lex_state = 54},
    [117] = {.lex_state = 54},
    [118] = {.lex_state = 54},
    [119] = {.lex_state = 12},
    [120] = {.lex_state = 12},
    [121] = {.lex_state = 54},
    [122] = {.lex_state = 12},
    [123] = {.lex_state = 12},
    [124] = {.lex_state = 12},
    [125] = {.lex_state = 12},
    [126] = {.lex_state = 12},
    [127] = {.lex_state = 12},
    [128] = {.lex_state = 12},
    [129] = {.lex_state = 12},
    [130] = {.lex_state = 54},
    [131] = {.lex_state = 12},
    [132] = {.lex_state = 12},
    [133] = {.lex_state = 12},
    [134] = {.lex_state = 12},
    [135] = {.lex_state = 54},
    [136] = {.lex_state = 54},
    [137] = {.lex_state = 54},
    [138] = {.lex_state = 54},
    [139] = {.lex_state = 12},
    [140] = {.lex_state = 12},
    [141] = {.lex_state = 54},
    [142] = {.lex_state = 54},
    [143] = {.lex_state = 12},
    [144] = {.lex_state = 12},
    [145] = {.lex_state = 12},
    [146] = {.lex_state = 12},
    [147] = {.lex_state = 12},
    [148] = {.lex_state = 12},
    [149] = {.lex_state = 12},
    [150] = {.lex_state = 12},
    [151] = {.lex_state = 54},
    [152] = {.lex_state = 54},
    [153] = {.lex_state = 54},
    [154] = {.lex_state = 12},
    [155] = {.lex_state = 54},
    [156] = {.lex_state = 54},
    [157] = {.lex_state = 54},
    [158] = {.lex_state = 54},
    [159] = {.lex_state = 12},
    [160] = {.lex_state = 12},
    [161] = {.lex_state = 54},
    [162] = {.lex_state = 54},
    [163] = {.lex_state = 54},
    [164] = {.lex_state = 12},
    [165] = {.lex_state = 54},
    [166] = {.lex_state = 12},
    [167] = {.lex_state = 54},
    [168] = {.lex_state = 54},
    [169] = {.lex_state = 54},
    [170] = {.lex_state = 54},
    [171] = {.lex_state = 54},
    [172] = {.lex_state = 54},
    [173] = {.lex_state = 54},
    [174] = {.lex_state = 54},
    [175] = {.lex_state = 12},
    [176] = {.lex_state = 12},
    [177] = {.lex_state = 54},
    [178] = {.lex_state = 54},
    [179] = {.lex_state = 12},
    [180] = {.lex_state = 54},
    [181] = {.lex_state = 54},
    [182] = {.lex_state = 54},
    [183] = {.lex_state = 54},
    [184] = {.lex_state = 54},
    [185] = {.lex_state = 12},
    [186] = {.lex_state = 12},
    [187] = {.lex_state = 12},
    [188] = {.lex_state = 12},
    [189] = {.lex_state = 12},
    [190] = {.lex_state = 12},
    [191] = {.lex_state = 12},
    [192] = {.lex_state = 12},
    [193] = {.lex_state = 12},
    [194] = {.lex_state = 12},
    [195] = {.lex_state = 12},
    [196] = {.lex_state = 12},
    [197] = {.lex_state = 12},
    [198] = {.lex_state = 12},
    [199] = {.lex_state = 12},
    [200] = {.lex_state = 12},
    [201] = {.lex_state = 12},
    [202] = {.lex_state = 12},
    [203] = {.lex_state = 12},
    [204] = {.lex_state = 12},
    [205] = {.lex_state = 12},
    [206] = {.lex_state = 12},
    [207] = {.lex_state = 12},
    [208] = {.lex_state = 12},
    [209] = {.lex_state = 12},
    [210] = {.lex_state = 12},
    [211] = {.lex_state = 12},
    [212] = {.lex_state = 12},
    [213] = {.lex_state = 12},
    [214] = {.lex_state = 12},
    [215] = {.lex_state = 12},
    [216] = {.lex_state = 12},
    [217] = {.lex_state = 12},
    [218] = {.lex_state = 12},
    [219] = {.lex_state = 12},
    [220] = {.lex_state = 12},
    [221] = {.lex_state = 12},
    [222] = {.lex_state = 12},
    [223] = {.lex_state = 12},
    [224] = {.lex_state = 12},
    [225] = {.lex_state = 12},
    [226] = {.lex_state = 12},
    [227] = {.lex_state = 12},
    [228] = {.lex_state = 12},
    [229] = {.lex_state = 12},
    [230] = {.lex_state = 12},
    [231] = {.lex_state = 12},
    [232] = {.lex_state = 12},
    [233] = {.lex_state = 12},
    [234] = {.lex_state = 12},
    [235] = {.lex_state = 12},
    [236] = {.lex_state = 12},
    [237] = {.lex_state = 12},
    [238] = {.lex_state = 12},
    [239] = {.lex_state = 12},
    [240] = {.lex_state = 12},
    [241] = {.lex_state = 13},
    [242] = {.lex_state = 13},
    [243] = {.lex_state = 12},
    [244] = {.lex_state = 12},
    [245] = {.lex_state = 12},
    [246] = {.lex_state = 12},
    [247] = {.lex_state = 12},
    [248] = {.lex_state = 12},
    [249] = {.lex_state = 12},
    [250] = {.lex_state = 12},
    [251] = {.lex_state = 12},
    [252] = {.lex_state = 12},
    [253] = {.lex_state = 12},
    [254] = {.lex_state = 12},
    [255] = {.lex_state = 12},
    [256] = {.lex_state = 12},
    [257] = {.lex_state = 12},
    [258] = {.lex_state = 12},
    [259] = {.lex_state = 12},
    [260] = {.lex_state = 12},
    [261] = {.lex_state = 12},
    [262] = {.lex_state = 12},
    [263] = {.lex_state = 12},
    [264] = {.lex_state = 12},
    [265] = {.lex_state = 12},
    [266] = {.lex_state = 12},
    [267] = {.lex_state = 13},
    [268] = {.lex_state = 13},
    [269] = {.lex_state = 13},
    [270] = {.lex_state = 13},
    [271] = {.lex_state = 13},
    [272] = {.lex_state = 13},
    [273] = {.lex_state = 0},
    [274] = {.lex_state = 12},
    [275] = {.lex_state = 13},
    [276] = {.lex_state = 13},
    [277] = {.lex_state = 12},
    [278] = {.lex_state = 0},
    [279] = {.lex_state = 0},
    [280] = {.lex_state = 0},
    [281] = {.lex_state = 0},
    [282] = {.lex_state = 0},
    [283] = {.lex_state = 0},
    [284] = {.lex_state = 0},
    [285] = {.lex_state = 0},
    [286] = {.lex_state = 0},
    [287] = {.lex_state = 0},
    [288] = {.lex_state = 0},
    [289] = {.lex_state = 0},
    [290] = {.lex_state = 0},
    [291] = {.lex_state = 12},
    [292] = {.lex_state = 0},
    [293] = {.lex_state = 12},
    [294] = {.lex_state = 0},
    [295] = {.lex_state = 0},
    [296] = {.lex_state = 0},
    [297] = {.lex_state = 12},
    [298] = {.lex_state = 20},
    [299] = {.lex_state = 12},
    [300] = {.lex_state = 0},
    [301] = {.lex_state = 7},
    [302] = {.lex_state = 0},
    [303] = {.lex_state = 54},
    [304] = {.lex_state = 12},
    [305] = {.lex_state = 0},
    [306] = {.lex_state = 12},
    [307] = {.lex_state = 16},
    [308] = {.lex_state = 7},
    [309] = {.lex_state = 7},
    [310] = {.lex_state = 16},
    [311] = {.lex_state = 0},
    [312] = {.lex_state = 12},
    [313] = {.lex_state = 16},
    [314] = {.lex_state = 20},
    [315] = {.lex_state = 25},
    [316] = {.lex_state = 20},
    [317] = {.lex_state = 0},
    [318] = {.lex_state = 0},
    [319] = {.lex_state = 0},
    [320] = {.lex_state = 0},
    [321] = {.lex_state = 0},
    [322] = {.lex_state = 25},
    [323] = {.lex_state = 0},
    [324] = {.lex_state = 0},
    [325] = {.lex_state = 0},
    [326] = {.lex_state = 25},
    [327] = {.lex_state = 0},
    [328] = {.lex_state = 0},
    [329] = {.lex_state = 0},
    [330] = {.lex_state = 0},
    [331] = {.lex_state = 0},
    [332] = {.lex_state = 0},
    [333] = {.lex_state = 13},
    [334] = {.lex_state = 0},
    [335] = {.lex_state = 0},
    [336] = {.lex_state = 0},
    [337] = {.lex_state = 0},
    [338] = {.lex_state = 0},
    [339] = {.lex_state = 0},
    [340] = {.lex_state = 0},
    [341] = {.lex_state = 0},
    [342] = {.lex_state = 0},
    [343] = {.lex_state = 0},
    [344] = {.lex_state = 0},
    [345] = {.lex_state = 0},
    [346] = {.lex_state = 0},
    [347] = {.lex_state = 0},
    [348] = {.lex_state = 12},
    [349] = {.lex_state = 0},
    [350] = {.lex_state = 0},
    [351] = {.lex_state = 0},
    [352] = {.lex_state = 0},
    [353] = {.lex_state = 20},
    [354] = {.lex_state = 0},
    [355] = {.lex_state = 0},
    [356] = {.lex_state = 0},
    [357] = {.lex_state = 12},
    [358] = {.lex_state = 12},
    [359] = {.lex_state = 0},
    [360] = {.lex_state = 0},
    [361] = {.lex_state = 0},
    [362] = {.lex_state = 0},
    [363] = {.lex_state = 0},
    [364] = {.lex_state = 0},
    [365] = {.lex_state = 12},
    [366] = {.lex_state = 9},
    [367] = {.lex_state = 12},
    [368] = {.lex_state = 0},
    [369] = {.lex_state = 0},
    [370] = {.lex_state = 0},
    [371] = {.lex_state = 0},
    [372] = {.lex_state = 54},
    [373] = {.lex_state = 0},
    [374] = {.lex_state = 0},
    [375] = {.lex_state = 0},
    [376] = {.lex_state = 0},
    [377] = {.lex_state = 12},
    [378] = {.lex_state = 0},
    [379] = {.lex_state = 0},
    [380] = {.lex_state = 12},
    [381] = {.lex_state = 0},
    [382] = {.lex_state = 12},
    [383] = {.lex_state = 54},
    [384] = {.lex_state = 12},
    [385] = {.lex_state = 12},
    [386] = {.lex_state = 0},
    [387] = {.lex_state = 0},
    [388] = {.lex_state = 0},
    [389] = {.lex_state = 0},
    [390] = {.lex_state = 12},
    [391] = {.lex_state = 0},
    [392] = {.lex_state = 0},
    [393] = {.lex_state = 12},
    [394] = {.lex_state = 0},
    [395] = {.lex_state = 0},
    [396] = {.lex_state = 24},
    [397] = {.lex_state = 24},
    [398] = {.lex_state = 24},
    [399] = {.lex_state = 24},
    [400] = {.lex_state = 0},
    [401] = {.lex_state = 12},
    [402] = {.lex_state = 0},
    [403] = {.lex_state = 0},
    [404] = {.lex_state = 96},
    [405] = {.lex_state = 93},
    [406] = {.lex_state = 0},
    [407] = {.lex_state = 12},
    [408] = {.lex_state = 12},
    [409] = {.lex_state = 0},
    [410] = {.lex_state = 0},
    [411] = {.lex_state = 0},
    [412] = {.lex_state = 0},
    [413] = {.lex_state = 0},
  };
  
  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_SEMI] = ACTIONS(1),
      [anon_sym_return] = ACTIONS(1),
      [anon_sym_if] = ACTIONS(1),
      [anon_sym_else] = ACTIONS(1),
      [anon_sym_while] = ACTIONS(1),
      [anon_sym_LPAREN] = ACTIONS(1),
      [anon_sym_RPAREN] = ACTIONS(1),
      [anon_sym_for] = ACTIONS(1),
      [anon_sym_defer] = ACTIONS(1),
      [anon_sym_COLON_COLON] = ACTIONS(1),
      [sym_type_identifier] = ACTIONS(1),
      [sym_const_identifier] = ACTIONS(1),
      [anon_sym_private] = ACTIONS(1),
      [anon_sym_public] = ACTIONS(1),
      [anon_sym_LBRACE] = ACTIONS(1),
      [anon_sym_COMMA] = ACTIONS(1),
      [anon_sym_RBRACE] = ACTIONS(1),
      [anon_sym_true] = ACTIONS(1),
      [anon_sym_false] = ACTIONS(1),
      [anon_sym_SQUOTE] = ACTIONS(1),
      [anon_sym_DQUOTE] = ACTIONS(1),
      [anon_sym_BQUOTE] = ACTIONS(1),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1),
      [anon_sym_x_DQUOTE] = ACTIONS(1),
      [anon_sym_b64_DQUOTE] = ACTIONS(1),
      [sym_integer_literal] = ACTIONS(1),
      [sym_float_literal] = ACTIONS(1),
      [sym_nil_literal] = ACTIONS(1),
      [anon_sym_EQ] = ACTIONS(1),
      [anon_sym_PLUS_EQ] = ACTIONS(1),
      [anon_sym_DASH_EQ] = ACTIONS(1),
      [anon_sym_STAR_EQ] = ACTIONS(1),
      [anon_sym_SLASH_EQ] = ACTIONS(1),
      [anon_sym_PERCENT_EQ] = ACTIONS(1),
      [anon_sym_STAR_PERCENT_EQ] = ACTIONS(1),
      [anon_sym_AMP_EQ] = ACTIONS(1),
      [anon_sym_PIPE_EQ] = ACTIONS(1),
      [anon_sym_CARET_EQ] = ACTIONS(1),
      [anon_sym_LT_LT_EQ] = ACTIONS(1),
      [anon_sym_GT_GT_EQ] = ACTIONS(1),
      [anon_sym_DASH] = ACTIONS(1),
      [anon_sym_STAR] = ACTIONS(1),
      [anon_sym_BANG] = ACTIONS(1),
      [anon_sym_TILDE] = ACTIONS(1),
      [anon_sym_AMP] = ACTIONS(1),
      [anon_sym_AMP_AMP] = ACTIONS(1),
      [anon_sym_AT] = ACTIONS(1),
      [anon_sym_DASH_DASH] = ACTIONS(1),
      [anon_sym_PLUS_PLUS] = ACTIONS(1),
      [anon_sym_PLUS] = ACTIONS(1),
      [anon_sym_SLASH] = ACTIONS(1),
      [anon_sym_PERCENT] = ACTIONS(1),
      [anon_sym_STAR_PERCENT] = ACTIONS(1),
      [anon_sym_PIPE_PIPE] = ACTIONS(1),
      [anon_sym_PIPE] = ACTIONS(1),
      [anon_sym_CARET] = ACTIONS(1),
      [anon_sym_EQ_EQ] = ACTIONS(1),
      [anon_sym_BANG_EQ] = ACTIONS(1),
      [anon_sym_GT] = ACTIONS(1),
      [anon_sym_GT_EQ] = ACTIONS(1),
      [anon_sym_LT_EQ] = ACTIONS(1),
      [anon_sym_LT] = ACTIONS(1),
      [anon_sym_LT_LT] = ACTIONS(1),
      [anon_sym_GT_GT] = ACTIONS(1),
      [anon_sym_DOT_DOT] = ACTIONS(1),
      [anon_sym_LBRACK] = ACTIONS(1),
      [anon_sym_RBRACK] = ACTIONS(1),
      [anon_sym_DOT] = ACTIONS(1),
      [anon_sym_try] = ACTIONS(1),
      [anon_sym_catch] = ACTIONS(1),
      [anon_sym_void] = ACTIONS(1),
      [anon_sym_bool] = ACTIONS(1),
      [anon_sym_ichar] = ACTIONS(1),
      [anon_sym_char] = ACTIONS(1),
      [anon_sym_short] = ACTIONS(1),
      [anon_sym_ushort] = ACTIONS(1),
      [anon_sym_int] = ACTIONS(1),
      [anon_sym_uint] = ACTIONS(1),
      [anon_sym_long] = ACTIONS(1),
      [anon_sym_ulong] = ACTIONS(1),
      [anon_sym_iptr] = ACTIONS(1),
      [anon_sym_uptr] = ACTIONS(1),
      [anon_sym_iptrdiff] = ACTIONS(1),
      [anon_sym_uptrdiff] = ACTIONS(1),
      [anon_sym_isize] = ACTIONS(1),
      [anon_sym_usize] = ACTIONS(1),
      [anon_sym_half] = ACTIONS(1),
      [anon_sym_float] = ACTIONS(1),
      [anon_sym_double] = ACTIONS(1),
      [anon_sym_quad] = ACTIONS(1),
      [anon_sym_fn] = ACTIONS(1),
      [anon_sym_module] = ACTIONS(1),
      [anon_sym_import] = ACTIONS(1),
      [anon_sym_extern] = ACTIONS(1),
      [anon_sym_const] = ACTIONS(1),
      [anon_sym_define] = ACTIONS(1),
      [anon_sym_distinct] = ACTIONS(1),
      [anon_sym_struct] = ACTIONS(1),
      [anon_sym_union] = ACTIONS(1),
      [anon_sym_inline] = ACTIONS(1),
      [anon_sym_enum] = ACTIONS(1),
      [anon_sym_COLON] = ACTIONS(1),
      [anon_sym_errtype] = ACTIONS(1),
      [sym_comment] = ACTIONS(3),
    },
    [1] = {
      [sym_source_file] = STATE(395),
      [sym_expression_statement] = STATE(2),
      [sym_return_statement] = STATE(2),
      [sym_if_statement] = STATE(2),
      [sym_while_statement] = STATE(2),
      [sym_for_statement] = STATE(2),
      [sym_defer_statement] = STATE(2),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_visiblitiy_modifier] = STATE(30),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(2),
      [sym_import_declaration] = STATE(2),
      [sym_function_declaration] = STATE(2),
      [sym_const_declaration] = STATE(2),
      [sym_var_declaration] = STATE(2),
      [sym_define_declaration] = STATE(2),
      [sym_struct_declaration] = STATE(2),
      [sym_union_declaration] = STATE(2),
      [sym_enum_declaration] = STATE(2),
      [sym_error_declaration] = STATE(2),
      [aux_sym_source_file_repeat1] = STATE(2),
      [ts_builtin_sym_end] = ACTIONS(5),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(9),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_private] = ACTIONS(25),
      [anon_sym_public] = ACTIONS(25),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [2] = {
      [sym_expression_statement] = STATE(3),
      [sym_return_statement] = STATE(3),
      [sym_if_statement] = STATE(3),
      [sym_while_statement] = STATE(3),
      [sym_for_statement] = STATE(3),
      [sym_defer_statement] = STATE(3),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_visiblitiy_modifier] = STATE(30),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(3),
      [sym_import_declaration] = STATE(3),
      [sym_function_declaration] = STATE(3),
      [sym_const_declaration] = STATE(3),
      [sym_var_declaration] = STATE(3),
      [sym_define_declaration] = STATE(3),
      [sym_struct_declaration] = STATE(3),
      [sym_union_declaration] = STATE(3),
      [sym_enum_declaration] = STATE(3),
      [sym_error_declaration] = STATE(3),
      [aux_sym_source_file_repeat1] = STATE(3),
      [ts_builtin_sym_end] = ACTIONS(75),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(77),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_private] = ACTIONS(25),
      [anon_sym_public] = ACTIONS(25),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [3] = {
      [sym_expression_statement] = STATE(3),
      [sym_return_statement] = STATE(3),
      [sym_if_statement] = STATE(3),
      [sym_while_statement] = STATE(3),
      [sym_for_statement] = STATE(3),
      [sym_defer_statement] = STATE(3),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_visiblitiy_modifier] = STATE(30),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(3),
      [sym_import_declaration] = STATE(3),
      [sym_function_declaration] = STATE(3),
      [sym_const_declaration] = STATE(3),
      [sym_var_declaration] = STATE(3),
      [sym_define_declaration] = STATE(3),
      [sym_struct_declaration] = STATE(3),
      [sym_union_declaration] = STATE(3),
      [sym_enum_declaration] = STATE(3),
      [sym_error_declaration] = STATE(3),
      [aux_sym_source_file_repeat1] = STATE(3),
      [ts_builtin_sym_end] = ACTIONS(79),
      [sym_identifier] = ACTIONS(81),
      [anon_sym_SEMI] = ACTIONS(84),
      [anon_sym_return] = ACTIONS(87),
      [anon_sym_if] = ACTIONS(90),
      [anon_sym_while] = ACTIONS(93),
      [anon_sym_LPAREN] = ACTIONS(96),
      [anon_sym_for] = ACTIONS(99),
      [anon_sym_defer] = ACTIONS(102),
      [sym_type_identifier] = ACTIONS(105),
      [anon_sym_private] = ACTIONS(108),
      [anon_sym_public] = ACTIONS(108),
      [anon_sym_true] = ACTIONS(111),
      [anon_sym_false] = ACTIONS(111),
      [anon_sym_SQUOTE] = ACTIONS(114),
      [anon_sym_DQUOTE] = ACTIONS(117),
      [anon_sym_BQUOTE] = ACTIONS(120),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(123),
      [anon_sym_x_DQUOTE] = ACTIONS(126),
      [anon_sym_b64_DQUOTE] = ACTIONS(129),
      [sym_integer_literal] = ACTIONS(132),
      [sym_float_literal] = ACTIONS(132),
      [sym_nil_literal] = ACTIONS(132),
      [anon_sym_DASH] = ACTIONS(135),
      [anon_sym_STAR] = ACTIONS(138),
      [anon_sym_BANG] = ACTIONS(138),
      [anon_sym_TILDE] = ACTIONS(138),
      [anon_sym_AMP] = ACTIONS(135),
      [anon_sym_AMP_AMP] = ACTIONS(138),
      [anon_sym_AT] = ACTIONS(138),
      [anon_sym_DASH_DASH] = ACTIONS(138),
      [anon_sym_PLUS_PLUS] = ACTIONS(138),
      [anon_sym_DOT_DOT] = ACTIONS(141),
      [anon_sym_try] = ACTIONS(144),
      [anon_sym_catch] = ACTIONS(147),
      [anon_sym_void] = ACTIONS(150),
      [anon_sym_bool] = ACTIONS(150),
      [anon_sym_ichar] = ACTIONS(150),
      [anon_sym_char] = ACTIONS(150),
      [anon_sym_short] = ACTIONS(150),
      [anon_sym_ushort] = ACTIONS(150),
      [anon_sym_int] = ACTIONS(150),
      [anon_sym_uint] = ACTIONS(150),
      [anon_sym_long] = ACTIONS(150),
      [anon_sym_ulong] = ACTIONS(150),
      [anon_sym_iptr] = ACTIONS(150),
      [anon_sym_uptr] = ACTIONS(150),
      [anon_sym_iptrdiff] = ACTIONS(150),
      [anon_sym_uptrdiff] = ACTIONS(150),
      [anon_sym_isize] = ACTIONS(150),
      [anon_sym_usize] = ACTIONS(150),
      [anon_sym_half] = ACTIONS(150),
      [anon_sym_float] = ACTIONS(150),
      [anon_sym_double] = ACTIONS(150),
      [anon_sym_quad] = ACTIONS(150),
      [anon_sym_fn] = ACTIONS(153),
      [anon_sym_module] = ACTIONS(156),
      [anon_sym_import] = ACTIONS(159),
      [anon_sym_extern] = ACTIONS(162),
      [anon_sym_const] = ACTIONS(165),
      [anon_sym_define] = ACTIONS(168),
      [anon_sym_struct] = ACTIONS(171),
      [anon_sym_union] = ACTIONS(174),
      [anon_sym_enum] = ACTIONS(177),
      [anon_sym_errtype] = ACTIONS(180),
      [sym_comment] = ACTIONS(3),
    },
    [4] = {
      [sym_expression_statement] = STATE(81),
      [sym_return_statement] = STATE(81),
      [sym_if_statement] = STATE(81),
      [sym_while_statement] = STATE(81),
      [sym_for_statement] = STATE(81),
      [sym_defer_statement] = STATE(81),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(81),
      [sym_import_declaration] = STATE(81),
      [sym_function_declaration] = STATE(81),
      [sym_compound_statement] = STATE(81),
      [sym_const_declaration] = STATE(81),
      [sym_var_declaration] = STATE(81),
      [sym_define_declaration] = STATE(81),
      [sym_struct_declaration] = STATE(81),
      [sym_union_declaration] = STATE(81),
      [sym_enum_declaration] = STATE(81),
      [sym_error_declaration] = STATE(81),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(183),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [5] = {
      [sym_expression_statement] = STATE(73),
      [sym_return_statement] = STATE(73),
      [sym_if_statement] = STATE(73),
      [sym_while_statement] = STATE(73),
      [sym_for_statement] = STATE(73),
      [sym_defer_statement] = STATE(73),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(73),
      [sym_import_declaration] = STATE(73),
      [sym_function_declaration] = STATE(73),
      [sym_compound_statement] = STATE(73),
      [sym_const_declaration] = STATE(73),
      [sym_var_declaration] = STATE(73),
      [sym_define_declaration] = STATE(73),
      [sym_struct_declaration] = STATE(73),
      [sym_union_declaration] = STATE(73),
      [sym_enum_declaration] = STATE(73),
      [sym_error_declaration] = STATE(73),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(187),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [6] = {
      [sym_expression_statement] = STATE(69),
      [sym_return_statement] = STATE(69),
      [sym_if_statement] = STATE(69),
      [sym_while_statement] = STATE(69),
      [sym_for_statement] = STATE(69),
      [sym_defer_statement] = STATE(69),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(69),
      [sym_import_declaration] = STATE(69),
      [sym_function_declaration] = STATE(69),
      [sym_compound_statement] = STATE(69),
      [sym_const_declaration] = STATE(69),
      [sym_var_declaration] = STATE(69),
      [sym_define_declaration] = STATE(69),
      [sym_struct_declaration] = STATE(69),
      [sym_union_declaration] = STATE(69),
      [sym_enum_declaration] = STATE(69),
      [sym_error_declaration] = STATE(69),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(197),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [7] = {
      [sym_expression_statement] = STATE(71),
      [sym_return_statement] = STATE(71),
      [sym_if_statement] = STATE(71),
      [sym_while_statement] = STATE(71),
      [sym_for_statement] = STATE(71),
      [sym_defer_statement] = STATE(71),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(71),
      [sym_import_declaration] = STATE(71),
      [sym_function_declaration] = STATE(71),
      [sym_compound_statement] = STATE(71),
      [sym_const_declaration] = STATE(71),
      [sym_var_declaration] = STATE(71),
      [sym_define_declaration] = STATE(71),
      [sym_struct_declaration] = STATE(71),
      [sym_union_declaration] = STATE(71),
      [sym_enum_declaration] = STATE(71),
      [sym_error_declaration] = STATE(71),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(199),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [8] = {
      [sym_expression_statement] = STATE(64),
      [sym_return_statement] = STATE(64),
      [sym_if_statement] = STATE(64),
      [sym_while_statement] = STATE(64),
      [sym_for_statement] = STATE(64),
      [sym_defer_statement] = STATE(64),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(64),
      [sym_import_declaration] = STATE(64),
      [sym_function_declaration] = STATE(64),
      [sym_compound_statement] = STATE(64),
      [sym_const_declaration] = STATE(64),
      [sym_var_declaration] = STATE(64),
      [sym_define_declaration] = STATE(64),
      [sym_struct_declaration] = STATE(64),
      [sym_union_declaration] = STATE(64),
      [sym_enum_declaration] = STATE(64),
      [sym_error_declaration] = STATE(64),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(201),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [9] = {
      [sym_expression_statement] = STATE(65),
      [sym_return_statement] = STATE(65),
      [sym_if_statement] = STATE(65),
      [sym_while_statement] = STATE(65),
      [sym_for_statement] = STATE(65),
      [sym_defer_statement] = STATE(65),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(65),
      [sym_import_declaration] = STATE(65),
      [sym_function_declaration] = STATE(65),
      [sym_compound_statement] = STATE(65),
      [sym_const_declaration] = STATE(65),
      [sym_var_declaration] = STATE(65),
      [sym_define_declaration] = STATE(65),
      [sym_struct_declaration] = STATE(65),
      [sym_union_declaration] = STATE(65),
      [sym_enum_declaration] = STATE(65),
      [sym_error_declaration] = STATE(65),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(203),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [10] = {
      [sym_expression_statement] = STATE(13),
      [sym_return_statement] = STATE(13),
      [sym_if_statement] = STATE(13),
      [sym_while_statement] = STATE(13),
      [sym_for_statement] = STATE(13),
      [sym_defer_statement] = STATE(13),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(13),
      [sym_import_declaration] = STATE(13),
      [sym_function_declaration] = STATE(13),
      [sym_const_declaration] = STATE(13),
      [sym_var_declaration] = STATE(13),
      [sym_define_declaration] = STATE(13),
      [sym_struct_declaration] = STATE(13),
      [sym_union_declaration] = STATE(13),
      [sym_enum_declaration] = STATE(13),
      [sym_error_declaration] = STATE(13),
      [aux_sym_compound_statement_repeat1] = STATE(13),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(205),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_RBRACE] = ACTIONS(207),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [11] = {
      [sym_expression_statement] = STATE(82),
      [sym_return_statement] = STATE(82),
      [sym_if_statement] = STATE(82),
      [sym_while_statement] = STATE(82),
      [sym_for_statement] = STATE(82),
      [sym_defer_statement] = STATE(82),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(82),
      [sym_import_declaration] = STATE(82),
      [sym_function_declaration] = STATE(82),
      [sym_compound_statement] = STATE(82),
      [sym_const_declaration] = STATE(82),
      [sym_var_declaration] = STATE(82),
      [sym_define_declaration] = STATE(82),
      [sym_struct_declaration] = STATE(82),
      [sym_union_declaration] = STATE(82),
      [sym_enum_declaration] = STATE(82),
      [sym_error_declaration] = STATE(82),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(209),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [12] = {
      [sym_expression_statement] = STATE(53),
      [sym_return_statement] = STATE(53),
      [sym_if_statement] = STATE(53),
      [sym_while_statement] = STATE(53),
      [sym_for_statement] = STATE(53),
      [sym_defer_statement] = STATE(53),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(53),
      [sym_import_declaration] = STATE(53),
      [sym_function_declaration] = STATE(53),
      [sym_compound_statement] = STATE(53),
      [sym_const_declaration] = STATE(53),
      [sym_var_declaration] = STATE(53),
      [sym_define_declaration] = STATE(53),
      [sym_struct_declaration] = STATE(53),
      [sym_union_declaration] = STATE(53),
      [sym_enum_declaration] = STATE(53),
      [sym_error_declaration] = STATE(53),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(211),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [13] = {
      [sym_expression_statement] = STATE(13),
      [sym_return_statement] = STATE(13),
      [sym_if_statement] = STATE(13),
      [sym_while_statement] = STATE(13),
      [sym_for_statement] = STATE(13),
      [sym_defer_statement] = STATE(13),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(13),
      [sym_import_declaration] = STATE(13),
      [sym_function_declaration] = STATE(13),
      [sym_const_declaration] = STATE(13),
      [sym_var_declaration] = STATE(13),
      [sym_define_declaration] = STATE(13),
      [sym_struct_declaration] = STATE(13),
      [sym_union_declaration] = STATE(13),
      [sym_enum_declaration] = STATE(13),
      [sym_error_declaration] = STATE(13),
      [aux_sym_compound_statement_repeat1] = STATE(13),
      [sym_identifier] = ACTIONS(213),
      [anon_sym_SEMI] = ACTIONS(216),
      [anon_sym_return] = ACTIONS(219),
      [anon_sym_if] = ACTIONS(222),
      [anon_sym_while] = ACTIONS(225),
      [anon_sym_LPAREN] = ACTIONS(228),
      [anon_sym_for] = ACTIONS(231),
      [anon_sym_defer] = ACTIONS(234),
      [sym_type_identifier] = ACTIONS(237),
      [anon_sym_RBRACE] = ACTIONS(240),
      [anon_sym_true] = ACTIONS(242),
      [anon_sym_false] = ACTIONS(242),
      [anon_sym_SQUOTE] = ACTIONS(245),
      [anon_sym_DQUOTE] = ACTIONS(248),
      [anon_sym_BQUOTE] = ACTIONS(251),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(254),
      [anon_sym_x_DQUOTE] = ACTIONS(257),
      [anon_sym_b64_DQUOTE] = ACTIONS(260),
      [sym_integer_literal] = ACTIONS(263),
      [sym_float_literal] = ACTIONS(263),
      [sym_nil_literal] = ACTIONS(263),
      [anon_sym_DASH] = ACTIONS(266),
      [anon_sym_STAR] = ACTIONS(269),
      [anon_sym_BANG] = ACTIONS(269),
      [anon_sym_TILDE] = ACTIONS(269),
      [anon_sym_AMP] = ACTIONS(266),
      [anon_sym_AMP_AMP] = ACTIONS(269),
      [anon_sym_AT] = ACTIONS(269),
      [anon_sym_DASH_DASH] = ACTIONS(269),
      [anon_sym_PLUS_PLUS] = ACTIONS(269),
      [anon_sym_DOT_DOT] = ACTIONS(272),
      [anon_sym_try] = ACTIONS(275),
      [anon_sym_catch] = ACTIONS(278),
      [anon_sym_void] = ACTIONS(281),
      [anon_sym_bool] = ACTIONS(281),
      [anon_sym_ichar] = ACTIONS(281),
      [anon_sym_char] = ACTIONS(281),
      [anon_sym_short] = ACTIONS(281),
      [anon_sym_ushort] = ACTIONS(281),
      [anon_sym_int] = ACTIONS(281),
      [anon_sym_uint] = ACTIONS(281),
      [anon_sym_long] = ACTIONS(281),
      [anon_sym_ulong] = ACTIONS(281),
      [anon_sym_iptr] = ACTIONS(281),
      [anon_sym_uptr] = ACTIONS(281),
      [anon_sym_iptrdiff] = ACTIONS(281),
      [anon_sym_uptrdiff] = ACTIONS(281),
      [anon_sym_isize] = ACTIONS(281),
      [anon_sym_usize] = ACTIONS(281),
      [anon_sym_half] = ACTIONS(281),
      [anon_sym_float] = ACTIONS(281),
      [anon_sym_double] = ACTIONS(281),
      [anon_sym_quad] = ACTIONS(281),
      [anon_sym_fn] = ACTIONS(284),
      [anon_sym_module] = ACTIONS(287),
      [anon_sym_import] = ACTIONS(290),
      [anon_sym_extern] = ACTIONS(293),
      [anon_sym_const] = ACTIONS(296),
      [anon_sym_define] = ACTIONS(299),
      [anon_sym_struct] = ACTIONS(302),
      [anon_sym_union] = ACTIONS(305),
      [anon_sym_enum] = ACTIONS(308),
      [anon_sym_errtype] = ACTIONS(311),
      [sym_comment] = ACTIONS(3),
    },
    [14] = {
      [sym_expression_statement] = STATE(54),
      [sym_return_statement] = STATE(54),
      [sym_if_statement] = STATE(54),
      [sym_while_statement] = STATE(54),
      [sym_for_statement] = STATE(54),
      [sym_defer_statement] = STATE(54),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(54),
      [sym_import_declaration] = STATE(54),
      [sym_function_declaration] = STATE(54),
      [sym_compound_statement] = STATE(54),
      [sym_const_declaration] = STATE(54),
      [sym_var_declaration] = STATE(54),
      [sym_define_declaration] = STATE(54),
      [sym_struct_declaration] = STATE(54),
      [sym_union_declaration] = STATE(54),
      [sym_enum_declaration] = STATE(54),
      [sym_error_declaration] = STATE(54),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(314),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [15] = {
      [sym_expression_statement] = STATE(73),
      [sym_return_statement] = STATE(73),
      [sym_if_statement] = STATE(73),
      [sym_while_statement] = STATE(73),
      [sym_for_statement] = STATE(73),
      [sym_defer_statement] = STATE(73),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(73),
      [sym_import_declaration] = STATE(73),
      [sym_function_declaration] = STATE(73),
      [sym_compound_statement] = STATE(73),
      [sym_const_declaration] = STATE(73),
      [sym_var_declaration] = STATE(73),
      [sym_define_declaration] = STATE(73),
      [sym_struct_declaration] = STATE(73),
      [sym_union_declaration] = STATE(73),
      [sym_enum_declaration] = STATE(73),
      [sym_error_declaration] = STATE(73),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(187),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [16] = {
      [sym_expression_statement] = STATE(65),
      [sym_return_statement] = STATE(65),
      [sym_if_statement] = STATE(65),
      [sym_while_statement] = STATE(65),
      [sym_for_statement] = STATE(65),
      [sym_defer_statement] = STATE(65),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(65),
      [sym_import_declaration] = STATE(65),
      [sym_function_declaration] = STATE(65),
      [sym_compound_statement] = STATE(65),
      [sym_const_declaration] = STATE(65),
      [sym_var_declaration] = STATE(65),
      [sym_define_declaration] = STATE(65),
      [sym_struct_declaration] = STATE(65),
      [sym_union_declaration] = STATE(65),
      [sym_enum_declaration] = STATE(65),
      [sym_error_declaration] = STATE(65),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(203),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [17] = {
      [sym_expression_statement] = STATE(67),
      [sym_return_statement] = STATE(67),
      [sym_if_statement] = STATE(67),
      [sym_while_statement] = STATE(67),
      [sym_for_statement] = STATE(67),
      [sym_defer_statement] = STATE(67),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(67),
      [sym_import_declaration] = STATE(67),
      [sym_function_declaration] = STATE(67),
      [sym_compound_statement] = STATE(67),
      [sym_const_declaration] = STATE(67),
      [sym_var_declaration] = STATE(67),
      [sym_define_declaration] = STATE(67),
      [sym_struct_declaration] = STATE(67),
      [sym_union_declaration] = STATE(67),
      [sym_enum_declaration] = STATE(67),
      [sym_error_declaration] = STATE(67),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(316),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [18] = {
      [sym_expression_statement] = STATE(84),
      [sym_return_statement] = STATE(84),
      [sym_if_statement] = STATE(84),
      [sym_while_statement] = STATE(84),
      [sym_for_statement] = STATE(84),
      [sym_defer_statement] = STATE(84),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(84),
      [sym_import_declaration] = STATE(84),
      [sym_function_declaration] = STATE(84),
      [sym_compound_statement] = STATE(84),
      [sym_const_declaration] = STATE(84),
      [sym_var_declaration] = STATE(84),
      [sym_define_declaration] = STATE(84),
      [sym_struct_declaration] = STATE(84),
      [sym_union_declaration] = STATE(84),
      [sym_enum_declaration] = STATE(84),
      [sym_error_declaration] = STATE(84),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(318),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [19] = {
      [sym_expression_statement] = STATE(67),
      [sym_return_statement] = STATE(67),
      [sym_if_statement] = STATE(67),
      [sym_while_statement] = STATE(67),
      [sym_for_statement] = STATE(67),
      [sym_defer_statement] = STATE(67),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(67),
      [sym_import_declaration] = STATE(67),
      [sym_function_declaration] = STATE(67),
      [sym_compound_statement] = STATE(67),
      [sym_const_declaration] = STATE(67),
      [sym_var_declaration] = STATE(67),
      [sym_define_declaration] = STATE(67),
      [sym_struct_declaration] = STATE(67),
      [sym_union_declaration] = STATE(67),
      [sym_enum_declaration] = STATE(67),
      [sym_error_declaration] = STATE(67),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(316),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [20] = {
      [sym_expression_statement] = STATE(64),
      [sym_return_statement] = STATE(64),
      [sym_if_statement] = STATE(64),
      [sym_while_statement] = STATE(64),
      [sym_for_statement] = STATE(64),
      [sym_defer_statement] = STATE(64),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(64),
      [sym_import_declaration] = STATE(64),
      [sym_function_declaration] = STATE(64),
      [sym_compound_statement] = STATE(64),
      [sym_const_declaration] = STATE(64),
      [sym_var_declaration] = STATE(64),
      [sym_define_declaration] = STATE(64),
      [sym_struct_declaration] = STATE(64),
      [sym_union_declaration] = STATE(64),
      [sym_enum_declaration] = STATE(64),
      [sym_error_declaration] = STATE(64),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(201),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [21] = {
      [sym_expression_statement] = STATE(68),
      [sym_return_statement] = STATE(68),
      [sym_if_statement] = STATE(68),
      [sym_while_statement] = STATE(68),
      [sym_for_statement] = STATE(68),
      [sym_defer_statement] = STATE(68),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(68),
      [sym_import_declaration] = STATE(68),
      [sym_function_declaration] = STATE(68),
      [sym_compound_statement] = STATE(68),
      [sym_const_declaration] = STATE(68),
      [sym_var_declaration] = STATE(68),
      [sym_define_declaration] = STATE(68),
      [sym_struct_declaration] = STATE(68),
      [sym_union_declaration] = STATE(68),
      [sym_enum_declaration] = STATE(68),
      [sym_error_declaration] = STATE(68),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(320),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [22] = {
      [sym_expression_statement] = STATE(68),
      [sym_return_statement] = STATE(68),
      [sym_if_statement] = STATE(68),
      [sym_while_statement] = STATE(68),
      [sym_for_statement] = STATE(68),
      [sym_defer_statement] = STATE(68),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(68),
      [sym_import_declaration] = STATE(68),
      [sym_function_declaration] = STATE(68),
      [sym_compound_statement] = STATE(68),
      [sym_const_declaration] = STATE(68),
      [sym_var_declaration] = STATE(68),
      [sym_define_declaration] = STATE(68),
      [sym_struct_declaration] = STATE(68),
      [sym_union_declaration] = STATE(68),
      [sym_enum_declaration] = STATE(68),
      [sym_error_declaration] = STATE(68),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(320),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [23] = {
      [sym_expression_statement] = STATE(69),
      [sym_return_statement] = STATE(69),
      [sym_if_statement] = STATE(69),
      [sym_while_statement] = STATE(69),
      [sym_for_statement] = STATE(69),
      [sym_defer_statement] = STATE(69),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(69),
      [sym_import_declaration] = STATE(69),
      [sym_function_declaration] = STATE(69),
      [sym_compound_statement] = STATE(69),
      [sym_const_declaration] = STATE(69),
      [sym_var_declaration] = STATE(69),
      [sym_define_declaration] = STATE(69),
      [sym_struct_declaration] = STATE(69),
      [sym_union_declaration] = STATE(69),
      [sym_enum_declaration] = STATE(69),
      [sym_error_declaration] = STATE(69),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(197),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [24] = {
      [sym_expression_statement] = STATE(53),
      [sym_return_statement] = STATE(53),
      [sym_if_statement] = STATE(53),
      [sym_while_statement] = STATE(53),
      [sym_for_statement] = STATE(53),
      [sym_defer_statement] = STATE(53),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(53),
      [sym_import_declaration] = STATE(53),
      [sym_function_declaration] = STATE(53),
      [sym_compound_statement] = STATE(53),
      [sym_const_declaration] = STATE(53),
      [sym_var_declaration] = STATE(53),
      [sym_define_declaration] = STATE(53),
      [sym_struct_declaration] = STATE(53),
      [sym_union_declaration] = STATE(53),
      [sym_enum_declaration] = STATE(53),
      [sym_error_declaration] = STATE(53),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(211),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [25] = {
      [sym_expression_statement] = STATE(10),
      [sym_return_statement] = STATE(10),
      [sym_if_statement] = STATE(10),
      [sym_while_statement] = STATE(10),
      [sym_for_statement] = STATE(10),
      [sym_defer_statement] = STATE(10),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(10),
      [sym_import_declaration] = STATE(10),
      [sym_function_declaration] = STATE(10),
      [sym_const_declaration] = STATE(10),
      [sym_var_declaration] = STATE(10),
      [sym_define_declaration] = STATE(10),
      [sym_struct_declaration] = STATE(10),
      [sym_union_declaration] = STATE(10),
      [sym_enum_declaration] = STATE(10),
      [sym_error_declaration] = STATE(10),
      [aux_sym_compound_statement_repeat1] = STATE(10),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(322),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_RBRACE] = ACTIONS(324),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [26] = {
      [sym_expression_statement] = STATE(71),
      [sym_return_statement] = STATE(71),
      [sym_if_statement] = STATE(71),
      [sym_while_statement] = STATE(71),
      [sym_for_statement] = STATE(71),
      [sym_defer_statement] = STATE(71),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(71),
      [sym_import_declaration] = STATE(71),
      [sym_function_declaration] = STATE(71),
      [sym_compound_statement] = STATE(71),
      [sym_const_declaration] = STATE(71),
      [sym_var_declaration] = STATE(71),
      [sym_define_declaration] = STATE(71),
      [sym_struct_declaration] = STATE(71),
      [sym_union_declaration] = STATE(71),
      [sym_enum_declaration] = STATE(71),
      [sym_error_declaration] = STATE(71),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(199),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [27] = {
      [sym_expression_statement] = STATE(70),
      [sym_return_statement] = STATE(70),
      [sym_if_statement] = STATE(70),
      [sym_while_statement] = STATE(70),
      [sym_for_statement] = STATE(70),
      [sym_defer_statement] = STATE(70),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(70),
      [sym_import_declaration] = STATE(70),
      [sym_function_declaration] = STATE(70),
      [sym_compound_statement] = STATE(70),
      [sym_const_declaration] = STATE(70),
      [sym_var_declaration] = STATE(70),
      [sym_define_declaration] = STATE(70),
      [sym_struct_declaration] = STATE(70),
      [sym_union_declaration] = STATE(70),
      [sym_enum_declaration] = STATE(70),
      [sym_error_declaration] = STATE(70),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(326),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [28] = {
      [sym_expression_statement] = STATE(82),
      [sym_return_statement] = STATE(82),
      [sym_if_statement] = STATE(82),
      [sym_while_statement] = STATE(82),
      [sym_for_statement] = STATE(82),
      [sym_defer_statement] = STATE(82),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(82),
      [sym_import_declaration] = STATE(82),
      [sym_function_declaration] = STATE(82),
      [sym_compound_statement] = STATE(82),
      [sym_const_declaration] = STATE(82),
      [sym_var_declaration] = STATE(82),
      [sym_define_declaration] = STATE(82),
      [sym_struct_declaration] = STATE(82),
      [sym_union_declaration] = STATE(82),
      [sym_enum_declaration] = STATE(82),
      [sym_error_declaration] = STATE(82),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(209),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [29] = {
      [sym_expression_statement] = STATE(81),
      [sym_return_statement] = STATE(81),
      [sym_if_statement] = STATE(81),
      [sym_while_statement] = STATE(81),
      [sym_for_statement] = STATE(81),
      [sym_defer_statement] = STATE(81),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(81),
      [sym_import_declaration] = STATE(81),
      [sym_function_declaration] = STATE(81),
      [sym_compound_statement] = STATE(81),
      [sym_const_declaration] = STATE(81),
      [sym_var_declaration] = STATE(81),
      [sym_define_declaration] = STATE(81),
      [sym_struct_declaration] = STATE(81),
      [sym_union_declaration] = STATE(81),
      [sym_enum_declaration] = STATE(81),
      [sym_error_declaration] = STATE(81),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(183),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(189),
      [anon_sym_while] = ACTIONS(191),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(193),
      [anon_sym_defer] = ACTIONS(195),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_LBRACE] = ACTIONS(185),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [30] = {
      [sym_expression_statement] = STATE(91),
      [sym_return_statement] = STATE(91),
      [sym_if_statement] = STATE(91),
      [sym_while_statement] = STATE(91),
      [sym_for_statement] = STATE(91),
      [sym_defer_statement] = STATE(91),
      [sym_scoped_identifier] = STATE(202),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(231),
      [sym_char_literal] = STATE(231),
      [sym_string_literal] = STATE(231),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(231),
      [sym_unary_expression] = STATE(231),
      [sym_binary_expression] = STATE(231),
      [sym_parenthesized_expression] = STATE(231),
      [sym_range_expression] = STATE(231),
      [sym_subscript_expression] = STATE(231),
      [sym_call_expression] = STATE(231),
      [sym_field_expression] = STATE(231),
      [sym_try_expression] = STATE(231),
      [sym_catch_expression] = STATE(231),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_module_declaration] = STATE(91),
      [sym_import_declaration] = STATE(91),
      [sym_function_declaration] = STATE(91),
      [sym_const_declaration] = STATE(91),
      [sym_var_declaration] = STATE(91),
      [sym_define_declaration] = STATE(91),
      [sym_struct_declaration] = STATE(91),
      [sym_union_declaration] = STATE(91),
      [sym_enum_declaration] = STATE(91),
      [sym_error_declaration] = STATE(91),
      [sym_identifier] = ACTIONS(7),
      [anon_sym_SEMI] = ACTIONS(328),
      [anon_sym_return] = ACTIONS(11),
      [anon_sym_if] = ACTIONS(13),
      [anon_sym_while] = ACTIONS(15),
      [anon_sym_LPAREN] = ACTIONS(17),
      [anon_sym_for] = ACTIONS(19),
      [anon_sym_defer] = ACTIONS(21),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(41),
      [sym_float_literal] = ACTIONS(41),
      [sym_nil_literal] = ACTIONS(41),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [anon_sym_fn] = ACTIONS(55),
      [anon_sym_module] = ACTIONS(57),
      [anon_sym_import] = ACTIONS(59),
      [anon_sym_extern] = ACTIONS(61),
      [anon_sym_const] = ACTIONS(63),
      [anon_sym_define] = ACTIONS(65),
      [anon_sym_struct] = ACTIONS(67),
      [anon_sym_union] = ACTIONS(69),
      [anon_sym_enum] = ACTIONS(71),
      [anon_sym_errtype] = ACTIONS(73),
      [sym_comment] = ACTIONS(3),
    },
    [31] = {
      [sym_scoped_identifier] = STATE(104),
      [sym_boolean_literal] = STATE(111),
      [sym_char_literal] = STATE(111),
      [sym_string_literal] = STATE(111),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(111),
      [sym_unary_expression] = STATE(111),
      [sym_binary_expression] = STATE(111),
      [sym_parenthesized_expression] = STATE(111),
      [sym_range_expression] = STATE(111),
      [sym_subscript_expression] = STATE(111),
      [sym_call_expression] = STATE(111),
      [sym_field_expression] = STATE(111),
      [sym_try_expression] = STATE(111),
      [sym_catch_expression] = STATE(111),
      [sym_identifier] = ACTIONS(330),
      [anon_sym_SEMI] = ACTIONS(332),
      [anon_sym_LPAREN] = ACTIONS(332),
      [anon_sym_RPAREN] = ACTIONS(332),
      [anon_sym_COMMA] = ACTIONS(332),
      [anon_sym_RBRACE] = ACTIONS(332),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(334),
      [sym_float_literal] = ACTIONS(334),
      [sym_nil_literal] = ACTIONS(334),
      [anon_sym_EQ] = ACTIONS(336),
      [anon_sym_PLUS_EQ] = ACTIONS(332),
      [anon_sym_DASH_EQ] = ACTIONS(332),
      [anon_sym_STAR_EQ] = ACTIONS(332),
      [anon_sym_SLASH_EQ] = ACTIONS(332),
      [anon_sym_PERCENT_EQ] = ACTIONS(332),
      [anon_sym_STAR_PERCENT_EQ] = ACTIONS(332),
      [anon_sym_AMP_EQ] = ACTIONS(332),
      [anon_sym_PIPE_EQ] = ACTIONS(332),
      [anon_sym_CARET_EQ] = ACTIONS(332),
      [anon_sym_LT_LT_EQ] = ACTIONS(332),
      [anon_sym_GT_GT_EQ] = ACTIONS(332),
      [anon_sym_DASH] = ACTIONS(336),
      [anon_sym_STAR] = ACTIONS(336),
      [anon_sym_BANG] = ACTIONS(43),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(336),
      [anon_sym_AMP_AMP] = ACTIONS(332),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(332),
      [anon_sym_PLUS_PLUS] = ACTIONS(332),
      [anon_sym_PLUS] = ACTIONS(336),
      [anon_sym_SLASH] = ACTIONS(336),
      [anon_sym_PERCENT] = ACTIONS(336),
      [anon_sym_STAR_PERCENT] = ACTIONS(336),
      [anon_sym_PIPE_PIPE] = ACTIONS(332),
      [anon_sym_PIPE] = ACTIONS(336),
      [anon_sym_CARET] = ACTIONS(336),
      [anon_sym_EQ_EQ] = ACTIONS(332),
      [anon_sym_BANG_EQ] = ACTIONS(332),
      [anon_sym_GT] = ACTIONS(336),
      [anon_sym_GT_EQ] = ACTIONS(332),
      [anon_sym_LT_EQ] = ACTIONS(332),
      [anon_sym_LT] = ACTIONS(336),
      [anon_sym_LT_LT] = ACTIONS(336),
      [anon_sym_GT_GT] = ACTIONS(336),
      [anon_sym_DOT_DOT] = ACTIONS(332),
      [anon_sym_LBRACK] = ACTIONS(332),
      [anon_sym_RBRACK] = ACTIONS(332),
      [anon_sym_DOT] = ACTIONS(336),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [sym_comment] = ACTIONS(3),
    },
    [32] = {
      [sym_scoped_identifier] = STATE(100),
      [sym_boolean_literal] = STATE(119),
      [sym_char_literal] = STATE(119),
      [sym_string_literal] = STATE(119),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(119),
      [sym_unary_expression] = STATE(119),
      [sym_binary_expression] = STATE(119),
      [sym_parenthesized_expression] = STATE(119),
      [sym_range_expression] = STATE(119),
      [sym_subscript_expression] = STATE(119),
      [sym_call_expression] = STATE(119),
      [sym_field_expression] = STATE(119),
      [sym_try_expression] = STATE(119),
      [sym_catch_expression] = STATE(119),
      [sym_identifier] = ACTIONS(338),
      [anon_sym_SEMI] = ACTIONS(340),
      [anon_sym_LPAREN] = ACTIONS(340),
      [anon_sym_RPAREN] = ACTIONS(340),
      [anon_sym_COMMA] = ACTIONS(340),
      [anon_sym_RBRACE] = ACTIONS(340),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(342),
      [sym_float_literal] = ACTIONS(342),
      [sym_nil_literal] = ACTIONS(342),
      [anon_sym_EQ] = ACTIONS(344),
      [anon_sym_PLUS_EQ] = ACTIONS(340),
      [anon_sym_DASH_EQ] = ACTIONS(340),
      [anon_sym_STAR_EQ] = ACTIONS(340),
      [anon_sym_SLASH_EQ] = ACTIONS(340),
      [anon_sym_PERCENT_EQ] = ACTIONS(340),
      [anon_sym_STAR_PERCENT_EQ] = ACTIONS(340),
      [anon_sym_AMP_EQ] = ACTIONS(340),
      [anon_sym_PIPE_EQ] = ACTIONS(340),
      [anon_sym_CARET_EQ] = ACTIONS(340),
      [anon_sym_LT_LT_EQ] = ACTIONS(340),
      [anon_sym_GT_GT_EQ] = ACTIONS(340),
      [anon_sym_DASH] = ACTIONS(344),
      [anon_sym_STAR] = ACTIONS(344),
      [anon_sym_BANG] = ACTIONS(43),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(344),
      [anon_sym_AMP_AMP] = ACTIONS(340),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(340),
      [anon_sym_PLUS_PLUS] = ACTIONS(340),
      [anon_sym_PLUS] = ACTIONS(344),
      [anon_sym_SLASH] = ACTIONS(344),
      [anon_sym_PERCENT] = ACTIONS(344),
      [anon_sym_STAR_PERCENT] = ACTIONS(344),
      [anon_sym_PIPE_PIPE] = ACTIONS(340),
      [anon_sym_PIPE] = ACTIONS(344),
      [anon_sym_CARET] = ACTIONS(344),
      [anon_sym_EQ_EQ] = ACTIONS(340),
      [anon_sym_BANG_EQ] = ACTIONS(340),
      [anon_sym_GT] = ACTIONS(344),
      [anon_sym_GT_EQ] = ACTIONS(340),
      [anon_sym_LT_EQ] = ACTIONS(340),
      [anon_sym_LT] = ACTIONS(344),
      [anon_sym_LT_LT] = ACTIONS(344),
      [anon_sym_GT_GT] = ACTIONS(344),
      [anon_sym_DOT_DOT] = ACTIONS(340),
      [anon_sym_LBRACK] = ACTIONS(340),
      [anon_sym_RBRACK] = ACTIONS(340),
      [anon_sym_DOT] = ACTIONS(344),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [sym_comment] = ACTIONS(3),
    },
    [33] = {
      [sym_type_parameters] = STATE(83),
      [ts_builtin_sym_end] = ACTIONS(346),
      [sym_identifier] = ACTIONS(348),
      [anon_sym_SEMI] = ACTIONS(346),
      [anon_sym_return] = ACTIONS(348),
      [anon_sym_if] = ACTIONS(348),
      [anon_sym_else] = ACTIONS(348),
      [anon_sym_while] = ACTIONS(348),
      [anon_sym_LPAREN] = ACTIONS(346),
      [anon_sym_for] = ACTIONS(348),
      [anon_sym_defer] = ACTIONS(348),
      [anon_sym_COLON_COLON] = ACTIONS(350),
      [sym_type_identifier] = ACTIONS(348),
      [anon_sym_private] = ACTIONS(348),
      [anon_sym_public] = ACTIONS(348),
      [anon_sym_RBRACE] = ACTIONS(346),
      [anon_sym_true] = ACTIONS(348),
      [anon_sym_false] = ACTIONS(348),
      [anon_sym_SQUOTE] = ACTIONS(346),
      [anon_sym_DQUOTE] = ACTIONS(348),
      [anon_sym_BQUOTE] = ACTIONS(346),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(346),
      [anon_sym_x_DQUOTE] = ACTIONS(346),
      [anon_sym_b64_DQUOTE] = ACTIONS(346),
      [sym_integer_literal] = ACTIONS(348),
      [sym_float_literal] = ACTIONS(348),
      [sym_nil_literal] = ACTIONS(348),
      [anon_sym_DASH] = ACTIONS(348),
      [anon_sym_STAR] = ACTIONS(346),
      [anon_sym_BANG] = ACTIONS(346),
      [anon_sym_TILDE] = ACTIONS(346),
      [anon_sym_AMP] = ACTIONS(348),
      [anon_sym_AMP_AMP] = ACTIONS(346),
      [anon_sym_AT] = ACTIONS(346),
      [anon_sym_DASH_DASH] = ACTIONS(346),
      [anon_sym_PLUS_PLUS] = ACTIONS(346),
      [anon_sym_LT] = ACTIONS(352),
      [anon_sym_DOT_DOT] = ACTIONS(346),
      [anon_sym_try] = ACTIONS(348),
      [anon_sym_catch] = ACTIONS(348),
      [anon_sym_void] = ACTIONS(348),
      [anon_sym_bool] = ACTIONS(348),
      [anon_sym_ichar] = ACTIONS(348),
      [anon_sym_char] = ACTIONS(348),
      [anon_sym_short] = ACTIONS(348),
      [anon_sym_ushort] = ACTIONS(348),
      [anon_sym_int] = ACTIONS(348),
      [anon_sym_uint] = ACTIONS(348),
      [anon_sym_long] = ACTIONS(348),
      [anon_sym_ulong] = ACTIONS(348),
      [anon_sym_iptr] = ACTIONS(348),
      [anon_sym_uptr] = ACTIONS(348),
      [anon_sym_iptrdiff] = ACTIONS(348),
      [anon_sym_uptrdiff] = ACTIONS(348),
      [anon_sym_isize] = ACTIONS(348),
      [anon_sym_usize] = ACTIONS(348),
      [anon_sym_half] = ACTIONS(348),
      [anon_sym_float] = ACTIONS(348),
      [anon_sym_double] = ACTIONS(348),
      [anon_sym_quad] = ACTIONS(348),
      [anon_sym_fn] = ACTIONS(348),
      [anon_sym_module] = ACTIONS(348),
      [anon_sym_import] = ACTIONS(348),
      [anon_sym_extern] = ACTIONS(348),
      [anon_sym_const] = ACTIONS(348),
      [anon_sym_define] = ACTIONS(348),
      [anon_sym_struct] = ACTIONS(348),
      [anon_sym_union] = ACTIONS(348),
      [anon_sym_enum] = ACTIONS(348),
      [anon_sym_errtype] = ACTIONS(348),
      [sym_comment] = ACTIONS(3),
    },
    [34] = {
      [ts_builtin_sym_end] = ACTIONS(354),
      [sym_identifier] = ACTIONS(356),
      [anon_sym_SEMI] = ACTIONS(354),
      [anon_sym_return] = ACTIONS(356),
      [anon_sym_if] = ACTIONS(356),
      [anon_sym_else] = ACTIONS(356),
      [anon_sym_while] = ACTIONS(356),
      [anon_sym_LPAREN] = ACTIONS(354),
      [anon_sym_for] = ACTIONS(356),
      [anon_sym_defer] = ACTIONS(356),
      [anon_sym_COLON_COLON] = ACTIONS(354),
      [sym_type_identifier] = ACTIONS(356),
      [anon_sym_private] = ACTIONS(356),
      [anon_sym_public] = ACTIONS(356),
      [anon_sym_RBRACE] = ACTIONS(354),
      [anon_sym_true] = ACTIONS(356),
      [anon_sym_false] = ACTIONS(356),
      [anon_sym_SQUOTE] = ACTIONS(354),
      [anon_sym_DQUOTE] = ACTIONS(356),
      [anon_sym_BQUOTE] = ACTIONS(354),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(354),
      [anon_sym_x_DQUOTE] = ACTIONS(354),
      [anon_sym_b64_DQUOTE] = ACTIONS(354),
      [sym_integer_literal] = ACTIONS(356),
      [sym_float_literal] = ACTIONS(356),
      [sym_nil_literal] = ACTIONS(356),
      [anon_sym_DASH] = ACTIONS(356),
      [anon_sym_STAR] = ACTIONS(354),
      [anon_sym_BANG] = ACTIONS(354),
      [anon_sym_TILDE] = ACTIONS(354),
      [anon_sym_AMP] = ACTIONS(356),
      [anon_sym_AMP_AMP] = ACTIONS(354),
      [anon_sym_AT] = ACTIONS(354),
      [anon_sym_DASH_DASH] = ACTIONS(354),
      [anon_sym_PLUS_PLUS] = ACTIONS(354),
      [anon_sym_LT] = ACTIONS(354),
      [anon_sym_DOT_DOT] = ACTIONS(354),
      [anon_sym_try] = ACTIONS(356),
      [anon_sym_catch] = ACTIONS(356),
      [anon_sym_void] = ACTIONS(356),
      [anon_sym_bool] = ACTIONS(356),
      [anon_sym_ichar] = ACTIONS(356),
      [anon_sym_char] = ACTIONS(356),
      [anon_sym_short] = ACTIONS(356),
      [anon_sym_ushort] = ACTIONS(356),
      [anon_sym_int] = ACTIONS(356),
      [anon_sym_uint] = ACTIONS(356),
      [anon_sym_long] = ACTIONS(356),
      [anon_sym_ulong] = ACTIONS(356),
      [anon_sym_iptr] = ACTIONS(356),
      [anon_sym_uptr] = ACTIONS(356),
      [anon_sym_iptrdiff] = ACTIONS(356),
      [anon_sym_uptrdiff] = ACTIONS(356),
      [anon_sym_isize] = ACTIONS(356),
      [anon_sym_usize] = ACTIONS(356),
      [anon_sym_half] = ACTIONS(356),
      [anon_sym_float] = ACTIONS(356),
      [anon_sym_double] = ACTIONS(356),
      [anon_sym_quad] = ACTIONS(356),
      [anon_sym_fn] = ACTIONS(356),
      [anon_sym_module] = ACTIONS(356),
      [anon_sym_import] = ACTIONS(356),
      [anon_sym_extern] = ACTIONS(356),
      [anon_sym_const] = ACTIONS(356),
      [anon_sym_define] = ACTIONS(356),
      [anon_sym_struct] = ACTIONS(356),
      [anon_sym_union] = ACTIONS(356),
      [anon_sym_enum] = ACTIONS(356),
      [anon_sym_errtype] = ACTIONS(356),
      [sym_comment] = ACTIONS(3),
    },
    [35] = {
      [sym_scoped_identifier] = STATE(224),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(235),
      [sym_char_literal] = STATE(235),
      [sym_string_literal] = STATE(235),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(227),
      [sym_unary_expression] = STATE(235),
      [sym_binary_expression] = STATE(235),
      [sym_parenthesized_expression] = STATE(235),
      [sym_range_expression] = STATE(235),
      [sym_subscript_expression] = STATE(235),
      [sym_call_expression] = STATE(235),
      [sym_field_expression] = STATE(235),
      [sym_try_expression] = STATE(235),
      [sym_catch_expression] = STATE(235),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_var_declaration] = STATE(135),
      [sym_identifier] = ACTIONS(358),
      [anon_sym_SEMI] = ACTIONS(360),
      [anon_sym_LPAREN] = ACTIONS(17),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(362),
      [sym_float_literal] = ACTIONS(362),
      [sym_nil_literal] = ACTIONS(362),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [sym_comment] = ACTIONS(3),
    },
    [36] = {
      [sym_scoped_identifier] = STATE(224),
      [sym_scoped_type_identifier] = STATE(297),
      [sym_boolean_literal] = STATE(235),
      [sym_char_literal] = STATE(235),
      [sym_string_literal] = STATE(235),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(228),
      [sym_unary_expression] = STATE(235),
      [sym_binary_expression] = STATE(235),
      [sym_parenthesized_expression] = STATE(235),
      [sym_range_expression] = STATE(235),
      [sym_subscript_expression] = STATE(235),
      [sym_call_expression] = STATE(235),
      [sym_field_expression] = STATE(235),
      [sym_try_expression] = STATE(235),
      [sym_catch_expression] = STATE(235),
      [sym_primitive_type] = STATE(297),
      [sym_pointer_type] = STATE(297),
      [sym_failable_type] = STATE(297),
      [sym_array_type] = STATE(297),
      [sym_var_declaration] = STATE(155),
      [sym_identifier] = ACTIONS(358),
      [anon_sym_SEMI] = ACTIONS(364),
      [anon_sym_LPAREN] = ACTIONS(17),
      [sym_type_identifier] = ACTIONS(23),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(362),
      [sym_float_literal] = ACTIONS(362),
      [sym_nil_literal] = ACTIONS(362),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [sym_comment] = ACTIONS(3),
    },
    [37] = {
      [ts_builtin_sym_end] = ACTIONS(366),
      [sym_identifier] = ACTIONS(368),
      [anon_sym_SEMI] = ACTIONS(366),
      [anon_sym_return] = ACTIONS(368),
      [anon_sym_if] = ACTIONS(368),
      [anon_sym_else] = ACTIONS(368),
      [anon_sym_while] = ACTIONS(368),
      [anon_sym_LPAREN] = ACTIONS(366),
      [anon_sym_for] = ACTIONS(368),
      [anon_sym_defer] = ACTIONS(368),
      [anon_sym_COLON_COLON] = ACTIONS(350),
      [sym_type_identifier] = ACTIONS(368),
      [anon_sym_private] = ACTIONS(368),
      [anon_sym_public] = ACTIONS(368),
      [anon_sym_RBRACE] = ACTIONS(366),
      [anon_sym_true] = ACTIONS(368),
      [anon_sym_false] = ACTIONS(368),
      [anon_sym_SQUOTE] = ACTIONS(366),
      [anon_sym_DQUOTE] = ACTIONS(368),
      [anon_sym_BQUOTE] = ACTIONS(366),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(366),
      [anon_sym_x_DQUOTE] = ACTIONS(366),
      [anon_sym_b64_DQUOTE] = ACTIONS(366),
      [sym_integer_literal] = ACTIONS(368),
      [sym_float_literal] = ACTIONS(368),
      [sym_nil_literal] = ACTIONS(368),
      [anon_sym_DASH] = ACTIONS(368),
      [anon_sym_STAR] = ACTIONS(366),
      [anon_sym_BANG] = ACTIONS(366),
      [anon_sym_TILDE] = ACTIONS(366),
      [anon_sym_AMP] = ACTIONS(368),
      [anon_sym_AMP_AMP] = ACTIONS(366),
      [anon_sym_AT] = ACTIONS(366),
      [anon_sym_DASH_DASH] = ACTIONS(366),
      [anon_sym_PLUS_PLUS] = ACTIONS(366),
      [anon_sym_DOT_DOT] = ACTIONS(366),
      [anon_sym_try] = ACTIONS(368),
      [anon_sym_catch] = ACTIONS(368),
      [anon_sym_void] = ACTIONS(368),
      [anon_sym_bool] = ACTIONS(368),
      [anon_sym_ichar] = ACTIONS(368),
      [anon_sym_char] = ACTIONS(368),
      [anon_sym_short] = ACTIONS(368),
      [anon_sym_ushort] = ACTIONS(368),
      [anon_sym_int] = ACTIONS(368),
      [anon_sym_uint] = ACTIONS(368),
      [anon_sym_long] = ACTIONS(368),
      [anon_sym_ulong] = ACTIONS(368),
      [anon_sym_iptr] = ACTIONS(368),
      [anon_sym_uptr] = ACTIONS(368),
      [anon_sym_iptrdiff] = ACTIONS(368),
      [anon_sym_uptrdiff] = ACTIONS(368),
      [anon_sym_isize] = ACTIONS(368),
      [anon_sym_usize] = ACTIONS(368),
      [anon_sym_half] = ACTIONS(368),
      [anon_sym_float] = ACTIONS(368),
      [anon_sym_double] = ACTIONS(368),
      [anon_sym_quad] = ACTIONS(368),
      [anon_sym_fn] = ACTIONS(368),
      [anon_sym_module] = ACTIONS(368),
      [anon_sym_import] = ACTIONS(368),
      [anon_sym_extern] = ACTIONS(368),
      [anon_sym_const] = ACTIONS(368),
      [anon_sym_define] = ACTIONS(368),
      [anon_sym_struct] = ACTIONS(368),
      [anon_sym_union] = ACTIONS(368),
      [anon_sym_enum] = ACTIONS(368),
      [anon_sym_errtype] = ACTIONS(368),
      [sym_comment] = ACTIONS(3),
    },
    [38] = {
      [ts_builtin_sym_end] = ACTIONS(370),
      [sym_identifier] = ACTIONS(372),
      [anon_sym_SEMI] = ACTIONS(370),
      [anon_sym_return] = ACTIONS(372),
      [anon_sym_if] = ACTIONS(372),
      [anon_sym_else] = ACTIONS(372),
      [anon_sym_while] = ACTIONS(372),
      [anon_sym_LPAREN] = ACTIONS(370),
      [anon_sym_for] = ACTIONS(372),
      [anon_sym_defer] = ACTIONS(372),
      [sym_type_identifier] = ACTIONS(372),
      [anon_sym_private] = ACTIONS(372),
      [anon_sym_public] = ACTIONS(372),
      [anon_sym_RBRACE] = ACTIONS(370),
      [anon_sym_true] = ACTIONS(372),
      [anon_sym_false] = ACTIONS(372),
      [anon_sym_SQUOTE] = ACTIONS(370),
      [anon_sym_DQUOTE] = ACTIONS(372),
      [anon_sym_BQUOTE] = ACTIONS(370),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(370),
      [anon_sym_x_DQUOTE] = ACTIONS(370),
      [anon_sym_b64_DQUOTE] = ACTIONS(370),
      [sym_integer_literal] = ACTIONS(372),
      [sym_float_literal] = ACTIONS(372),
      [sym_nil_literal] = ACTIONS(372),
      [anon_sym_DASH] = ACTIONS(372),
      [anon_sym_STAR] = ACTIONS(370),
      [anon_sym_BANG] = ACTIONS(370),
      [anon_sym_TILDE] = ACTIONS(370),
      [anon_sym_AMP] = ACTIONS(372),
      [anon_sym_AMP_AMP] = ACTIONS(370),
      [anon_sym_AT] = ACTIONS(370),
      [anon_sym_DASH_DASH] = ACTIONS(370),
      [anon_sym_PLUS_PLUS] = ACTIONS(370),
      [anon_sym_DOT_DOT] = ACTIONS(370),
      [anon_sym_try] = ACTIONS(372),
      [anon_sym_catch] = ACTIONS(372),
      [anon_sym_void] = ACTIONS(372),
      [anon_sym_bool] = ACTIONS(372),
      [anon_sym_ichar] = ACTIONS(372),
      [anon_sym_char] = ACTIONS(372),
      [anon_sym_short] = ACTIONS(372),
      [anon_sym_ushort] = ACTIONS(372),
      [anon_sym_int] = ACTIONS(372),
      [anon_sym_uint] = ACTIONS(372),
      [anon_sym_long] = ACTIONS(372),
      [anon_sym_ulong] = ACTIONS(372),
      [anon_sym_iptr] = ACTIONS(372),
      [anon_sym_uptr] = ACTIONS(372),
      [anon_sym_iptrdiff] = ACTIONS(372),
      [anon_sym_uptrdiff] = ACTIONS(372),
      [anon_sym_isize] = ACTIONS(372),
      [anon_sym_usize] = ACTIONS(372),
      [anon_sym_half] = ACTIONS(372),
      [anon_sym_float] = ACTIONS(372),
      [anon_sym_double] = ACTIONS(372),
      [anon_sym_quad] = ACTIONS(372),
      [anon_sym_fn] = ACTIONS(372),
      [anon_sym_module] = ACTIONS(372),
      [anon_sym_import] = ACTIONS(372),
      [anon_sym_extern] = ACTIONS(372),
      [anon_sym_const] = ACTIONS(372),
      [anon_sym_define] = ACTIONS(372),
      [anon_sym_struct] = ACTIONS(372),
      [anon_sym_union] = ACTIONS(372),
      [anon_sym_enum] = ACTIONS(372),
      [anon_sym_errtype] = ACTIONS(372),
      [sym_comment] = ACTIONS(3),
    },
    [39] = {
      [ts_builtin_sym_end] = ACTIONS(374),
      [sym_identifier] = ACTIONS(376),
      [anon_sym_SEMI] = ACTIONS(374),
      [anon_sym_return] = ACTIONS(376),
      [anon_sym_if] = ACTIONS(376),
      [anon_sym_else] = ACTIONS(376),
      [anon_sym_while] = ACTIONS(376),
      [anon_sym_LPAREN] = ACTIONS(374),
      [anon_sym_for] = ACTIONS(376),
      [anon_sym_defer] = ACTIONS(376),
      [sym_type_identifier] = ACTIONS(376),
      [anon_sym_private] = ACTIONS(376),
      [anon_sym_public] = ACTIONS(376),
      [anon_sym_RBRACE] = ACTIONS(374),
      [anon_sym_true] = ACTIONS(376),
      [anon_sym_false] = ACTIONS(376),
      [anon_sym_SQUOTE] = ACTIONS(374),
      [anon_sym_DQUOTE] = ACTIONS(376),
      [anon_sym_BQUOTE] = ACTIONS(374),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(374),
      [anon_sym_x_DQUOTE] = ACTIONS(374),
      [anon_sym_b64_DQUOTE] = ACTIONS(374),
      [sym_integer_literal] = ACTIONS(376),
      [sym_float_literal] = ACTIONS(376),
      [sym_nil_literal] = ACTIONS(376),
      [anon_sym_DASH] = ACTIONS(376),
      [anon_sym_STAR] = ACTIONS(374),
      [anon_sym_BANG] = ACTIONS(374),
      [anon_sym_TILDE] = ACTIONS(374),
      [anon_sym_AMP] = ACTIONS(376),
      [anon_sym_AMP_AMP] = ACTIONS(374),
      [anon_sym_AT] = ACTIONS(374),
      [anon_sym_DASH_DASH] = ACTIONS(374),
      [anon_sym_PLUS_PLUS] = ACTIONS(374),
      [anon_sym_DOT_DOT] = ACTIONS(374),
      [anon_sym_try] = ACTIONS(376),
      [anon_sym_catch] = ACTIONS(376),
      [anon_sym_void] = ACTIONS(376),
      [anon_sym_bool] = ACTIONS(376),
      [anon_sym_ichar] = ACTIONS(376),
      [anon_sym_char] = ACTIONS(376),
      [anon_sym_short] = ACTIONS(376),
      [anon_sym_ushort] = ACTIONS(376),
      [anon_sym_int] = ACTIONS(376),
      [anon_sym_uint] = ACTIONS(376),
      [anon_sym_long] = ACTIONS(376),
      [anon_sym_ulong] = ACTIONS(376),
      [anon_sym_iptr] = ACTIONS(376),
      [anon_sym_uptr] = ACTIONS(376),
      [anon_sym_iptrdiff] = ACTIONS(376),
      [anon_sym_uptrdiff] = ACTIONS(376),
      [anon_sym_isize] = ACTIONS(376),
      [anon_sym_usize] = ACTIONS(376),
      [anon_sym_half] = ACTIONS(376),
      [anon_sym_float] = ACTIONS(376),
      [anon_sym_double] = ACTIONS(376),
      [anon_sym_quad] = ACTIONS(376),
      [anon_sym_fn] = ACTIONS(376),
      [anon_sym_module] = ACTIONS(376),
      [anon_sym_import] = ACTIONS(376),
      [anon_sym_extern] = ACTIONS(376),
      [anon_sym_const] = ACTIONS(376),
      [anon_sym_define] = ACTIONS(376),
      [anon_sym_struct] = ACTIONS(376),
      [anon_sym_union] = ACTIONS(376),
      [anon_sym_enum] = ACTIONS(376),
      [anon_sym_errtype] = ACTIONS(376),
      [sym_comment] = ACTIONS(3),
    },
    [40] = {
      [ts_builtin_sym_end] = ACTIONS(378),
      [sym_identifier] = ACTIONS(380),
      [anon_sym_SEMI] = ACTIONS(378),
      [anon_sym_return] = ACTIONS(380),
      [anon_sym_if] = ACTIONS(380),
      [anon_sym_else] = ACTIONS(380),
      [anon_sym_while] = ACTIONS(380),
      [anon_sym_LPAREN] = ACTIONS(378),
      [anon_sym_for] = ACTIONS(380),
      [anon_sym_defer] = ACTIONS(380),
      [sym_type_identifier] = ACTIONS(380),
      [anon_sym_private] = ACTIONS(380),
      [anon_sym_public] = ACTIONS(380),
      [anon_sym_RBRACE] = ACTIONS(378),
      [anon_sym_true] = ACTIONS(380),
      [anon_sym_false] = ACTIONS(380),
      [anon_sym_SQUOTE] = ACTIONS(378),
      [anon_sym_DQUOTE] = ACTIONS(380),
      [anon_sym_BQUOTE] = ACTIONS(378),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(378),
      [anon_sym_x_DQUOTE] = ACTIONS(378),
      [anon_sym_b64_DQUOTE] = ACTIONS(378),
      [sym_integer_literal] = ACTIONS(380),
      [sym_float_literal] = ACTIONS(380),
      [sym_nil_literal] = ACTIONS(380),
      [anon_sym_DASH] = ACTIONS(380),
      [anon_sym_STAR] = ACTIONS(378),
      [anon_sym_BANG] = ACTIONS(378),
      [anon_sym_TILDE] = ACTIONS(378),
      [anon_sym_AMP] = ACTIONS(380),
      [anon_sym_AMP_AMP] = ACTIONS(378),
      [anon_sym_AT] = ACTIONS(378),
      [anon_sym_DASH_DASH] = ACTIONS(378),
      [anon_sym_PLUS_PLUS] = ACTIONS(378),
      [anon_sym_DOT_DOT] = ACTIONS(378),
      [anon_sym_try] = ACTIONS(380),
      [anon_sym_catch] = ACTIONS(380),
      [anon_sym_void] = ACTIONS(380),
      [anon_sym_bool] = ACTIONS(380),
      [anon_sym_ichar] = ACTIONS(380),
      [anon_sym_char] = ACTIONS(380),
      [anon_sym_short] = ACTIONS(380),
      [anon_sym_ushort] = ACTIONS(380),
      [anon_sym_int] = ACTIONS(380),
      [anon_sym_uint] = ACTIONS(380),
      [anon_sym_long] = ACTIONS(380),
      [anon_sym_ulong] = ACTIONS(380),
      [anon_sym_iptr] = ACTIONS(380),
      [anon_sym_uptr] = ACTIONS(380),
      [anon_sym_iptrdiff] = ACTIONS(380),
      [anon_sym_uptrdiff] = ACTIONS(380),
      [anon_sym_isize] = ACTIONS(380),
      [anon_sym_usize] = ACTIONS(380),
      [anon_sym_half] = ACTIONS(380),
      [anon_sym_float] = ACTIONS(380),
      [anon_sym_double] = ACTIONS(380),
      [anon_sym_quad] = ACTIONS(380),
      [anon_sym_fn] = ACTIONS(380),
      [anon_sym_module] = ACTIONS(380),
      [anon_sym_import] = ACTIONS(380),
      [anon_sym_extern] = ACTIONS(380),
      [anon_sym_const] = ACTIONS(380),
      [anon_sym_define] = ACTIONS(380),
      [anon_sym_struct] = ACTIONS(380),
      [anon_sym_union] = ACTIONS(380),
      [anon_sym_enum] = ACTIONS(380),
      [anon_sym_errtype] = ACTIONS(380),
      [sym_comment] = ACTIONS(3),
    },
    [41] = {
      [ts_builtin_sym_end] = ACTIONS(382),
      [sym_identifier] = ACTIONS(384),
      [anon_sym_SEMI] = ACTIONS(382),
      [anon_sym_return] = ACTIONS(384),
      [anon_sym_if] = ACTIONS(384),
      [anon_sym_else] = ACTIONS(384),
      [anon_sym_while] = ACTIONS(384),
      [anon_sym_LPAREN] = ACTIONS(382),
      [anon_sym_for] = ACTIONS(384),
      [anon_sym_defer] = ACTIONS(384),
      [sym_type_identifier] = ACTIONS(384),
      [anon_sym_private] = ACTIONS(384),
      [anon_sym_public] = ACTIONS(384),
      [anon_sym_RBRACE] = ACTIONS(382),
      [anon_sym_true] = ACTIONS(384),
      [anon_sym_false] = ACTIONS(384),
      [anon_sym_SQUOTE] = ACTIONS(382),
      [anon_sym_DQUOTE] = ACTIONS(384),
      [anon_sym_BQUOTE] = ACTIONS(382),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(382),
      [anon_sym_x_DQUOTE] = ACTIONS(382),
      [anon_sym_b64_DQUOTE] = ACTIONS(382),
      [sym_integer_literal] = ACTIONS(384),
      [sym_float_literal] = ACTIONS(384),
      [sym_nil_literal] = ACTIONS(384),
      [anon_sym_DASH] = ACTIONS(384),
      [anon_sym_STAR] = ACTIONS(382),
      [anon_sym_BANG] = ACTIONS(382),
      [anon_sym_TILDE] = ACTIONS(382),
      [anon_sym_AMP] = ACTIONS(384),
      [anon_sym_AMP_AMP] = ACTIONS(382),
      [anon_sym_AT] = ACTIONS(382),
      [anon_sym_DASH_DASH] = ACTIONS(382),
      [anon_sym_PLUS_PLUS] = ACTIONS(382),
      [anon_sym_DOT_DOT] = ACTIONS(382),
      [anon_sym_try] = ACTIONS(384),
      [anon_sym_catch] = ACTIONS(384),
      [anon_sym_void] = ACTIONS(384),
      [anon_sym_bool] = ACTIONS(384),
      [anon_sym_ichar] = ACTIONS(384),
      [anon_sym_char] = ACTIONS(384),
      [anon_sym_short] = ACTIONS(384),
      [anon_sym_ushort] = ACTIONS(384),
      [anon_sym_int] = ACTIONS(384),
      [anon_sym_uint] = ACTIONS(384),
      [anon_sym_long] = ACTIONS(384),
      [anon_sym_ulong] = ACTIONS(384),
      [anon_sym_iptr] = ACTIONS(384),
      [anon_sym_uptr] = ACTIONS(384),
      [anon_sym_iptrdiff] = ACTIONS(384),
      [anon_sym_uptrdiff] = ACTIONS(384),
      [anon_sym_isize] = ACTIONS(384),
      [anon_sym_usize] = ACTIONS(384),
      [anon_sym_half] = ACTIONS(384),
      [anon_sym_float] = ACTIONS(384),
      [anon_sym_double] = ACTIONS(384),
      [anon_sym_quad] = ACTIONS(384),
      [anon_sym_fn] = ACTIONS(384),
      [anon_sym_module] = ACTIONS(384),
      [anon_sym_import] = ACTIONS(384),
      [anon_sym_extern] = ACTIONS(384),
      [anon_sym_const] = ACTIONS(384),
      [anon_sym_define] = ACTIONS(384),
      [anon_sym_struct] = ACTIONS(384),
      [anon_sym_union] = ACTIONS(384),
      [anon_sym_enum] = ACTIONS(384),
      [anon_sym_errtype] = ACTIONS(384),
      [sym_comment] = ACTIONS(3),
    },
    [42] = {
      [ts_builtin_sym_end] = ACTIONS(386),
      [sym_identifier] = ACTIONS(388),
      [anon_sym_SEMI] = ACTIONS(386),
      [anon_sym_return] = ACTIONS(388),
      [anon_sym_if] = ACTIONS(388),
      [anon_sym_else] = ACTIONS(388),
      [anon_sym_while] = ACTIONS(388),
      [anon_sym_LPAREN] = ACTIONS(386),
      [anon_sym_for] = ACTIONS(388),
      [anon_sym_defer] = ACTIONS(388),
      [sym_type_identifier] = ACTIONS(388),
      [anon_sym_private] = ACTIONS(388),
      [anon_sym_public] = ACTIONS(388),
      [anon_sym_RBRACE] = ACTIONS(386),
      [anon_sym_true] = ACTIONS(388),
      [anon_sym_false] = ACTIONS(388),
      [anon_sym_SQUOTE] = ACTIONS(386),
      [anon_sym_DQUOTE] = ACTIONS(388),
      [anon_sym_BQUOTE] = ACTIONS(386),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(386),
      [anon_sym_x_DQUOTE] = ACTIONS(386),
      [anon_sym_b64_DQUOTE] = ACTIONS(386),
      [sym_integer_literal] = ACTIONS(388),
      [sym_float_literal] = ACTIONS(388),
      [sym_nil_literal] = ACTIONS(388),
      [anon_sym_DASH] = ACTIONS(388),
      [anon_sym_STAR] = ACTIONS(386),
      [anon_sym_BANG] = ACTIONS(386),
      [anon_sym_TILDE] = ACTIONS(386),
      [anon_sym_AMP] = ACTIONS(388),
      [anon_sym_AMP_AMP] = ACTIONS(386),
      [anon_sym_AT] = ACTIONS(386),
      [anon_sym_DASH_DASH] = ACTIONS(386),
      [anon_sym_PLUS_PLUS] = ACTIONS(386),
      [anon_sym_DOT_DOT] = ACTIONS(386),
      [anon_sym_try] = ACTIONS(388),
      [anon_sym_catch] = ACTIONS(388),
      [anon_sym_void] = ACTIONS(388),
      [anon_sym_bool] = ACTIONS(388),
      [anon_sym_ichar] = ACTIONS(388),
      [anon_sym_char] = ACTIONS(388),
      [anon_sym_short] = ACTIONS(388),
      [anon_sym_ushort] = ACTIONS(388),
      [anon_sym_int] = ACTIONS(388),
      [anon_sym_uint] = ACTIONS(388),
      [anon_sym_long] = ACTIONS(388),
      [anon_sym_ulong] = ACTIONS(388),
      [anon_sym_iptr] = ACTIONS(388),
      [anon_sym_uptr] = ACTIONS(388),
      [anon_sym_iptrdiff] = ACTIONS(388),
      [anon_sym_uptrdiff] = ACTIONS(388),
      [anon_sym_isize] = ACTIONS(388),
      [anon_sym_usize] = ACTIONS(388),
      [anon_sym_half] = ACTIONS(388),
      [anon_sym_float] = ACTIONS(388),
      [anon_sym_double] = ACTIONS(388),
      [anon_sym_quad] = ACTIONS(388),
      [anon_sym_fn] = ACTIONS(388),
      [anon_sym_module] = ACTIONS(388),
      [anon_sym_import] = ACTIONS(388),
      [anon_sym_extern] = ACTIONS(388),
      [anon_sym_const] = ACTIONS(388),
      [anon_sym_define] = ACTIONS(388),
      [anon_sym_struct] = ACTIONS(388),
      [anon_sym_union] = ACTIONS(388),
      [anon_sym_enum] = ACTIONS(388),
      [anon_sym_errtype] = ACTIONS(388),
      [sym_comment] = ACTIONS(3),
    },
    [43] = {
      [ts_builtin_sym_end] = ACTIONS(390),
      [sym_identifier] = ACTIONS(392),
      [anon_sym_SEMI] = ACTIONS(390),
      [anon_sym_return] = ACTIONS(392),
      [anon_sym_if] = ACTIONS(392),
      [anon_sym_else] = ACTIONS(392),
      [anon_sym_while] = ACTIONS(392),
      [anon_sym_LPAREN] = ACTIONS(390),
      [anon_sym_for] = ACTIONS(392),
      [anon_sym_defer] = ACTIONS(392),
      [sym_type_identifier] = ACTIONS(392),
      [anon_sym_private] = ACTIONS(392),
      [anon_sym_public] = ACTIONS(392),
      [anon_sym_RBRACE] = ACTIONS(390),
      [anon_sym_true] = ACTIONS(392),
      [anon_sym_false] = ACTIONS(392),
      [anon_sym_SQUOTE] = ACTIONS(390),
      [anon_sym_DQUOTE] = ACTIONS(392),
      [anon_sym_BQUOTE] = ACTIONS(390),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(390),
      [anon_sym_x_DQUOTE] = ACTIONS(390),
      [anon_sym_b64_DQUOTE] = ACTIONS(390),
      [sym_integer_literal] = ACTIONS(392),
      [sym_float_literal] = ACTIONS(392),
      [sym_nil_literal] = ACTIONS(392),
      [anon_sym_DASH] = ACTIONS(392),
      [anon_sym_STAR] = ACTIONS(390),
      [anon_sym_BANG] = ACTIONS(390),
      [anon_sym_TILDE] = ACTIONS(390),
      [anon_sym_AMP] = ACTIONS(392),
      [anon_sym_AMP_AMP] = ACTIONS(390),
      [anon_sym_AT] = ACTIONS(390),
      [anon_sym_DASH_DASH] = ACTIONS(390),
      [anon_sym_PLUS_PLUS] = ACTIONS(390),
      [anon_sym_DOT_DOT] = ACTIONS(390),
      [anon_sym_try] = ACTIONS(392),
      [anon_sym_catch] = ACTIONS(392),
      [anon_sym_void] = ACTIONS(392),
      [anon_sym_bool] = ACTIONS(392),
      [anon_sym_ichar] = ACTIONS(392),
      [anon_sym_char] = ACTIONS(392),
      [anon_sym_short] = ACTIONS(392),
      [anon_sym_ushort] = ACTIONS(392),
      [anon_sym_int] = ACTIONS(392),
      [anon_sym_uint] = ACTIONS(392),
      [anon_sym_long] = ACTIONS(392),
      [anon_sym_ulong] = ACTIONS(392),
      [anon_sym_iptr] = ACTIONS(392),
      [anon_sym_uptr] = ACTIONS(392),
      [anon_sym_iptrdiff] = ACTIONS(392),
      [anon_sym_uptrdiff] = ACTIONS(392),
      [anon_sym_isize] = ACTIONS(392),
      [anon_sym_usize] = ACTIONS(392),
      [anon_sym_half] = ACTIONS(392),
      [anon_sym_float] = ACTIONS(392),
      [anon_sym_double] = ACTIONS(392),
      [anon_sym_quad] = ACTIONS(392),
      [anon_sym_fn] = ACTIONS(392),
      [anon_sym_module] = ACTIONS(392),
      [anon_sym_import] = ACTIONS(392),
      [anon_sym_extern] = ACTIONS(392),
      [anon_sym_const] = ACTIONS(392),
      [anon_sym_define] = ACTIONS(392),
      [anon_sym_struct] = ACTIONS(392),
      [anon_sym_union] = ACTIONS(392),
      [anon_sym_enum] = ACTIONS(392),
      [anon_sym_errtype] = ACTIONS(392),
      [sym_comment] = ACTIONS(3),
    },
    [44] = {
      [ts_builtin_sym_end] = ACTIONS(394),
      [sym_identifier] = ACTIONS(396),
      [anon_sym_SEMI] = ACTIONS(394),
      [anon_sym_return] = ACTIONS(396),
      [anon_sym_if] = ACTIONS(396),
      [anon_sym_else] = ACTIONS(396),
      [anon_sym_while] = ACTIONS(396),
      [anon_sym_LPAREN] = ACTIONS(394),
      [anon_sym_for] = ACTIONS(396),
      [anon_sym_defer] = ACTIONS(396),
      [sym_type_identifier] = ACTIONS(396),
      [anon_sym_private] = ACTIONS(396),
      [anon_sym_public] = ACTIONS(396),
      [anon_sym_RBRACE] = ACTIONS(394),
      [anon_sym_true] = ACTIONS(396),
      [anon_sym_false] = ACTIONS(396),
      [anon_sym_SQUOTE] = ACTIONS(394),
      [anon_sym_DQUOTE] = ACTIONS(396),
      [anon_sym_BQUOTE] = ACTIONS(394),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(394),
      [anon_sym_x_DQUOTE] = ACTIONS(394),
      [anon_sym_b64_DQUOTE] = ACTIONS(394),
      [sym_integer_literal] = ACTIONS(396),
      [sym_float_literal] = ACTIONS(396),
      [sym_nil_literal] = ACTIONS(396),
      [anon_sym_DASH] = ACTIONS(396),
      [anon_sym_STAR] = ACTIONS(394),
      [anon_sym_BANG] = ACTIONS(394),
      [anon_sym_TILDE] = ACTIONS(394),
      [anon_sym_AMP] = ACTIONS(396),
      [anon_sym_AMP_AMP] = ACTIONS(394),
      [anon_sym_AT] = ACTIONS(394),
      [anon_sym_DASH_DASH] = ACTIONS(394),
      [anon_sym_PLUS_PLUS] = ACTIONS(394),
      [anon_sym_DOT_DOT] = ACTIONS(394),
      [anon_sym_try] = ACTIONS(396),
      [anon_sym_catch] = ACTIONS(396),
      [anon_sym_void] = ACTIONS(396),
      [anon_sym_bool] = ACTIONS(396),
      [anon_sym_ichar] = ACTIONS(396),
      [anon_sym_char] = ACTIONS(396),
      [anon_sym_short] = ACTIONS(396),
      [anon_sym_ushort] = ACTIONS(396),
      [anon_sym_int] = ACTIONS(396),
      [anon_sym_uint] = ACTIONS(396),
      [anon_sym_long] = ACTIONS(396),
      [anon_sym_ulong] = ACTIONS(396),
      [anon_sym_iptr] = ACTIONS(396),
      [anon_sym_uptr] = ACTIONS(396),
      [anon_sym_iptrdiff] = ACTIONS(396),
      [anon_sym_uptrdiff] = ACTIONS(396),
      [anon_sym_isize] = ACTIONS(396),
      [anon_sym_usize] = ACTIONS(396),
      [anon_sym_half] = ACTIONS(396),
      [anon_sym_float] = ACTIONS(396),
      [anon_sym_double] = ACTIONS(396),
      [anon_sym_quad] = ACTIONS(396),
      [anon_sym_fn] = ACTIONS(396),
      [anon_sym_module] = ACTIONS(396),
      [anon_sym_import] = ACTIONS(396),
      [anon_sym_extern] = ACTIONS(396),
      [anon_sym_const] = ACTIONS(396),
      [anon_sym_define] = ACTIONS(396),
      [anon_sym_struct] = ACTIONS(396),
      [anon_sym_union] = ACTIONS(396),
      [anon_sym_enum] = ACTIONS(396),
      [anon_sym_errtype] = ACTIONS(396),
      [sym_comment] = ACTIONS(3),
    },
    [45] = {
      [ts_builtin_sym_end] = ACTIONS(398),
      [sym_identifier] = ACTIONS(400),
      [anon_sym_SEMI] = ACTIONS(398),
      [anon_sym_return] = ACTIONS(400),
      [anon_sym_if] = ACTIONS(400),
      [anon_sym_else] = ACTIONS(400),
      [anon_sym_while] = ACTIONS(400),
      [anon_sym_LPAREN] = ACTIONS(398),
      [anon_sym_for] = ACTIONS(400),
      [anon_sym_defer] = ACTIONS(400),
      [sym_type_identifier] = ACTIONS(400),
      [anon_sym_private] = ACTIONS(400),
      [anon_sym_public] = ACTIONS(400),
      [anon_sym_RBRACE] = ACTIONS(398),
      [anon_sym_true] = ACTIONS(400),
      [anon_sym_false] = ACTIONS(400),
      [anon_sym_SQUOTE] = ACTIONS(398),
      [anon_sym_DQUOTE] = ACTIONS(400),
      [anon_sym_BQUOTE] = ACTIONS(398),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(398),
      [anon_sym_x_DQUOTE] = ACTIONS(398),
      [anon_sym_b64_DQUOTE] = ACTIONS(398),
      [sym_integer_literal] = ACTIONS(400),
      [sym_float_literal] = ACTIONS(400),
      [sym_nil_literal] = ACTIONS(400),
      [anon_sym_DASH] = ACTIONS(400),
      [anon_sym_STAR] = ACTIONS(398),
      [anon_sym_BANG] = ACTIONS(398),
      [anon_sym_TILDE] = ACTIONS(398),
      [anon_sym_AMP] = ACTIONS(400),
      [anon_sym_AMP_AMP] = ACTIONS(398),
      [anon_sym_AT] = ACTIONS(398),
      [anon_sym_DASH_DASH] = ACTIONS(398),
      [anon_sym_PLUS_PLUS] = ACTIONS(398),
      [anon_sym_DOT_DOT] = ACTIONS(398),
      [anon_sym_try] = ACTIONS(400),
      [anon_sym_catch] = ACTIONS(400),
      [anon_sym_void] = ACTIONS(400),
      [anon_sym_bool] = ACTIONS(400),
      [anon_sym_ichar] = ACTIONS(400),
      [anon_sym_char] = ACTIONS(400),
      [anon_sym_short] = ACTIONS(400),
      [anon_sym_ushort] = ACTIONS(400),
      [anon_sym_int] = ACTIONS(400),
      [anon_sym_uint] = ACTIONS(400),
      [anon_sym_long] = ACTIONS(400),
      [anon_sym_ulong] = ACTIONS(400),
      [anon_sym_iptr] = ACTIONS(400),
      [anon_sym_uptr] = ACTIONS(400),
      [anon_sym_iptrdiff] = ACTIONS(400),
      [anon_sym_uptrdiff] = ACTIONS(400),
      [anon_sym_isize] = ACTIONS(400),
      [anon_sym_usize] = ACTIONS(400),
      [anon_sym_half] = ACTIONS(400),
      [anon_sym_float] = ACTIONS(400),
      [anon_sym_double] = ACTIONS(400),
      [anon_sym_quad] = ACTIONS(400),
      [anon_sym_fn] = ACTIONS(400),
      [anon_sym_module] = ACTIONS(400),
      [anon_sym_import] = ACTIONS(400),
      [anon_sym_extern] = ACTIONS(400),
      [anon_sym_const] = ACTIONS(400),
      [anon_sym_define] = ACTIONS(400),
      [anon_sym_struct] = ACTIONS(400),
      [anon_sym_union] = ACTIONS(400),
      [anon_sym_enum] = ACTIONS(400),
      [anon_sym_errtype] = ACTIONS(400),
      [sym_comment] = ACTIONS(3),
    },
    [46] = {
      [ts_builtin_sym_end] = ACTIONS(402),
      [sym_identifier] = ACTIONS(404),
      [anon_sym_SEMI] = ACTIONS(402),
      [anon_sym_return] = ACTIONS(404),
      [anon_sym_if] = ACTIONS(404),
      [anon_sym_else] = ACTIONS(404),
      [anon_sym_while] = ACTIONS(404),
      [anon_sym_LPAREN] = ACTIONS(402),
      [anon_sym_for] = ACTIONS(404),
      [anon_sym_defer] = ACTIONS(404),
      [sym_type_identifier] = ACTIONS(404),
      [anon_sym_private] = ACTIONS(404),
      [anon_sym_public] = ACTIONS(404),
      [anon_sym_RBRACE] = ACTIONS(402),
      [anon_sym_true] = ACTIONS(404),
      [anon_sym_false] = ACTIONS(404),
      [anon_sym_SQUOTE] = ACTIONS(402),
      [anon_sym_DQUOTE] = ACTIONS(404),
      [anon_sym_BQUOTE] = ACTIONS(402),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(402),
      [anon_sym_x_DQUOTE] = ACTIONS(402),
      [anon_sym_b64_DQUOTE] = ACTIONS(402),
      [sym_integer_literal] = ACTIONS(404),
      [sym_float_literal] = ACTIONS(404),
      [sym_nil_literal] = ACTIONS(404),
      [anon_sym_DASH] = ACTIONS(404),
      [anon_sym_STAR] = ACTIONS(402),
      [anon_sym_BANG] = ACTIONS(402),
      [anon_sym_TILDE] = ACTIONS(402),
      [anon_sym_AMP] = ACTIONS(404),
      [anon_sym_AMP_AMP] = ACTIONS(402),
      [anon_sym_AT] = ACTIONS(402),
      [anon_sym_DASH_DASH] = ACTIONS(402),
      [anon_sym_PLUS_PLUS] = ACTIONS(402),
      [anon_sym_DOT_DOT] = ACTIONS(402),
      [anon_sym_try] = ACTIONS(404),
      [anon_sym_catch] = ACTIONS(404),
      [anon_sym_void] = ACTIONS(404),
      [anon_sym_bool] = ACTIONS(404),
      [anon_sym_ichar] = ACTIONS(404),
      [anon_sym_char] = ACTIONS(404),
      [anon_sym_short] = ACTIONS(404),
      [anon_sym_ushort] = ACTIONS(404),
      [anon_sym_int] = ACTIONS(404),
      [anon_sym_uint] = ACTIONS(404),
      [anon_sym_long] = ACTIONS(404),
      [anon_sym_ulong] = ACTIONS(404),
      [anon_sym_iptr] = ACTIONS(404),
      [anon_sym_uptr] = ACTIONS(404),
      [anon_sym_iptrdiff] = ACTIONS(404),
      [anon_sym_uptrdiff] = ACTIONS(404),
      [anon_sym_isize] = ACTIONS(404),
      [anon_sym_usize] = ACTIONS(404),
      [anon_sym_half] = ACTIONS(404),
      [anon_sym_float] = ACTIONS(404),
      [anon_sym_double] = ACTIONS(404),
      [anon_sym_quad] = ACTIONS(404),
      [anon_sym_fn] = ACTIONS(404),
      [anon_sym_module] = ACTIONS(404),
      [anon_sym_import] = ACTIONS(404),
      [anon_sym_extern] = ACTIONS(404),
      [anon_sym_const] = ACTIONS(404),
      [anon_sym_define] = ACTIONS(404),
      [anon_sym_struct] = ACTIONS(404),
      [anon_sym_union] = ACTIONS(404),
      [anon_sym_enum] = ACTIONS(404),
      [anon_sym_errtype] = ACTIONS(404),
      [sym_comment] = ACTIONS(3),
    },
    [47] = {
      [ts_builtin_sym_end] = ACTIONS(406),
      [sym_identifier] = ACTIONS(408),
      [anon_sym_SEMI] = ACTIONS(406),
      [anon_sym_return] = ACTIONS(408),
      [anon_sym_if] = ACTIONS(408),
      [anon_sym_else] = ACTIONS(408),
      [anon_sym_while] = ACTIONS(408),
      [anon_sym_LPAREN] = ACTIONS(406),
      [anon_sym_for] = ACTIONS(408),
      [anon_sym_defer] = ACTIONS(408),
      [sym_type_identifier] = ACTIONS(408),
      [anon_sym_private] = ACTIONS(408),
      [anon_sym_public] = ACTIONS(408),
      [anon_sym_RBRACE] = ACTIONS(406),
      [anon_sym_true] = ACTIONS(408),
      [anon_sym_false] = ACTIONS(408),
      [anon_sym_SQUOTE] = ACTIONS(406),
      [anon_sym_DQUOTE] = ACTIONS(408),
      [anon_sym_BQUOTE] = ACTIONS(406),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(406),
      [anon_sym_x_DQUOTE] = ACTIONS(406),
      [anon_sym_b64_DQUOTE] = ACTIONS(406),
      [sym_integer_literal] = ACTIONS(408),
      [sym_float_literal] = ACTIONS(408),
      [sym_nil_literal] = ACTIONS(408),
      [anon_sym_DASH] = ACTIONS(408),
      [anon_sym_STAR] = ACTIONS(406),
      [anon_sym_BANG] = ACTIONS(406),
      [anon_sym_TILDE] = ACTIONS(406),
      [anon_sym_AMP] = ACTIONS(408),
      [anon_sym_AMP_AMP] = ACTIONS(406),
      [anon_sym_AT] = ACTIONS(406),
      [anon_sym_DASH_DASH] = ACTIONS(406),
      [anon_sym_PLUS_PLUS] = ACTIONS(406),
      [anon_sym_DOT_DOT] = ACTIONS(406),
      [anon_sym_try] = ACTIONS(408),
      [anon_sym_catch] = ACTIONS(408),
      [anon_sym_void] = ACTIONS(408),
      [anon_sym_bool] = ACTIONS(408),
      [anon_sym_ichar] = ACTIONS(408),
      [anon_sym_char] = ACTIONS(408),
      [anon_sym_short] = ACTIONS(408),
      [anon_sym_ushort] = ACTIONS(408),
      [anon_sym_int] = ACTIONS(408),
      [anon_sym_uint] = ACTIONS(408),
      [anon_sym_long] = ACTIONS(408),
      [anon_sym_ulong] = ACTIONS(408),
      [anon_sym_iptr] = ACTIONS(408),
      [anon_sym_uptr] = ACTIONS(408),
      [anon_sym_iptrdiff] = ACTIONS(408),
      [anon_sym_uptrdiff] = ACTIONS(408),
      [anon_sym_isize] = ACTIONS(408),
      [anon_sym_usize] = ACTIONS(408),
      [anon_sym_half] = ACTIONS(408),
      [anon_sym_float] = ACTIONS(408),
      [anon_sym_double] = ACTIONS(408),
      [anon_sym_quad] = ACTIONS(408),
      [anon_sym_fn] = ACTIONS(408),
      [anon_sym_module] = ACTIONS(408),
      [anon_sym_import] = ACTIONS(408),
      [anon_sym_extern] = ACTIONS(408),
      [anon_sym_const] = ACTIONS(408),
      [anon_sym_define] = ACTIONS(408),
      [anon_sym_struct] = ACTIONS(408),
      [anon_sym_union] = ACTIONS(408),
      [anon_sym_enum] = ACTIONS(408),
      [anon_sym_errtype] = ACTIONS(408),
      [sym_comment] = ACTIONS(3),
    },
    [48] = {
      [ts_builtin_sym_end] = ACTIONS(410),
      [sym_identifier] = ACTIONS(412),
      [anon_sym_SEMI] = ACTIONS(410),
      [anon_sym_return] = ACTIONS(412),
      [anon_sym_if] = ACTIONS(412),
      [anon_sym_else] = ACTIONS(412),
      [anon_sym_while] = ACTIONS(412),
      [anon_sym_LPAREN] = ACTIONS(410),
      [anon_sym_for] = ACTIONS(412),
      [anon_sym_defer] = ACTIONS(412),
      [sym_type_identifier] = ACTIONS(412),
      [anon_sym_private] = ACTIONS(412),
      [anon_sym_public] = ACTIONS(412),
      [anon_sym_RBRACE] = ACTIONS(410),
      [anon_sym_true] = ACTIONS(412),
      [anon_sym_false] = ACTIONS(412),
      [anon_sym_SQUOTE] = ACTIONS(410),
      [anon_sym_DQUOTE] = ACTIONS(412),
      [anon_sym_BQUOTE] = ACTIONS(410),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(410),
      [anon_sym_x_DQUOTE] = ACTIONS(410),
      [anon_sym_b64_DQUOTE] = ACTIONS(410),
      [sym_integer_literal] = ACTIONS(412),
      [sym_float_literal] = ACTIONS(412),
      [sym_nil_literal] = ACTIONS(412),
      [anon_sym_DASH] = ACTIONS(412),
      [anon_sym_STAR] = ACTIONS(410),
      [anon_sym_BANG] = ACTIONS(410),
      [anon_sym_TILDE] = ACTIONS(410),
      [anon_sym_AMP] = ACTIONS(412),
      [anon_sym_AMP_AMP] = ACTIONS(410),
      [anon_sym_AT] = ACTIONS(410),
      [anon_sym_DASH_DASH] = ACTIONS(410),
      [anon_sym_PLUS_PLUS] = ACTIONS(410),
      [anon_sym_DOT_DOT] = ACTIONS(410),
      [anon_sym_try] = ACTIONS(412),
      [anon_sym_catch] = ACTIONS(412),
      [anon_sym_void] = ACTIONS(412),
      [anon_sym_bool] = ACTIONS(412),
      [anon_sym_ichar] = ACTIONS(412),
      [anon_sym_char] = ACTIONS(412),
      [anon_sym_short] = ACTIONS(412),
      [anon_sym_ushort] = ACTIONS(412),
      [anon_sym_int] = ACTIONS(412),
      [anon_sym_uint] = ACTIONS(412),
      [anon_sym_long] = ACTIONS(412),
      [anon_sym_ulong] = ACTIONS(412),
      [anon_sym_iptr] = ACTIONS(412),
      [anon_sym_uptr] = ACTIONS(412),
      [anon_sym_iptrdiff] = ACTIONS(412),
      [anon_sym_uptrdiff] = ACTIONS(412),
      [anon_sym_isize] = ACTIONS(412),
      [anon_sym_usize] = ACTIONS(412),
      [anon_sym_half] = ACTIONS(412),
      [anon_sym_float] = ACTIONS(412),
      [anon_sym_double] = ACTIONS(412),
      [anon_sym_quad] = ACTIONS(412),
      [anon_sym_fn] = ACTIONS(412),
      [anon_sym_module] = ACTIONS(412),
      [anon_sym_import] = ACTIONS(412),
      [anon_sym_extern] = ACTIONS(412),
      [anon_sym_const] = ACTIONS(412),
      [anon_sym_define] = ACTIONS(412),
      [anon_sym_struct] = ACTIONS(412),
      [anon_sym_union] = ACTIONS(412),
      [anon_sym_enum] = ACTIONS(412),
      [anon_sym_errtype] = ACTIONS(412),
      [sym_comment] = ACTIONS(3),
    },
    [49] = {
      [ts_builtin_sym_end] = ACTIONS(414),
      [sym_identifier] = ACTIONS(416),
      [anon_sym_SEMI] = ACTIONS(414),
      [anon_sym_return] = ACTIONS(416),
      [anon_sym_if] = ACTIONS(416),
      [anon_sym_else] = ACTIONS(416),
      [anon_sym_while] = ACTIONS(416),
      [anon_sym_LPAREN] = ACTIONS(414),
      [anon_sym_for] = ACTIONS(416),
      [anon_sym_defer] = ACTIONS(416),
      [sym_type_identifier] = ACTIONS(416),
      [anon_sym_private] = ACTIONS(416),
      [anon_sym_public] = ACTIONS(416),
      [anon_sym_RBRACE] = ACTIONS(414),
      [anon_sym_true] = ACTIONS(416),
      [anon_sym_false] = ACTIONS(416),
      [anon_sym_SQUOTE] = ACTIONS(414),
      [anon_sym_DQUOTE] = ACTIONS(416),
      [anon_sym_BQUOTE] = ACTIONS(414),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(414),
      [anon_sym_x_DQUOTE] = ACTIONS(414),
      [anon_sym_b64_DQUOTE] = ACTIONS(414),
      [sym_integer_literal] = ACTIONS(416),
      [sym_float_literal] = ACTIONS(416),
      [sym_nil_literal] = ACTIONS(416),
      [anon_sym_DASH] = ACTIONS(416),
      [anon_sym_STAR] = ACTIONS(414),
      [anon_sym_BANG] = ACTIONS(414),
      [anon_sym_TILDE] = ACTIONS(414),
      [anon_sym_AMP] = ACTIONS(416),
      [anon_sym_AMP_AMP] = ACTIONS(414),
      [anon_sym_AT] = ACTIONS(414),
      [anon_sym_DASH_DASH] = ACTIONS(414),
      [anon_sym_PLUS_PLUS] = ACTIONS(414),
      [anon_sym_DOT_DOT] = ACTIONS(414),
      [anon_sym_try] = ACTIONS(416),
      [anon_sym_catch] = ACTIONS(416),
      [anon_sym_void] = ACTIONS(416),
      [anon_sym_bool] = ACTIONS(416),
      [anon_sym_ichar] = ACTIONS(416),
      [anon_sym_char] = ACTIONS(416),
      [anon_sym_short] = ACTIONS(416),
      [anon_sym_ushort] = ACTIONS(416),
      [anon_sym_int] = ACTIONS(416),
      [anon_sym_uint] = ACTIONS(416),
      [anon_sym_long] = ACTIONS(416),
      [anon_sym_ulong] = ACTIONS(416),
      [anon_sym_iptr] = ACTIONS(416),
      [anon_sym_uptr] = ACTIONS(416),
      [anon_sym_iptrdiff] = ACTIONS(416),
      [anon_sym_uptrdiff] = ACTIONS(416),
      [anon_sym_isize] = ACTIONS(416),
      [anon_sym_usize] = ACTIONS(416),
      [anon_sym_half] = ACTIONS(416),
      [anon_sym_float] = ACTIONS(416),
      [anon_sym_double] = ACTIONS(416),
      [anon_sym_quad] = ACTIONS(416),
      [anon_sym_fn] = ACTIONS(416),
      [anon_sym_module] = ACTIONS(416),
      [anon_sym_import] = ACTIONS(416),
      [anon_sym_extern] = ACTIONS(416),
      [anon_sym_const] = ACTIONS(416),
      [anon_sym_define] = ACTIONS(416),
      [anon_sym_struct] = ACTIONS(416),
      [anon_sym_union] = ACTIONS(416),
      [anon_sym_enum] = ACTIONS(416),
      [anon_sym_errtype] = ACTIONS(416),
      [sym_comment] = ACTIONS(3),
    },
    [50] = {
      [ts_builtin_sym_end] = ACTIONS(418),
      [sym_identifier] = ACTIONS(420),
      [anon_sym_SEMI] = ACTIONS(418),
      [anon_sym_return] = ACTIONS(420),
      [anon_sym_if] = ACTIONS(420),
      [anon_sym_else] = ACTIONS(420),
      [anon_sym_while] = ACTIONS(420),
      [anon_sym_LPAREN] = ACTIONS(418),
      [anon_sym_for] = ACTIONS(420),
      [anon_sym_defer] = ACTIONS(420),
      [sym_type_identifier] = ACTIONS(420),
      [anon_sym_private] = ACTIONS(420),
      [anon_sym_public] = ACTIONS(420),
      [anon_sym_RBRACE] = ACTIONS(418),
      [anon_sym_true] = ACTIONS(420),
      [anon_sym_false] = ACTIONS(420),
      [anon_sym_SQUOTE] = ACTIONS(418),
      [anon_sym_DQUOTE] = ACTIONS(420),
      [anon_sym_BQUOTE] = ACTIONS(418),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(418),
      [anon_sym_x_DQUOTE] = ACTIONS(418),
      [anon_sym_b64_DQUOTE] = ACTIONS(418),
      [sym_integer_literal] = ACTIONS(420),
      [sym_float_literal] = ACTIONS(420),
      [sym_nil_literal] = ACTIONS(420),
      [anon_sym_DASH] = ACTIONS(420),
      [anon_sym_STAR] = ACTIONS(418),
      [anon_sym_BANG] = ACTIONS(418),
      [anon_sym_TILDE] = ACTIONS(418),
      [anon_sym_AMP] = ACTIONS(420),
      [anon_sym_AMP_AMP] = ACTIONS(418),
      [anon_sym_AT] = ACTIONS(418),
      [anon_sym_DASH_DASH] = ACTIONS(418),
      [anon_sym_PLUS_PLUS] = ACTIONS(418),
      [anon_sym_DOT_DOT] = ACTIONS(418),
      [anon_sym_try] = ACTIONS(420),
      [anon_sym_catch] = ACTIONS(420),
      [anon_sym_void] = ACTIONS(420),
      [anon_sym_bool] = ACTIONS(420),
      [anon_sym_ichar] = ACTIONS(420),
      [anon_sym_char] = ACTIONS(420),
      [anon_sym_short] = ACTIONS(420),
      [anon_sym_ushort] = ACTIONS(420),
      [anon_sym_int] = ACTIONS(420),
      [anon_sym_uint] = ACTIONS(420),
      [anon_sym_long] = ACTIONS(420),
      [anon_sym_ulong] = ACTIONS(420),
      [anon_sym_iptr] = ACTIONS(420),
      [anon_sym_uptr] = ACTIONS(420),
      [anon_sym_iptrdiff] = ACTIONS(420),
      [anon_sym_uptrdiff] = ACTIONS(420),
      [anon_sym_isize] = ACTIONS(420),
      [anon_sym_usize] = ACTIONS(420),
      [anon_sym_half] = ACTIONS(420),
      [anon_sym_float] = ACTIONS(420),
      [anon_sym_double] = ACTIONS(420),
      [anon_sym_quad] = ACTIONS(420),
      [anon_sym_fn] = ACTIONS(420),
      [anon_sym_module] = ACTIONS(420),
      [anon_sym_import] = ACTIONS(420),
      [anon_sym_extern] = ACTIONS(420),
      [anon_sym_const] = ACTIONS(420),
      [anon_sym_define] = ACTIONS(420),
      [anon_sym_struct] = ACTIONS(420),
      [anon_sym_union] = ACTIONS(420),
      [anon_sym_enum] = ACTIONS(420),
      [anon_sym_errtype] = ACTIONS(420),
      [sym_comment] = ACTIONS(3),
    },
    [51] = {
      [ts_builtin_sym_end] = ACTIONS(422),
      [sym_identifier] = ACTIONS(424),
      [anon_sym_SEMI] = ACTIONS(422),
      [anon_sym_return] = ACTIONS(424),
      [anon_sym_if] = ACTIONS(424),
      [anon_sym_else] = ACTIONS(424),
      [anon_sym_while] = ACTIONS(424),
      [anon_sym_LPAREN] = ACTIONS(422),
      [anon_sym_for] = ACTIONS(424),
      [anon_sym_defer] = ACTIONS(424),
      [sym_type_identifier] = ACTIONS(424),
      [anon_sym_private] = ACTIONS(424),
      [anon_sym_public] = ACTIONS(424),
      [anon_sym_RBRACE] = ACTIONS(422),
      [anon_sym_true] = ACTIONS(424),
      [anon_sym_false] = ACTIONS(424),
      [anon_sym_SQUOTE] = ACTIONS(422),
      [anon_sym_DQUOTE] = ACTIONS(424),
      [anon_sym_BQUOTE] = ACTIONS(422),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(422),
      [anon_sym_x_DQUOTE] = ACTIONS(422),
      [anon_sym_b64_DQUOTE] = ACTIONS(422),
      [sym_integer_literal] = ACTIONS(424),
      [sym_float_literal] = ACTIONS(424),
      [sym_nil_literal] = ACTIONS(424),
      [anon_sym_DASH] = ACTIONS(424),
      [anon_sym_STAR] = ACTIONS(422),
      [anon_sym_BANG] = ACTIONS(422),
      [anon_sym_TILDE] = ACTIONS(422),
      [anon_sym_AMP] = ACTIONS(424),
      [anon_sym_AMP_AMP] = ACTIONS(422),
      [anon_sym_AT] = ACTIONS(422),
      [anon_sym_DASH_DASH] = ACTIONS(422),
      [anon_sym_PLUS_PLUS] = ACTIONS(422),
      [anon_sym_DOT_DOT] = ACTIONS(422),
      [anon_sym_try] = ACTIONS(424),
      [anon_sym_catch] = ACTIONS(424),
      [anon_sym_void] = ACTIONS(424),
      [anon_sym_bool] = ACTIONS(424),
      [anon_sym_ichar] = ACTIONS(424),
      [anon_sym_char] = ACTIONS(424),
      [anon_sym_short] = ACTIONS(424),
      [anon_sym_ushort] = ACTIONS(424),
      [anon_sym_int] = ACTIONS(424),
      [anon_sym_uint] = ACTIONS(424),
      [anon_sym_long] = ACTIONS(424),
      [anon_sym_ulong] = ACTIONS(424),
      [anon_sym_iptr] = ACTIONS(424),
      [anon_sym_uptr] = ACTIONS(424),
      [anon_sym_iptrdiff] = ACTIONS(424),
      [anon_sym_uptrdiff] = ACTIONS(424),
      [anon_sym_isize] = ACTIONS(424),
      [anon_sym_usize] = ACTIONS(424),
      [anon_sym_half] = ACTIONS(424),
      [anon_sym_float] = ACTIONS(424),
      [anon_sym_double] = ACTIONS(424),
      [anon_sym_quad] = ACTIONS(424),
      [anon_sym_fn] = ACTIONS(424),
      [anon_sym_module] = ACTIONS(424),
      [anon_sym_import] = ACTIONS(424),
      [anon_sym_extern] = ACTIONS(424),
      [anon_sym_const] = ACTIONS(424),
      [anon_sym_define] = ACTIONS(424),
      [anon_sym_struct] = ACTIONS(424),
      [anon_sym_union] = ACTIONS(424),
      [anon_sym_enum] = ACTIONS(424),
      [anon_sym_errtype] = ACTIONS(424),
      [sym_comment] = ACTIONS(3),
    },
    [52] = {
      [ts_builtin_sym_end] = ACTIONS(426),
      [sym_identifier] = ACTIONS(428),
      [anon_sym_SEMI] = ACTIONS(426),
      [anon_sym_return] = ACTIONS(428),
      [anon_sym_if] = ACTIONS(428),
      [anon_sym_else] = ACTIONS(428),
      [anon_sym_while] = ACTIONS(428),
      [anon_sym_LPAREN] = ACTIONS(426),
      [anon_sym_for] = ACTIONS(428),
      [anon_sym_defer] = ACTIONS(428),
      [sym_type_identifier] = ACTIONS(428),
      [anon_sym_private] = ACTIONS(428),
      [anon_sym_public] = ACTIONS(428),
      [anon_sym_RBRACE] = ACTIONS(426),
      [anon_sym_true] = ACTIONS(428),
      [anon_sym_false] = ACTIONS(428),
      [anon_sym_SQUOTE] = ACTIONS(426),
      [anon_sym_DQUOTE] = ACTIONS(428),
      [anon_sym_BQUOTE] = ACTIONS(426),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(426),
      [anon_sym_x_DQUOTE] = ACTIONS(426),
      [anon_sym_b64_DQUOTE] = ACTIONS(426),
      [sym_integer_literal] = ACTIONS(428),
      [sym_float_literal] = ACTIONS(428),
      [sym_nil_literal] = ACTIONS(428),
      [anon_sym_DASH] = ACTIONS(428),
      [anon_sym_STAR] = ACTIONS(426),
      [anon_sym_BANG] = ACTIONS(426),
      [anon_sym_TILDE] = ACTIONS(426),
      [anon_sym_AMP] = ACTIONS(428),
      [anon_sym_AMP_AMP] = ACTIONS(426),
      [anon_sym_AT] = ACTIONS(426),
      [anon_sym_DASH_DASH] = ACTIONS(426),
      [anon_sym_PLUS_PLUS] = ACTIONS(426),
      [anon_sym_DOT_DOT] = ACTIONS(426),
      [anon_sym_try] = ACTIONS(428),
      [anon_sym_catch] = ACTIONS(428),
      [anon_sym_void] = ACTIONS(428),
      [anon_sym_bool] = ACTIONS(428),
      [anon_sym_ichar] = ACTIONS(428),
      [anon_sym_char] = ACTIONS(428),
      [anon_sym_short] = ACTIONS(428),
      [anon_sym_ushort] = ACTIONS(428),
      [anon_sym_int] = ACTIONS(428),
      [anon_sym_uint] = ACTIONS(428),
      [anon_sym_long] = ACTIONS(428),
      [anon_sym_ulong] = ACTIONS(428),
      [anon_sym_iptr] = ACTIONS(428),
      [anon_sym_uptr] = ACTIONS(428),
      [anon_sym_iptrdiff] = ACTIONS(428),
      [anon_sym_uptrdiff] = ACTIONS(428),
      [anon_sym_isize] = ACTIONS(428),
      [anon_sym_usize] = ACTIONS(428),
      [anon_sym_half] = ACTIONS(428),
      [anon_sym_float] = ACTIONS(428),
      [anon_sym_double] = ACTIONS(428),
      [anon_sym_quad] = ACTIONS(428),
      [anon_sym_fn] = ACTIONS(428),
      [anon_sym_module] = ACTIONS(428),
      [anon_sym_import] = ACTIONS(428),
      [anon_sym_extern] = ACTIONS(428),
      [anon_sym_const] = ACTIONS(428),
      [anon_sym_define] = ACTIONS(428),
      [anon_sym_struct] = ACTIONS(428),
      [anon_sym_union] = ACTIONS(428),
      [anon_sym_enum] = ACTIONS(428),
      [anon_sym_errtype] = ACTIONS(428),
      [sym_comment] = ACTIONS(3),
    },
    [53] = {
      [ts_builtin_sym_end] = ACTIONS(430),
      [sym_identifier] = ACTIONS(432),
      [anon_sym_SEMI] = ACTIONS(430),
      [anon_sym_return] = ACTIONS(432),
      [anon_sym_if] = ACTIONS(432),
      [anon_sym_else] = ACTIONS(432),
      [anon_sym_while] = ACTIONS(432),
      [anon_sym_LPAREN] = ACTIONS(430),
      [anon_sym_for] = ACTIONS(432),
      [anon_sym_defer] = ACTIONS(432),
      [sym_type_identifier] = ACTIONS(432),
      [anon_sym_private] = ACTIONS(432),
      [anon_sym_public] = ACTIONS(432),
      [anon_sym_RBRACE] = ACTIONS(430),
      [anon_sym_true] = ACTIONS(432),
      [anon_sym_false] = ACTIONS(432),
      [anon_sym_SQUOTE] = ACTIONS(430),
      [anon_sym_DQUOTE] = ACTIONS(432),
      [anon_sym_BQUOTE] = ACTIONS(430),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(430),
      [anon_sym_x_DQUOTE] = ACTIONS(430),
      [anon_sym_b64_DQUOTE] = ACTIONS(430),
      [sym_integer_literal] = ACTIONS(432),
      [sym_float_literal] = ACTIONS(432),
      [sym_nil_literal] = ACTIONS(432),
      [anon_sym_DASH] = ACTIONS(432),
      [anon_sym_STAR] = ACTIONS(430),
      [anon_sym_BANG] = ACTIONS(430),
      [anon_sym_TILDE] = ACTIONS(430),
      [anon_sym_AMP] = ACTIONS(432),
      [anon_sym_AMP_AMP] = ACTIONS(430),
      [anon_sym_AT] = ACTIONS(430),
      [anon_sym_DASH_DASH] = ACTIONS(430),
      [anon_sym_PLUS_PLUS] = ACTIONS(430),
      [anon_sym_DOT_DOT] = ACTIONS(430),
      [anon_sym_try] = ACTIONS(432),
      [anon_sym_catch] = ACTIONS(432),
      [anon_sym_void] = ACTIONS(432),
      [anon_sym_bool] = ACTIONS(432),
      [anon_sym_ichar] = ACTIONS(432),
      [anon_sym_char] = ACTIONS(432),
      [anon_sym_short] = ACTIONS(432),
      [anon_sym_ushort] = ACTIONS(432),
      [anon_sym_int] = ACTIONS(432),
      [anon_sym_uint] = ACTIONS(432),
      [anon_sym_long] = ACTIONS(432),
      [anon_sym_ulong] = ACTIONS(432),
      [anon_sym_iptr] = ACTIONS(432),
      [anon_sym_uptr] = ACTIONS(432),
      [anon_sym_iptrdiff] = ACTIONS(432),
      [anon_sym_uptrdiff] = ACTIONS(432),
      [anon_sym_isize] = ACTIONS(432),
      [anon_sym_usize] = ACTIONS(432),
      [anon_sym_half] = ACTIONS(432),
      [anon_sym_float] = ACTIONS(432),
      [anon_sym_double] = ACTIONS(432),
      [anon_sym_quad] = ACTIONS(432),
      [anon_sym_fn] = ACTIONS(432),
      [anon_sym_module] = ACTIONS(432),
      [anon_sym_import] = ACTIONS(432),
      [anon_sym_extern] = ACTIONS(432),
      [anon_sym_const] = ACTIONS(432),
      [anon_sym_define] = ACTIONS(432),
      [anon_sym_struct] = ACTIONS(432),
      [anon_sym_union] = ACTIONS(432),
      [anon_sym_enum] = ACTIONS(432),
      [anon_sym_errtype] = ACTIONS(432),
      [sym_comment] = ACTIONS(3),
    },
    [54] = {
      [ts_builtin_sym_end] = ACTIONS(434),
      [sym_identifier] = ACTIONS(436),
      [anon_sym_SEMI] = ACTIONS(434),
      [anon_sym_return] = ACTIONS(436),
      [anon_sym_if] = ACTIONS(436),
      [anon_sym_else] = ACTIONS(436),
      [anon_sym_while] = ACTIONS(436),
      [anon_sym_LPAREN] = ACTIONS(434),
      [anon_sym_for] = ACTIONS(436),
      [anon_sym_defer] = ACTIONS(436),
      [sym_type_identifier] = ACTIONS(436),
      [anon_sym_private] = ACTIONS(436),
      [anon_sym_public] = ACTIONS(436),
      [anon_sym_RBRACE] = ACTIONS(434),
      [anon_sym_true] = ACTIONS(436),
      [anon_sym_false] = ACTIONS(436),
      [anon_sym_SQUOTE] = ACTIONS(434),
      [anon_sym_DQUOTE] = ACTIONS(436),
      [anon_sym_BQUOTE] = ACTIONS(434),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(434),
      [anon_sym_x_DQUOTE] = ACTIONS(434),
      [anon_sym_b64_DQUOTE] = ACTIONS(434),
      [sym_integer_literal] = ACTIONS(436),
      [sym_float_literal] = ACTIONS(436),
      [sym_nil_literal] = ACTIONS(436),
      [anon_sym_DASH] = ACTIONS(436),
      [anon_sym_STAR] = ACTIONS(434),
      [anon_sym_BANG] = ACTIONS(434),
      [anon_sym_TILDE] = ACTIONS(434),
      [anon_sym_AMP] = ACTIONS(436),
      [anon_sym_AMP_AMP] = ACTIONS(434),
      [anon_sym_AT] = ACTIONS(434),
      [anon_sym_DASH_DASH] = ACTIONS(434),
      [anon_sym_PLUS_PLUS] = ACTIONS(434),
      [anon_sym_DOT_DOT] = ACTIONS(434),
      [anon_sym_try] = ACTIONS(436),
      [anon_sym_catch] = ACTIONS(436),
      [anon_sym_void] = ACTIONS(436),
      [anon_sym_bool] = ACTIONS(436),
      [anon_sym_ichar] = ACTIONS(436),
      [anon_sym_char] = ACTIONS(436),
      [anon_sym_short] = ACTIONS(436),
      [anon_sym_ushort] = ACTIONS(436),
      [anon_sym_int] = ACTIONS(436),
      [anon_sym_uint] = ACTIONS(436),
      [anon_sym_long] = ACTIONS(436),
      [anon_sym_ulong] = ACTIONS(436),
      [anon_sym_iptr] = ACTIONS(436),
      [anon_sym_uptr] = ACTIONS(436),
      [anon_sym_iptrdiff] = ACTIONS(436),
      [anon_sym_uptrdiff] = ACTIONS(436),
      [anon_sym_isize] = ACTIONS(436),
      [anon_sym_usize] = ACTIONS(436),
      [anon_sym_half] = ACTIONS(436),
      [anon_sym_float] = ACTIONS(436),
      [anon_sym_double] = ACTIONS(436),
      [anon_sym_quad] = ACTIONS(436),
      [anon_sym_fn] = ACTIONS(436),
      [anon_sym_module] = ACTIONS(436),
      [anon_sym_import] = ACTIONS(436),
      [anon_sym_extern] = ACTIONS(436),
      [anon_sym_const] = ACTIONS(436),
      [anon_sym_define] = ACTIONS(436),
      [anon_sym_struct] = ACTIONS(436),
      [anon_sym_union] = ACTIONS(436),
      [anon_sym_enum] = ACTIONS(436),
      [anon_sym_errtype] = ACTIONS(436),
      [sym_comment] = ACTIONS(3),
    },
    [55] = {
      [ts_builtin_sym_end] = ACTIONS(438),
      [sym_identifier] = ACTIONS(440),
      [anon_sym_SEMI] = ACTIONS(438),
      [anon_sym_return] = ACTIONS(440),
      [anon_sym_if] = ACTIONS(440),
      [anon_sym_else] = ACTIONS(440),
      [anon_sym_while] = ACTIONS(440),
      [anon_sym_LPAREN] = ACTIONS(438),
      [anon_sym_for] = ACTIONS(440),
      [anon_sym_defer] = ACTIONS(440),
      [sym_type_identifier] = ACTIONS(440),
      [anon_sym_private] = ACTIONS(440),
      [anon_sym_public] = ACTIONS(440),
      [anon_sym_RBRACE] = ACTIONS(438),
      [anon_sym_true] = ACTIONS(440),
      [anon_sym_false] = ACTIONS(440),
      [anon_sym_SQUOTE] = ACTIONS(438),
      [anon_sym_DQUOTE] = ACTIONS(440),
      [anon_sym_BQUOTE] = ACTIONS(438),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(438),
      [anon_sym_x_DQUOTE] = ACTIONS(438),
      [anon_sym_b64_DQUOTE] = ACTIONS(438),
      [sym_integer_literal] = ACTIONS(440),
      [sym_float_literal] = ACTIONS(440),
      [sym_nil_literal] = ACTIONS(440),
      [anon_sym_DASH] = ACTIONS(440),
      [anon_sym_STAR] = ACTIONS(438),
      [anon_sym_BANG] = ACTIONS(438),
      [anon_sym_TILDE] = ACTIONS(438),
      [anon_sym_AMP] = ACTIONS(440),
      [anon_sym_AMP_AMP] = ACTIONS(438),
      [anon_sym_AT] = ACTIONS(438),
      [anon_sym_DASH_DASH] = ACTIONS(438),
      [anon_sym_PLUS_PLUS] = ACTIONS(438),
      [anon_sym_DOT_DOT] = ACTIONS(438),
      [anon_sym_try] = ACTIONS(440),
      [anon_sym_catch] = ACTIONS(440),
      [anon_sym_void] = ACTIONS(440),
      [anon_sym_bool] = ACTIONS(440),
      [anon_sym_ichar] = ACTIONS(440),
      [anon_sym_char] = ACTIONS(440),
      [anon_sym_short] = ACTIONS(440),
      [anon_sym_ushort] = ACTIONS(440),
      [anon_sym_int] = ACTIONS(440),
      [anon_sym_uint] = ACTIONS(440),
      [anon_sym_long] = ACTIONS(440),
      [anon_sym_ulong] = ACTIONS(440),
      [anon_sym_iptr] = ACTIONS(440),
      [anon_sym_uptr] = ACTIONS(440),
      [anon_sym_iptrdiff] = ACTIONS(440),
      [anon_sym_uptrdiff] = ACTIONS(440),
      [anon_sym_isize] = ACTIONS(440),
      [anon_sym_usize] = ACTIONS(440),
      [anon_sym_half] = ACTIONS(440),
      [anon_sym_float] = ACTIONS(440),
      [anon_sym_double] = ACTIONS(440),
      [anon_sym_quad] = ACTIONS(440),
      [anon_sym_fn] = ACTIONS(440),
      [anon_sym_module] = ACTIONS(440),
      [anon_sym_import] = ACTIONS(440),
      [anon_sym_extern] = ACTIONS(440),
      [anon_sym_const] = ACTIONS(440),
      [anon_sym_define] = ACTIONS(440),
      [anon_sym_struct] = ACTIONS(440),
      [anon_sym_union] = ACTIONS(440),
      [anon_sym_enum] = ACTIONS(440),
      [anon_sym_errtype] = ACTIONS(440),
      [sym_comment] = ACTIONS(3),
    },
    [56] = {
      [ts_builtin_sym_end] = ACTIONS(442),
      [sym_identifier] = ACTIONS(444),
      [anon_sym_SEMI] = ACTIONS(442),
      [anon_sym_return] = ACTIONS(444),
      [anon_sym_if] = ACTIONS(444),
      [anon_sym_else] = ACTIONS(444),
      [anon_sym_while] = ACTIONS(444),
      [anon_sym_LPAREN] = ACTIONS(442),
      [anon_sym_for] = ACTIONS(444),
      [anon_sym_defer] = ACTIONS(444),
      [sym_type_identifier] = ACTIONS(444),
      [anon_sym_private] = ACTIONS(444),
      [anon_sym_public] = ACTIONS(444),
      [anon_sym_RBRACE] = ACTIONS(442),
      [anon_sym_true] = ACTIONS(444),
      [anon_sym_false] = ACTIONS(444),
      [anon_sym_SQUOTE] = ACTIONS(442),
      [anon_sym_DQUOTE] = ACTIONS(444),
      [anon_sym_BQUOTE] = ACTIONS(442),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(442),
      [anon_sym_x_DQUOTE] = ACTIONS(442),
      [anon_sym_b64_DQUOTE] = ACTIONS(442),
      [sym_integer_literal] = ACTIONS(444),
      [sym_float_literal] = ACTIONS(444),
      [sym_nil_literal] = ACTIONS(444),
      [anon_sym_DASH] = ACTIONS(444),
      [anon_sym_STAR] = ACTIONS(442),
      [anon_sym_BANG] = ACTIONS(442),
      [anon_sym_TILDE] = ACTIONS(442),
      [anon_sym_AMP] = ACTIONS(444),
      [anon_sym_AMP_AMP] = ACTIONS(442),
      [anon_sym_AT] = ACTIONS(442),
      [anon_sym_DASH_DASH] = ACTIONS(442),
      [anon_sym_PLUS_PLUS] = ACTIONS(442),
      [anon_sym_DOT_DOT] = ACTIONS(442),
      [anon_sym_try] = ACTIONS(444),
      [anon_sym_catch] = ACTIONS(444),
      [anon_sym_void] = ACTIONS(444),
      [anon_sym_bool] = ACTIONS(444),
      [anon_sym_ichar] = ACTIONS(444),
      [anon_sym_char] = ACTIONS(444),
      [anon_sym_short] = ACTIONS(444),
      [anon_sym_ushort] = ACTIONS(444),
      [anon_sym_int] = ACTIONS(444),
      [anon_sym_uint] = ACTIONS(444),
      [anon_sym_long] = ACTIONS(444),
      [anon_sym_ulong] = ACTIONS(444),
      [anon_sym_iptr] = ACTIONS(444),
      [anon_sym_uptr] = ACTIONS(444),
      [anon_sym_iptrdiff] = ACTIONS(444),
      [anon_sym_uptrdiff] = ACTIONS(444),
      [anon_sym_isize] = ACTIONS(444),
      [anon_sym_usize] = ACTIONS(444),
      [anon_sym_half] = ACTIONS(444),
      [anon_sym_float] = ACTIONS(444),
      [anon_sym_double] = ACTIONS(444),
      [anon_sym_quad] = ACTIONS(444),
      [anon_sym_fn] = ACTIONS(444),
      [anon_sym_module] = ACTIONS(444),
      [anon_sym_import] = ACTIONS(444),
      [anon_sym_extern] = ACTIONS(444),
      [anon_sym_const] = ACTIONS(444),
      [anon_sym_define] = ACTIONS(444),
      [anon_sym_struct] = ACTIONS(444),
      [anon_sym_union] = ACTIONS(444),
      [anon_sym_enum] = ACTIONS(444),
      [anon_sym_errtype] = ACTIONS(444),
      [sym_comment] = ACTIONS(3),
    },
    [57] = {
      [ts_builtin_sym_end] = ACTIONS(446),
      [sym_identifier] = ACTIONS(448),
      [anon_sym_SEMI] = ACTIONS(446),
      [anon_sym_return] = ACTIONS(448),
      [anon_sym_if] = ACTIONS(448),
      [anon_sym_else] = ACTIONS(448),
      [anon_sym_while] = ACTIONS(448),
      [anon_sym_LPAREN] = ACTIONS(446),
      [anon_sym_for] = ACTIONS(448),
      [anon_sym_defer] = ACTIONS(448),
      [sym_type_identifier] = ACTIONS(448),
      [anon_sym_private] = ACTIONS(448),
      [anon_sym_public] = ACTIONS(448),
      [anon_sym_RBRACE] = ACTIONS(446),
      [anon_sym_true] = ACTIONS(448),
      [anon_sym_false] = ACTIONS(448),
      [anon_sym_SQUOTE] = ACTIONS(446),
      [anon_sym_DQUOTE] = ACTIONS(448),
      [anon_sym_BQUOTE] = ACTIONS(446),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(446),
      [anon_sym_x_DQUOTE] = ACTIONS(446),
      [anon_sym_b64_DQUOTE] = ACTIONS(446),
      [sym_integer_literal] = ACTIONS(448),
      [sym_float_literal] = ACTIONS(448),
      [sym_nil_literal] = ACTIONS(448),
      [anon_sym_DASH] = ACTIONS(448),
      [anon_sym_STAR] = ACTIONS(446),
      [anon_sym_BANG] = ACTIONS(446),
      [anon_sym_TILDE] = ACTIONS(446),
      [anon_sym_AMP] = ACTIONS(448),
      [anon_sym_AMP_AMP] = ACTIONS(446),
      [anon_sym_AT] = ACTIONS(446),
      [anon_sym_DASH_DASH] = ACTIONS(446),
      [anon_sym_PLUS_PLUS] = ACTIONS(446),
      [anon_sym_DOT_DOT] = ACTIONS(446),
      [anon_sym_try] = ACTIONS(448),
      [anon_sym_catch] = ACTIONS(448),
      [anon_sym_void] = ACTIONS(448),
      [anon_sym_bool] = ACTIONS(448),
      [anon_sym_ichar] = ACTIONS(448),
      [anon_sym_char] = ACTIONS(448),
      [anon_sym_short] = ACTIONS(448),
      [anon_sym_ushort] = ACTIONS(448),
      [anon_sym_int] = ACTIONS(448),
      [anon_sym_uint] = ACTIONS(448),
      [anon_sym_long] = ACTIONS(448),
      [anon_sym_ulong] = ACTIONS(448),
      [anon_sym_iptr] = ACTIONS(448),
      [anon_sym_uptr] = ACTIONS(448),
      [anon_sym_iptrdiff] = ACTIONS(448),
      [anon_sym_uptrdiff] = ACTIONS(448),
      [anon_sym_isize] = ACTIONS(448),
      [anon_sym_usize] = ACTIONS(448),
      [anon_sym_half] = ACTIONS(448),
      [anon_sym_float] = ACTIONS(448),
      [anon_sym_double] = ACTIONS(448),
      [anon_sym_quad] = ACTIONS(448),
      [anon_sym_fn] = ACTIONS(448),
      [anon_sym_module] = ACTIONS(448),
      [anon_sym_import] = ACTIONS(448),
      [anon_sym_extern] = ACTIONS(448),
      [anon_sym_const] = ACTIONS(448),
      [anon_sym_define] = ACTIONS(448),
      [anon_sym_struct] = ACTIONS(448),
      [anon_sym_union] = ACTIONS(448),
      [anon_sym_enum] = ACTIONS(448),
      [anon_sym_errtype] = ACTIONS(448),
      [sym_comment] = ACTIONS(3),
    },
    [58] = {
      [ts_builtin_sym_end] = ACTIONS(450),
      [sym_identifier] = ACTIONS(452),
      [anon_sym_SEMI] = ACTIONS(450),
      [anon_sym_return] = ACTIONS(452),
      [anon_sym_if] = ACTIONS(452),
      [anon_sym_else] = ACTIONS(452),
      [anon_sym_while] = ACTIONS(452),
      [anon_sym_LPAREN] = ACTIONS(450),
      [anon_sym_for] = ACTIONS(452),
      [anon_sym_defer] = ACTIONS(452),
      [sym_type_identifier] = ACTIONS(452),
      [anon_sym_private] = ACTIONS(452),
      [anon_sym_public] = ACTIONS(452),
      [anon_sym_RBRACE] = ACTIONS(450),
      [anon_sym_true] = ACTIONS(452),
      [anon_sym_false] = ACTIONS(452),
      [anon_sym_SQUOTE] = ACTIONS(450),
      [anon_sym_DQUOTE] = ACTIONS(452),
      [anon_sym_BQUOTE] = ACTIONS(450),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(450),
      [anon_sym_x_DQUOTE] = ACTIONS(450),
      [anon_sym_b64_DQUOTE] = ACTIONS(450),
      [sym_integer_literal] = ACTIONS(452),
      [sym_float_literal] = ACTIONS(452),
      [sym_nil_literal] = ACTIONS(452),
      [anon_sym_DASH] = ACTIONS(452),
      [anon_sym_STAR] = ACTIONS(450),
      [anon_sym_BANG] = ACTIONS(450),
      [anon_sym_TILDE] = ACTIONS(450),
      [anon_sym_AMP] = ACTIONS(452),
      [anon_sym_AMP_AMP] = ACTIONS(450),
      [anon_sym_AT] = ACTIONS(450),
      [anon_sym_DASH_DASH] = ACTIONS(450),
      [anon_sym_PLUS_PLUS] = ACTIONS(450),
      [anon_sym_DOT_DOT] = ACTIONS(450),
      [anon_sym_try] = ACTIONS(452),
      [anon_sym_catch] = ACTIONS(452),
      [anon_sym_void] = ACTIONS(452),
      [anon_sym_bool] = ACTIONS(452),
      [anon_sym_ichar] = ACTIONS(452),
      [anon_sym_char] = ACTIONS(452),
      [anon_sym_short] = ACTIONS(452),
      [anon_sym_ushort] = ACTIONS(452),
      [anon_sym_int] = ACTIONS(452),
      [anon_sym_uint] = ACTIONS(452),
      [anon_sym_long] = ACTIONS(452),
      [anon_sym_ulong] = ACTIONS(452),
      [anon_sym_iptr] = ACTIONS(452),
      [anon_sym_uptr] = ACTIONS(452),
      [anon_sym_iptrdiff] = ACTIONS(452),
      [anon_sym_uptrdiff] = ACTIONS(452),
      [anon_sym_isize] = ACTIONS(452),
      [anon_sym_usize] = ACTIONS(452),
      [anon_sym_half] = ACTIONS(452),
      [anon_sym_float] = ACTIONS(452),
      [anon_sym_double] = ACTIONS(452),
      [anon_sym_quad] = ACTIONS(452),
      [anon_sym_fn] = ACTIONS(452),
      [anon_sym_module] = ACTIONS(452),
      [anon_sym_import] = ACTIONS(452),
      [anon_sym_extern] = ACTIONS(452),
      [anon_sym_const] = ACTIONS(452),
      [anon_sym_define] = ACTIONS(452),
      [anon_sym_struct] = ACTIONS(452),
      [anon_sym_union] = ACTIONS(452),
      [anon_sym_enum] = ACTIONS(452),
      [anon_sym_errtype] = ACTIONS(452),
      [sym_comment] = ACTIONS(3),
    },
    [59] = {
      [ts_builtin_sym_end] = ACTIONS(454),
      [sym_identifier] = ACTIONS(456),
      [anon_sym_SEMI] = ACTIONS(454),
      [anon_sym_return] = ACTIONS(456),
      [anon_sym_if] = ACTIONS(456),
      [anon_sym_else] = ACTIONS(456),
      [anon_sym_while] = ACTIONS(456),
      [anon_sym_LPAREN] = ACTIONS(454),
      [anon_sym_for] = ACTIONS(456),
      [anon_sym_defer] = ACTIONS(456),
      [sym_type_identifier] = ACTIONS(456),
      [anon_sym_private] = ACTIONS(456),
      [anon_sym_public] = ACTIONS(456),
      [anon_sym_RBRACE] = ACTIONS(454),
      [anon_sym_true] = ACTIONS(456),
      [anon_sym_false] = ACTIONS(456),
      [anon_sym_SQUOTE] = ACTIONS(454),
      [anon_sym_DQUOTE] = ACTIONS(456),
      [anon_sym_BQUOTE] = ACTIONS(454),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(454),
      [anon_sym_x_DQUOTE] = ACTIONS(454),
      [anon_sym_b64_DQUOTE] = ACTIONS(454),
      [sym_integer_literal] = ACTIONS(456),
      [sym_float_literal] = ACTIONS(456),
      [sym_nil_literal] = ACTIONS(456),
      [anon_sym_DASH] = ACTIONS(456),
      [anon_sym_STAR] = ACTIONS(454),
      [anon_sym_BANG] = ACTIONS(454),
      [anon_sym_TILDE] = ACTIONS(454),
      [anon_sym_AMP] = ACTIONS(456),
      [anon_sym_AMP_AMP] = ACTIONS(454),
      [anon_sym_AT] = ACTIONS(454),
      [anon_sym_DASH_DASH] = ACTIONS(454),
      [anon_sym_PLUS_PLUS] = ACTIONS(454),
      [anon_sym_DOT_DOT] = ACTIONS(454),
      [anon_sym_try] = ACTIONS(456),
      [anon_sym_catch] = ACTIONS(456),
      [anon_sym_void] = ACTIONS(456),
      [anon_sym_bool] = ACTIONS(456),
      [anon_sym_ichar] = ACTIONS(456),
      [anon_sym_char] = ACTIONS(456),
      [anon_sym_short] = ACTIONS(456),
      [anon_sym_ushort] = ACTIONS(456),
      [anon_sym_int] = ACTIONS(456),
      [anon_sym_uint] = ACTIONS(456),
      [anon_sym_long] = ACTIONS(456),
      [anon_sym_ulong] = ACTIONS(456),
      [anon_sym_iptr] = ACTIONS(456),
      [anon_sym_uptr] = ACTIONS(456),
      [anon_sym_iptrdiff] = ACTIONS(456),
      [anon_sym_uptrdiff] = ACTIONS(456),
      [anon_sym_isize] = ACTIONS(456),
      [anon_sym_usize] = ACTIONS(456),
      [anon_sym_half] = ACTIONS(456),
      [anon_sym_float] = ACTIONS(456),
      [anon_sym_double] = ACTIONS(456),
      [anon_sym_quad] = ACTIONS(456),
      [anon_sym_fn] = ACTIONS(456),
      [anon_sym_module] = ACTIONS(456),
      [anon_sym_import] = ACTIONS(456),
      [anon_sym_extern] = ACTIONS(456),
      [anon_sym_const] = ACTIONS(456),
      [anon_sym_define] = ACTIONS(456),
      [anon_sym_struct] = ACTIONS(456),
      [anon_sym_union] = ACTIONS(456),
      [anon_sym_enum] = ACTIONS(456),
      [anon_sym_errtype] = ACTIONS(456),
      [sym_comment] = ACTIONS(3),
    },
    [60] = {
      [ts_builtin_sym_end] = ACTIONS(458),
      [sym_identifier] = ACTIONS(460),
      [anon_sym_SEMI] = ACTIONS(458),
      [anon_sym_return] = ACTIONS(460),
      [anon_sym_if] = ACTIONS(460),
      [anon_sym_else] = ACTIONS(460),
      [anon_sym_while] = ACTIONS(460),
      [anon_sym_LPAREN] = ACTIONS(458),
      [anon_sym_for] = ACTIONS(460),
      [anon_sym_defer] = ACTIONS(460),
      [sym_type_identifier] = ACTIONS(460),
      [anon_sym_private] = ACTIONS(460),
      [anon_sym_public] = ACTIONS(460),
      [anon_sym_RBRACE] = ACTIONS(458),
      [anon_sym_true] = ACTIONS(460),
      [anon_sym_false] = ACTIONS(460),
      [anon_sym_SQUOTE] = ACTIONS(458),
      [anon_sym_DQUOTE] = ACTIONS(460),
      [anon_sym_BQUOTE] = ACTIONS(458),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(458),
      [anon_sym_x_DQUOTE] = ACTIONS(458),
      [anon_sym_b64_DQUOTE] = ACTIONS(458),
      [sym_integer_literal] = ACTIONS(460),
      [sym_float_literal] = ACTIONS(460),
      [sym_nil_literal] = ACTIONS(460),
      [anon_sym_DASH] = ACTIONS(460),
      [anon_sym_STAR] = ACTIONS(458),
      [anon_sym_BANG] = ACTIONS(458),
      [anon_sym_TILDE] = ACTIONS(458),
      [anon_sym_AMP] = ACTIONS(460),
      [anon_sym_AMP_AMP] = ACTIONS(458),
      [anon_sym_AT] = ACTIONS(458),
      [anon_sym_DASH_DASH] = ACTIONS(458),
      [anon_sym_PLUS_PLUS] = ACTIONS(458),
      [anon_sym_DOT_DOT] = ACTIONS(458),
      [anon_sym_try] = ACTIONS(460),
      [anon_sym_catch] = ACTIONS(460),
      [anon_sym_void] = ACTIONS(460),
      [anon_sym_bool] = ACTIONS(460),
      [anon_sym_ichar] = ACTIONS(460),
      [anon_sym_char] = ACTIONS(460),
      [anon_sym_short] = ACTIONS(460),
      [anon_sym_ushort] = ACTIONS(460),
      [anon_sym_int] = ACTIONS(460),
      [anon_sym_uint] = ACTIONS(460),
      [anon_sym_long] = ACTIONS(460),
      [anon_sym_ulong] = ACTIONS(460),
      [anon_sym_iptr] = ACTIONS(460),
      [anon_sym_uptr] = ACTIONS(460),
      [anon_sym_iptrdiff] = ACTIONS(460),
      [anon_sym_uptrdiff] = ACTIONS(460),
      [anon_sym_isize] = ACTIONS(460),
      [anon_sym_usize] = ACTIONS(460),
      [anon_sym_half] = ACTIONS(460),
      [anon_sym_float] = ACTIONS(460),
      [anon_sym_double] = ACTIONS(460),
      [anon_sym_quad] = ACTIONS(460),
      [anon_sym_fn] = ACTIONS(460),
      [anon_sym_module] = ACTIONS(460),
      [anon_sym_import] = ACTIONS(460),
      [anon_sym_extern] = ACTIONS(460),
      [anon_sym_const] = ACTIONS(460),
      [anon_sym_define] = ACTIONS(460),
      [anon_sym_struct] = ACTIONS(460),
      [anon_sym_union] = ACTIONS(460),
      [anon_sym_enum] = ACTIONS(460),
      [anon_sym_errtype] = ACTIONS(460),
      [sym_comment] = ACTIONS(3),
    },
    [61] = {
      [ts_builtin_sym_end] = ACTIONS(462),
      [sym_identifier] = ACTIONS(464),
      [anon_sym_SEMI] = ACTIONS(462),
      [anon_sym_return] = ACTIONS(464),
      [anon_sym_if] = ACTIONS(464),
      [anon_sym_else] = ACTIONS(464),
      [anon_sym_while] = ACTIONS(464),
      [anon_sym_LPAREN] = ACTIONS(462),
      [anon_sym_for] = ACTIONS(464),
      [anon_sym_defer] = ACTIONS(464),
      [sym_type_identifier] = ACTIONS(464),
      [anon_sym_private] = ACTIONS(464),
      [anon_sym_public] = ACTIONS(464),
      [anon_sym_RBRACE] = ACTIONS(462),
      [anon_sym_true] = ACTIONS(464),
      [anon_sym_false] = ACTIONS(464),
      [anon_sym_SQUOTE] = ACTIONS(462),
      [anon_sym_DQUOTE] = ACTIONS(464),
      [anon_sym_BQUOTE] = ACTIONS(462),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(462),
      [anon_sym_x_DQUOTE] = ACTIONS(462),
      [anon_sym_b64_DQUOTE] = ACTIONS(462),
      [sym_integer_literal] = ACTIONS(464),
      [sym_float_literal] = ACTIONS(464),
      [sym_nil_literal] = ACTIONS(464),
      [anon_sym_DASH] = ACTIONS(464),
      [anon_sym_STAR] = ACTIONS(462),
      [anon_sym_BANG] = ACTIONS(462),
      [anon_sym_TILDE] = ACTIONS(462),
      [anon_sym_AMP] = ACTIONS(464),
      [anon_sym_AMP_AMP] = ACTIONS(462),
      [anon_sym_AT] = ACTIONS(462),
      [anon_sym_DASH_DASH] = ACTIONS(462),
      [anon_sym_PLUS_PLUS] = ACTIONS(462),
      [anon_sym_DOT_DOT] = ACTIONS(462),
      [anon_sym_try] = ACTIONS(464),
      [anon_sym_catch] = ACTIONS(464),
      [anon_sym_void] = ACTIONS(464),
      [anon_sym_bool] = ACTIONS(464),
      [anon_sym_ichar] = ACTIONS(464),
      [anon_sym_char] = ACTIONS(464),
      [anon_sym_short] = ACTIONS(464),
      [anon_sym_ushort] = ACTIONS(464),
      [anon_sym_int] = ACTIONS(464),
      [anon_sym_uint] = ACTIONS(464),
      [anon_sym_long] = ACTIONS(464),
      [anon_sym_ulong] = ACTIONS(464),
      [anon_sym_iptr] = ACTIONS(464),
      [anon_sym_uptr] = ACTIONS(464),
      [anon_sym_iptrdiff] = ACTIONS(464),
      [anon_sym_uptrdiff] = ACTIONS(464),
      [anon_sym_isize] = ACTIONS(464),
      [anon_sym_usize] = ACTIONS(464),
      [anon_sym_half] = ACTIONS(464),
      [anon_sym_float] = ACTIONS(464),
      [anon_sym_double] = ACTIONS(464),
      [anon_sym_quad] = ACTIONS(464),
      [anon_sym_fn] = ACTIONS(464),
      [anon_sym_module] = ACTIONS(464),
      [anon_sym_import] = ACTIONS(464),
      [anon_sym_extern] = ACTIONS(464),
      [anon_sym_const] = ACTIONS(464),
      [anon_sym_define] = ACTIONS(464),
      [anon_sym_struct] = ACTIONS(464),
      [anon_sym_union] = ACTIONS(464),
      [anon_sym_enum] = ACTIONS(464),
      [anon_sym_errtype] = ACTIONS(464),
      [sym_comment] = ACTIONS(3),
    },
    [62] = {
      [sym_scoped_identifier] = STATE(188),
      [sym_scoped_type_identifier] = STATE(312),
      [sym_boolean_literal] = STATE(211),
      [sym_char_literal] = STATE(211),
      [sym_string_literal] = STATE(211),
      [sym__hex_string_literal] = STATE(159),
      [sym__base64_string_literal] = STATE(159),
      [sym_assignment_expression] = STATE(211),
      [sym_unary_expression] = STATE(211),
      [sym_binary_expression] = STATE(211),
      [sym_parenthesized_expression] = STATE(211),
      [sym_range_expression] = STATE(211),
      [sym_subscript_expression] = STATE(211),
      [sym_call_expression] = STATE(211),
      [sym_field_expression] = STATE(211),
      [sym_try_expression] = STATE(211),
      [sym_catch_expression] = STATE(211),
      [sym_primitive_type] = STATE(312),
      [sym_pointer_type] = STATE(312),
      [sym_failable_type] = STATE(312),
      [sym_array_type] = STATE(312),
      [sym_identifier] = ACTIONS(466),
      [anon_sym_LPAREN] = ACTIONS(17),
      [sym_type_identifier] = ACTIONS(468),
      [anon_sym_true] = ACTIONS(27),
      [anon_sym_false] = ACTIONS(27),
      [anon_sym_SQUOTE] = ACTIONS(29),
      [anon_sym_DQUOTE] = ACTIONS(31),
      [anon_sym_BQUOTE] = ACTIONS(33),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(35),
      [anon_sym_x_DQUOTE] = ACTIONS(37),
      [anon_sym_b64_DQUOTE] = ACTIONS(39),
      [sym_integer_literal] = ACTIONS(470),
      [sym_float_literal] = ACTIONS(470),
      [sym_nil_literal] = ACTIONS(470),
      [anon_sym_DASH] = ACTIONS(43),
      [anon_sym_STAR] = ACTIONS(45),
      [anon_sym_BANG] = ACTIONS(45),
      [anon_sym_TILDE] = ACTIONS(45),
      [anon_sym_AMP] = ACTIONS(43),
      [anon_sym_AMP_AMP] = ACTIONS(45),
      [anon_sym_AT] = ACTIONS(45),
      [anon_sym_DASH_DASH] = ACTIONS(45),
      [anon_sym_PLUS_PLUS] = ACTIONS(45),
      [anon_sym_DOT_DOT] = ACTIONS(47),
      [anon_sym_try] = ACTIONS(49),
      [anon_sym_catch] = ACTIONS(51),
      [anon_sym_void] = ACTIONS(53),
      [anon_sym_bool] = ACTIONS(53),
      [anon_sym_ichar] = ACTIONS(53),
      [anon_sym_char] = ACTIONS(53),
      [anon_sym_short] = ACTIONS(53),
      [anon_sym_ushort] = ACTIONS(53),
      [anon_sym_int] = ACTIONS(53),
      [anon_sym_uint] = ACTIONS(53),
      [anon_sym_long] = ACTIONS(53),
      [anon_sym_ulong] = ACTIONS(53),
      [anon_sym_iptr] = ACTIONS(53),
      [anon_sym_uptr] = ACTIONS(53),
      [anon_sym_iptrdiff] = ACTIONS(53),
      [anon_sym_uptrdiff] = ACTIONS(53),
      [anon_sym_isize] = ACTIONS(53),
      [anon_sym_usize] = ACTIONS(53),
      [anon_sym_half] = ACTIONS(53),
      [anon_sym_float] = ACTIONS(53),
      [anon_sym_double] = ACTIONS(53),
      [anon_sym_quad] = ACTIONS(53),
      [sym_comment] = ACTIONS(3),
    },
    [63] = {
      [ts_builtin_sym_end] = ACTIONS(472),
      [sym_identifier] = ACTIONS(474),
      [anon_sym_SEMI] = ACTIONS(472),
      [anon_sym_return] = ACTIONS(474),
      [anon_sym_if] = ACTIONS(474),
      [anon_sym_else] = ACTIONS(474),
      [anon_sym_while] = ACTIONS(474),
      [anon_sym_LPAREN] = ACTIONS(472),
      [anon_sym_for] = ACTIONS(474),
      [anon_sym_defer] = ACTIONS(474),
      [sym_type_identifier] = ACTIONS(474),
      [anon_sym_private] = ACTIONS(474),
      [anon_sym_public] = ACTIONS(474),
      [anon_sym_RBRACE] = ACTIONS(472),
      [anon_sym_true] = ACTIONS(474),
      [anon_sym_false] = ACTIONS(474),
      [anon_sym_SQUOTE] = ACTIONS(472),
      [anon_sym_DQUOTE] = ACTIONS(474),
      [anon_sym_BQUOTE] = ACTIONS(472),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(472),
      [anon_sym_x_DQUOTE] = ACTIONS(472),
      [anon_sym_b64_DQUOTE] = ACTIONS(472),
      [sym_integer_literal] = ACTIONS(474),
      [sym_float_literal] = ACTIONS(474),
      [sym_nil_literal] = ACTIONS(474),
      [anon_sym_DASH] = ACTIONS(474),
      [anon_sym_STAR] = ACTIONS(472),
      [anon_sym_BANG] = ACTIONS(472),
      [anon_sym_TILDE] = ACTIONS(472),
      [anon_sym_AMP] = ACTIONS(474),
      [anon_sym_AMP_AMP] = ACTIONS(472),
      [anon_sym_AT] = ACTIONS(472),
      [anon_sym_DASH_DASH] = ACTIONS(472),
      [anon_sym_PLUS_PLUS] = ACTIONS(472),
      [anon_sym_DOT_DOT] = ACTIONS(472),
      [anon_sym_try] = ACTIONS(474),
      [anon_sym_catch] = ACTIONS(474),
      [anon_sym_void] = ACTIONS(474),
      [anon_sym_bool] = ACTIONS(474),
      [anon_sym_ichar] = ACTIONS(474),
      [anon_sym_char] = ACTIONS(474),
      [anon_sym_short] = ACTIONS(474),
      [anon_sym_ushort] = ACTIONS(474),
      [anon_sym_int] = ACTIONS(474),
      [anon_sym_uint] = ACTIONS(474),
      [anon_sym_long] = ACTIONS(474),
      [anon_sym_ulong] = ACTIONS(474),
      [anon_sym_iptr] = ACTIONS(474),
      [anon_sym_uptr] = ACTIONS(474),
      [anon_sym_iptrdiff] = ACTIONS(474),
      [anon_sym_uptrdiff] = ACTIONS(474),
      [anon_sym_isize] = ACTIONS(474),
      [anon_sym_usize] = ACTIONS(474),
      [anon_sym_half] = ACTIONS(474),
      [anon_sym_float] = ACTIONS(474),
      [anon_sym_double] = ACTIONS(474),
      [anon_sym_quad] = ACTIONS(474),
      [anon_sym_fn] = ACTIONS(474),
      [anon_sym_module] = ACTIONS(474),
      [anon_sym_import] = ACTIONS(474),
      [anon_sym_extern] = ACTIONS(474),
      [anon_sym_const] = ACTIONS(474),
      [anon_sym_define] = ACTIONS(474),
      [anon_sym_struct] = ACTIONS(474),
      [anon_sym_union] = ACTIONS(474),
      [anon_sym_enum] = ACTIONS(474),
      [anon_sym_errtype] = ACTIONS(474),
      [sym_comment] = ACTIONS(3),
    },
    [64] = {
      [ts_builtin_sym_end] = ACTIONS(476),
      [sym_identifier] = ACTIONS(478),
      [anon_sym_SEMI] = ACTIONS(476),
      [anon_sym_return] = ACTIONS(478),
      [anon_sym_if] = ACTIONS(478),
      [anon_sym_else] = ACTIONS(478),
      [anon_sym_while] = ACTIONS(478),
      [anon_sym_LPAREN] = ACTIONS(476),
      [anon_sym_for] = ACTIONS(478),
      [anon_sym_defer] = ACTIONS(478),
      [sym_type_identifier] = ACTIONS(478),
      [anon_sym_private] = ACTIONS(478),
      [anon_sym_public] = ACTIONS(478),
      [anon_sym_RBRACE] = ACTIONS(476),
      [anon_sym_true] = ACTIONS(478),
      [anon_sym_false] = ACTIONS(478),
      [anon_sym_SQUOTE] = ACTIONS(476),
      [anon_sym_DQUOTE] = ACTIONS(478),
      [anon_sym_BQUOTE] = ACTIONS(476),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(476),
      [anon_sym_x_DQUOTE] = ACTIONS(476),
      [anon_sym_b64_DQUOTE] = ACTIONS(476),
      [sym_integer_literal] = ACTIONS(478),
      [sym_float_literal] = ACTIONS(478),
      [sym_nil_literal] = ACTIONS(478),
      [anon_sym_DASH] = ACTIONS(478),
      [anon_sym_STAR] = ACTIONS(476),
      [anon_sym_BANG] = ACTIONS(476),
      [anon_sym_TILDE] = ACTIONS(476),
      [anon_sym_AMP] = ACTIONS(478),
      [anon_sym_AMP_AMP] = ACTIONS(476),
      [anon_sym_AT] = ACTIONS(476),
      [anon_sym_DASH_DASH] = ACTIONS(476),
      [anon_sym_PLUS_PLUS] = ACTIONS(476),
      [anon_sym_DOT_DOT] = ACTIONS(476),
      [anon_sym_try] = ACTIONS(478),
      [anon_sym_catch] = ACTIONS(478),
      [anon_sym_void] = ACTIONS(478),
      [anon_sym_bool] = ACTIONS(478),
      [anon_sym_ichar] = ACTIONS(478),
      [anon_sym_char] = ACTIONS(478),
      [anon_sym_short] = ACTIONS(478),
      [anon_sym_ushort] = ACTIONS(478),
      [anon_sym_int] = ACTIONS(478),
      [anon_sym_uint] = ACTIONS(478),
      [anon_sym_long] = ACTIONS(478),
      [anon_sym_ulong] = ACTIONS(478),
      [anon_sym_iptr] = ACTIONS(478),
      [anon_sym_uptr] = ACTIONS(478),
      [anon_sym_iptrdiff] = ACTIONS(478),
      [anon_sym_uptrdiff] = ACTIONS(478),
      [anon_sym_isize] = ACTIONS(478),
      [anon_sym_usize] = ACTIONS(478),
      [anon_sym_half] = ACTIONS(478),
      [anon_sym_float] = ACTIONS(478),
      [anon_sym_double] = ACTIONS(478),
      [anon_sym_quad] = ACTIONS(478),
      [anon_sym_fn] = ACTIONS(478),
      [anon_sym_module] = ACTIONS(478),
      [anon_sym_import] = ACTIONS(478),
      [anon_sym_extern] = ACTIONS(478),
      [anon_sym_const] = ACTIONS(478),
      [anon_sym_define] = ACTIONS(478),
      [anon_sym_struct] = ACTIONS(478),
      [anon_sym_union] = ACTIONS(478),
      [anon_sym_enum] = ACTIONS(478),
      [anon_sym_errtype] = ACTIONS(478),
      [sym_comment] = ACTIONS(3),
    },
    [65] = {
      [ts_builtin_sym_end] = ACTIONS(480),
      [sym_identifier] = ACTIONS(482),
      [anon_sym_SEMI] = ACTIONS(480),
      [anon_sym_return] = ACTIONS(482),
      [anon_sym_if] = ACTIONS(482),
      [anon_sym_else] = ACTIONS(482),
      [anon_sym_while] = ACTIONS(482),
      [anon_sym_LPAREN] = ACTIONS(480),
      [anon_sym_for] = ACTIONS(482),
      [anon_sym_defer] = ACTIONS(482),
      [sym_type_identifier] = ACTIONS(482),
      [anon_sym_private] = ACTIONS(482),
      [anon_sym_public] = ACTIONS(482),
      [anon_sym_RBRACE] = ACTIONS(480),
      [anon_sym_true] = ACTIONS(482),
      [anon_sym_false] = ACTIONS(482),
      [anon_sym_SQUOTE] = ACTIONS(480),
      [anon_sym_DQUOTE] = ACTIONS(482),
      [anon_sym_BQUOTE] = ACTIONS(480),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(480),
      [anon_sym_x_DQUOTE] = ACTIONS(480),
      [anon_sym_b64_DQUOTE] = ACTIONS(480),
      [sym_integer_literal] = ACTIONS(482),
      [sym_float_literal] = ACTIONS(482),
      [sym_nil_literal] = ACTIONS(482),
      [anon_sym_DASH] = ACTIONS(482),
      [anon_sym_STAR] = ACTIONS(480),
      [anon_sym_BANG] = ACTIONS(480),
      [anon_sym_TILDE] = ACTIONS(480),
      [anon_sym_AMP] = ACTIONS(482),
      [anon_sym_AMP_AMP] = ACTIONS(480),
      [anon_sym_AT] = ACTIONS(480),
      [anon_sym_DASH_DASH] = ACTIONS(480),
      [anon_sym_PLUS_PLUS] = ACTIONS(480),
      [anon_sym_DOT_DOT] = ACTIONS(480),
      [anon_sym_try] = ACTIONS(482),
      [anon_sym_catch] = ACTIONS(482),
      [anon_sym_void] = ACTIONS(482),
      [anon_sym_bool] = ACTIONS(482),
      [anon_sym_ichar] = ACTIONS(482),
      [anon_sym_char] = ACTIONS(482),
      [anon_sym_short] = ACTIONS(482),
      [anon_sym_ushort] = ACTIONS(482),
      [anon_sym_int] = ACTIONS(482),
      [anon_sym_uint] = ACTIONS(482),
      [anon_sym_long] = ACTIONS(482),
      [anon_sym_ulong] = ACTIONS(482),
      [anon_sym_iptr] = ACTIONS(482),
      [anon_sym_uptr] = ACTIONS(482),
      [anon_sym_iptrdiff] = ACTIONS(482),
      [anon_sym_uptrdiff] = ACTIONS(482),
      [anon_sym_isize] = ACTIONS(482),
      [anon_sym_usize] = ACTIONS(482),
      [anon_sym_half] = ACTIONS(482),
      [anon_sym_float] = ACTIONS(482),
      [anon_sym_double] = ACTIONS(482),
      [anon_sym_quad] = ACTIONS(482),
      [anon_sym_fn] = ACTIONS(482),
      [anon_sym_module] = ACTIONS(482),
      [anon_sym_import] = ACTIONS(482),
      [anon_sym_extern] = ACTIONS(482),
      [anon_sym_const] = ACTIONS(482),
      [anon_sym_define] = ACTIONS(482),
      [anon_sym_struct] = ACTIONS(482),
      [anon_sym_union] = ACTIONS(482),
      [anon_sym_enum] = ACTIONS(482),
      [anon_sym_errtype] = ACTIONS(482),
      [sym_comment] = ACTIONS(3),
    },
    [66] = {
      [ts_builtin_sym_end] = ACTIONS(484),
      [sym_identifier] = ACTIONS(486),
      [anon_sym_SEMI] = ACTIONS(484),
      [anon_sym_return] = ACTIONS(486),
      [anon_sym_if] = ACTIONS(486),
      [anon_sym_else] = ACTIONS(486),
      [anon_sym_while] = ACTIONS(486),
      [anon_sym_LPAREN] = ACTIONS(484),
      [anon_sym_for] = ACTIONS(486),
      [anon_sym_defer] = ACTIONS(486),
      [sym_type_identifier] = ACTIONS(486),
      [anon_sym_private] = ACTIONS(486),
      [anon_sym_public] = ACTIONS(486),
      [anon_sym_RBRACE] = ACTIONS(484),
      [anon_sym_true] = ACTIONS(486),
      [anon_sym_false] = ACTIONS(486),
      [anon_sym_SQUOTE] = ACTIONS(484),
      [anon_sym_DQUOTE] = ACTIONS(486),
      [anon_sym_BQUOTE] = ACTIONS(484),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(484),
      [anon_sym_x_DQUOTE] = ACTIONS(484),
      [anon_sym_b64_DQUOTE] = ACTIONS(484),
      [sym_integer_literal] = ACTIONS(486),
      [sym_float_literal] = ACTIONS(486),
      [sym_nil_literal] = ACTIONS(486),
      [anon_sym_DASH] = ACTIONS(486),
      [anon_sym_STAR] = ACTIONS(484),
      [anon_sym_BANG] = ACTIONS(484),
      [anon_sym_TILDE] = ACTIONS(484),
      [anon_sym_AMP] = ACTIONS(486),
      [anon_sym_AMP_AMP] = ACTIONS(484),
      [anon_sym_AT] = ACTIONS(484),
      [anon_sym_DASH_DASH] = ACTIONS(484),
      [anon_sym_PLUS_PLUS] = ACTIONS(484),
      [anon_sym_DOT_DOT] = ACTIONS(484),
      [anon_sym_try] = ACTIONS(486),
      [anon_sym_catch] = ACTIONS(486),
      [anon_sym_void] = ACTIONS(486),
      [anon_sym_bool] = ACTIONS(486),
      [anon_sym_ichar] = ACTIONS(486),
      [anon_sym_char] = ACTIONS(486),
      [anon_sym_short] = ACTIONS(486),
      [anon_sym_ushort] = ACTIONS(486),
      [anon_sym_int] = ACTIONS(486),
      [anon_sym_uint] = ACTIONS(486),
      [anon_sym_long] = ACTIONS(486),
      [anon_sym_ulong] = ACTIONS(486),
      [anon_sym_iptr] = ACTIONS(486),
      [anon_sym_uptr] = ACTIONS(486),
      [anon_sym_iptrdiff] = ACTIONS(486),
      [anon_sym_uptrdiff] = ACTIONS(486),
      [anon_sym_isize] = ACTIONS(486),
      [anon_sym_usize] = ACTIONS(486),
      [anon_sym_half] = ACTIONS(486),
      [anon_sym_float] = ACTIONS(486),
      [anon_sym_double] = ACTIONS(486),
      [anon_sym_quad] = ACTIONS(486),
      [anon_sym_fn] = ACTIONS(486),
      [anon_sym_module] = ACTIONS(486),
      [anon_sym_import] = ACTIONS(486),
      [anon_sym_extern] = ACTIONS(486),
      [anon_sym_const] = ACTIONS(486),
      [anon_sym_define] = ACTIONS(486),
      [anon_sym_struct] = ACTIONS(486),
      [anon_sym_union] = ACTIONS(486),
      [anon_sym_enum] = ACTIONS(486),
      [anon_sym_errtype] = ACTIONS(486),
      [sym_comment] = ACTIONS(3),
    },
    [67] = {
      [ts_builtin_sym_end] = ACTIONS(488),
      [sym_identifier] = ACTIONS(490),
      [anon_sym_SEMI] = ACTIONS(488),
      [anon_sym_return] = ACTIONS(490),
      [anon_sym_if] = ACTIONS(490),
      [anon_sym_else] = ACTIONS(490),
      [anon_sym_while] = ACTIONS(490),
      [anon_sym_LPAREN] = ACTIONS(488),
      [anon_sym_for] = ACTIONS(490),
      [anon_sym_defer] = ACTIONS(490),
      [sym_type_identifier] = ACTIONS(490),
      [anon_sym_private] = ACTIONS(490),
      [anon_sym_public] = ACTIONS(490),
      [anon_sym_RBRACE] = ACTIONS(488),
      [anon_sym_true] = ACTIONS(490),
      [anon_sym_false] = ACTIONS(490),
      [anon_sym_SQUOTE] = ACTIONS(488),
      [anon_sym_DQUOTE] = ACTIONS(490),
      [anon_sym_BQUOTE] = ACTIONS(488),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(488),
      [anon_sym_x_DQUOTE] = ACTIONS(488),
      [anon_sym_b64_DQUOTE] = ACTIONS(488),
      [sym_integer_literal] = ACTIONS(490),
      [sym_float_literal] = ACTIONS(490),
      [sym_nil_literal] = ACTIONS(490),
      [anon_sym_DASH] = ACTIONS(490),
      [anon_sym_STAR] = ACTIONS(488),
      [anon_sym_BANG] = ACTIONS(488),
      [anon_sym_TILDE] = ACTIONS(488),
      [anon_sym_AMP] = ACTIONS(490),
      [anon_sym_AMP_AMP] = ACTIONS(488),
      [anon_sym_AT] = ACTIONS(488),
      [anon_sym_DASH_DASH] = ACTIONS(488),
      [anon_sym_PLUS_PLUS] = ACTIONS(488),
      [anon_sym_DOT_DOT] = ACTIONS(488),
      [anon_sym_try] = ACTIONS(490),
      [anon_sym_catch] = ACTIONS(490),
      [anon_sym_void] = ACTIONS(490),
      [anon_sym_bool] = ACTIONS(490),
      [anon_sym_ichar] = ACTIONS(490),
      [anon_sym_char] = ACTIONS(490),
      [anon_sym_short] = ACTIONS(490),
      [anon_sym_ushort] = ACTIONS(490),
      [anon_sym_int] = ACTIONS(490),
      [anon_sym_uint] = ACTIONS(490),
      [anon_sym_long] = ACTIONS(490),
      [anon_sym_ulong] = ACTIONS(490),
      [anon_sym_iptr] = ACTIONS(490),
      [anon_sym_uptr] = ACTIONS(490),
      [anon_sym_iptrdiff] = ACTIONS(490),
      [anon_sym_uptrdiff] = ACTIONS(490),
      [anon_sym_isize] = ACTIONS(490),
      [anon_sym_usize] = ACTIONS(490),
      [anon_sym_half] = ACTIONS(490),
      [anon_sym_float] = ACTIONS(490),
      [anon_sym_double] = ACTIONS(490),
      [anon_sym_quad] = ACTIONS(490),
      [anon_sym_fn] = ACTIONS(490),
      [anon_sym_module] = ACTIONS(490),
      [anon_sym_import] = ACTIONS(490),
      [anon_sym_extern] = ACTIONS(490),
      [anon_sym_const] = ACTIONS(490),
      [anon_sym_define] = ACTIONS(490),
      [anon_sym_struct] = ACTIONS(490),
      [anon_sym_union] = ACTIONS(490),
      [anon_sym_enum] = ACTIONS(490),
      [anon_sym_errtype] = ACTIONS(490),
      [sym_comment] = ACTIONS(3),
    },
    [68] = {
      [ts_builtin_sym_end] = ACTIONS(492),
      [sym_identifier] = ACTIONS(494),
      [anon_sym_SEMI] = ACTIONS(492),
      [anon_sym_return] = ACTIONS(494),
      [anon_sym_if] = ACTIONS(494),
      [anon_sym_else] = ACTIONS(494),
      [anon_sym_while] = ACTIONS(494),
      [anon_sym_LPAREN] = ACTIONS(492),
      [anon_sym_for] = ACTIONS(494),
      [anon_sym_defer] = ACTIONS(494),
      [sym_type_identifier] = ACTIONS(494),
      [anon_sym_private] = ACTIONS(494),
      [anon_sym_public] = ACTIONS(494),
      [anon_sym_RBRACE] = ACTIONS(492),
      [anon_sym_true] = ACTIONS(494),
      [anon_sym_false] = ACTIONS(494),
      [anon_sym_SQUOTE] = ACTIONS(492),
      [anon_sym_DQUOTE] = ACTIONS(494),
      [anon_sym_BQUOTE] = ACTIONS(492),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(492),
      [anon_sym_x_DQUOTE] = ACTIONS(492),
      [anon_sym_b64_DQUOTE] = ACTIONS(492),
      [sym_integer_literal] = ACTIONS(494),
      [sym_float_literal] = ACTIONS(494),
      [sym_nil_literal] = ACTIONS(494),
      [anon_sym_DASH] = ACTIONS(494),
      [anon_sym_STAR] = ACTIONS(492),
      [anon_sym_BANG] = ACTIONS(492),
      [anon_sym_TILDE] = ACTIONS(492),
      [anon_sym_AMP] = ACTIONS(494),
      [anon_sym_AMP_AMP] = ACTIONS(492),
      [anon_sym_AT] = ACTIONS(492),
      [anon_sym_DASH_DASH] = ACTIONS(492),
      [anon_sym_PLUS_PLUS] = ACTIONS(492),
      [anon_sym_DOT_DOT] = ACTIONS(492),
      [anon_sym_try] = ACTIONS(494),
      [anon_sym_catch] = ACTIONS(494),
      [anon_sym_void] = ACTIONS(494),
      [anon_sym_bool] = ACTIONS(494),
      [anon_sym_ichar] = ACTIONS(494),
      [anon_sym_char] = ACTIONS(494),
      [anon_sym_short] = ACTIONS(494),
      [anon_sym_ushort] = ACTIONS(494),
      [anon_sym_int] = ACTIONS(494),
      [anon_sym_uint] = ACTIONS(494),
      [anon_sym_long] = ACTIONS(494),
      [anon_sym_ulong] = ACTIONS(494),
      [anon_sym_iptr] = ACTIONS(494),
      [anon_sym_uptr] = ACTIONS(494),
      [anon_sym_iptrdiff] = ACTIONS(494),
      [anon_sym_uptrdiff] = ACTIONS(494),
      [anon_sym_isize] = ACTIONS(494),
      [anon_sym_usize] = ACTIONS(494),
      [anon_sym_half] = ACTIONS(494),
      [anon_sym_float] = ACTIONS(494),
      [anon_sym_double] = ACTIONS(494),
      [anon_sym_quad] = ACTIONS(494),
      [anon_sym_fn] = ACTIONS(494),
      [anon_sym_module] = ACTIONS(494),
      [anon_sym_import] = ACTIONS(494),
      [anon_sym_extern] = ACTIONS(494),
      [anon_sym_const] = ACTIONS(494),
      [anon_sym_define] = ACTIONS(494),
      [anon_sym_struct] = ACTIONS(494),
      [anon_sym_union] = ACTIONS(494),
      [anon_sym_enum] = ACTIONS(494),
      [anon_sym_errtype] = ACTIONS(494),
      [sym_comment] = ACTIONS(3),
    },
    [69] = {
      [ts_builtin_sym_end] = ACTIONS(496),
      [sym_identifier] = ACTIONS(498),
      [anon_sym_SEMI] = ACTIONS(496),
      [anon_sym_return] = ACTIONS(498),
      [anon_sym_if] = ACTIONS(498),
      [anon_sym_else] = ACTIONS(498),
      [anon_sym_while] = ACTIONS(498),
      [anon_sym_LPAREN] = ACTIONS(496),
      [anon_sym_for] = ACTIONS(498),
      [anon_sym_defer] = ACTIONS(498),
      [sym_type_identifier] = ACTIONS(498),
      [anon_sym_private] = ACTIONS(498),
      [anon_sym_public] = ACTIONS(498),
      [anon_sym_RBRACE] = ACTIONS(496),
      [anon_sym_true] = ACTIONS(498),
      [anon_sym_false] = ACTIONS(498),
      [anon_sym_SQUOTE] = ACTIONS(496),
      [anon_sym_DQUOTE] = ACTIONS(498),
      [anon_sym_BQUOTE] = ACTIONS(496),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(496),
      [anon_sym_x_DQUOTE] = ACTIONS(496),
      [anon_sym_b64_DQUOTE] = ACTIONS(496),
      [sym_integer_literal] = ACTIONS(498),
      [sym_float_literal] = ACTIONS(498),
      [sym_nil_literal] = ACTIONS(498),
      [anon_sym_DASH] = ACTIONS(498),
      [anon_sym_STAR] = ACTIONS(496),
      [anon_sym_BANG] = ACTIONS(496),
      [anon_sym_TILDE] = ACTIONS(496),
      [anon_sym_AMP] = ACTIONS(498),
      [anon_sym_AMP_AMP] = ACTIONS(496),
      [anon_sym_AT] = ACTIONS(496),
      [anon_sym_DASH_DASH] = ACTIONS(496),
      [anon_sym_PLUS_PLUS] = ACTIONS(496),
      [anon_sym_DOT_DOT] = ACTIONS(496),
      [anon_sym_try] = ACTIONS(498),
      [anon_sym_catch] = ACTIONS(498),
      [anon_sym_void] = ACTIONS(498),
      [anon_sym_bool] = ACTIONS(498),
      [anon_sym_ichar] = ACTIONS(498),
      [anon_sym_char] = ACTIONS(498),
      [anon_sym_short] = ACTIONS(498),
      [anon_sym_ushort] = ACTIONS(498),
      [anon_sym_int] = ACTIONS(498),
      [anon_sym_uint] = ACTIONS(498),
      [anon_sym_long] = ACTIONS(498),
      [anon_sym_ulong] = ACTIONS(498),
      [anon_sym_iptr] = ACTIONS(498),
      [anon_sym_uptr] = ACTIONS(498),
      [anon_sym_iptrdiff] = ACTIONS(498),
      [anon_sym_uptrdiff] = ACTIONS(498),
      [anon_sym_isize] = ACTIONS(498),
      [anon_sym_usize] = ACTIONS(498),
      [anon_sym_half] = ACTIONS(498),
      [anon_sym_float] = ACTIONS(498),
      [anon_sym_double] = ACTIONS(498),
      [anon_sym_quad] = ACTIONS(498),
      [anon_sym_fn] = ACTIONS(498),
      [anon_sym_module] = ACTIONS(498),
      [anon_sym_import] = ACTIONS(498),
      [anon_sym_extern] = ACTIONS(498),
      [anon_sym_const] = ACTIONS(498),
      [anon_sym_define] = ACTIONS(498),
      [anon_sym_struct] = ACTIONS(498),
      [anon_sym_union] = ACTIONS(498),
      [anon_sym_enum] = ACTIONS(498),
      [anon_sym_errtype] = ACTIONS(498),
      [sym_comment] = ACTIONS(3),
    },
    [70] = {
      [ts_builtin_sym_end] = ACTIONS(500),
      [sym_identifier] = ACTIONS(502),
      [anon_sym_SEMI] = ACTIONS(500),
      [anon_sym_return] = ACTIONS(502),
      [anon_sym_if] = ACTIONS(502),
      [anon_sym_else] = ACTIONS(502),
      [anon_sym_while] = ACTIONS(502),
      [anon_sym_LPAREN] = ACTIONS(500),
      [anon_sym_for] = ACTIONS(502),
      [anon_sym_defer] = ACTIONS(502),
      [sym_type_identifier] = ACTIONS(502),
      [anon_sym_private] = ACTIONS(502),
      [anon_sym_public] = ACTIONS(502),
      [anon_sym_RBRACE] = ACTIONS(500),
      [anon_sym_true] = ACTIONS(502),
      [anon_sym_false] = ACTIONS(502),
      [anon_sym_SQUOTE] = ACTIONS(500),
      [anon_sym_DQUOTE] = ACTIONS(502),
      [anon_sym_BQUOTE] = ACTIONS(500),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(500),
      [anon_sym_x_DQUOTE] = ACTIONS(500),
      [anon_sym_b64_DQUOTE] = ACTIONS(500),
      [sym_integer_literal] = ACTIONS(502),
      [sym_float_literal] = ACTIONS(502),
      [sym_nil_literal] = ACTIONS(502),
      [anon_sym_DASH] = ACTIONS(502),
      [anon_sym_STAR] = ACTIONS(500),
      [anon_sym_BANG] = ACTIONS(500),
      [anon_sym_TILDE] = ACTIONS(500),
      [anon_sym_AMP] = ACTIONS(502),
      [anon_sym_AMP_AMP] = ACTIONS(500),
      [anon_sym_AT] = ACTIONS(500),
      [anon_sym_DASH_DASH] = ACTIONS(500),
      [anon_sym_PLUS_PLUS] = ACTIONS(500),
      [anon_sym_DOT_DOT] = ACTIONS(500),
      [anon_sym_try] = ACTIONS(502),
      [anon_sym_catch] = ACTIONS(502),
      [anon_sym_void] = ACTIONS(502),
      [anon_sym_bool] = ACTIONS(502),
      [anon_sym_ichar] = ACTIONS(502),
      [anon_sym_char] = ACTIONS(502),
      [anon_sym_short] = ACTIONS(502),
      [anon_sym_ushort] = ACTIONS(502),
      [anon_sym_int] = ACTIONS(502),
      [anon_sym_uint] = ACTIONS(502),
      [anon_sym_long] = ACTIONS(502),
      [anon_sym_ulong] = ACTIONS(502),
      [anon_sym_iptr] = ACTIONS(502),
      [anon_sym_uptr] = ACTIONS(502),
      [anon_sym_iptrdiff] = ACTIONS(502),
      [anon_sym_uptrdiff] = ACTIONS(502),
      [anon_sym_isize] = ACTIONS(502),
      [anon_sym_usize] = ACTIONS(502),
      [anon_sym_half] = ACTIONS(502),
      [anon_sym_float] = ACTIONS(502),
      [anon_sym_double] = ACTIONS(502),
      [anon_sym_quad] = ACTIONS(502),
      [anon_sym_fn] = ACTIONS(502),
      [anon_sym_module] = ACTIONS(502),
      [anon_sym_import] = ACTIONS(502),
      [anon_sym_extern] = ACTIONS(502),
      [anon_sym_const] = ACTIONS(502),
      [anon_sym_define] = ACTIONS(502),
      [anon_sym_struct] = ACTIONS(502),
      [anon_sym_union] = ACTIONS(502),
      [anon_sym_enum] = ACTIONS(502),
      [anon_sym_errtype] = ACTIONS(502),
      [sym_comment] = ACTIONS(3),
    },
    [71] = {
      [ts_builtin_sym_end] = ACTIONS(504),
      [sym_identifier] = ACTIONS(506),
      [anon_sym_SEMI] = ACTIONS(504),
      [anon_sym_return] = ACTIONS(506),
      [anon_sym_if] = ACTIONS(506),
      [anon_sym_else] = ACTIONS(506),
      [anon_sym_while] = ACTIONS(506),
      [anon_sym_LPAREN] = ACTIONS(504),
      [anon_sym_for] = ACTIONS(506),
      [anon_sym_defer] = ACTIONS(506),
      [sym_type_identifier] = ACTIONS(506),
      [anon_sym_private] = ACTIONS(506),
      [anon_sym_public] = ACTIONS(506),
      [anon_sym_RBRACE] = ACTIONS(504),
      [anon_sym_true] = ACTIONS(506),
      [anon_sym_false] = ACTIONS(506),
      [anon_sym_SQUOTE] = ACTIONS(504),
      [anon_sym_DQUOTE] = ACTIONS(506),
      [anon_sym_BQUOTE] = ACTIONS(504),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(504),
      [anon_sym_x_DQUOTE] = ACTIONS(504),
      [anon_sym_b64_DQUOTE] = ACTIONS(504),
      [sym_integer_literal] = ACTIONS(506),
      [sym_float_literal] = ACTIONS(506),
      [sym_nil_literal] = ACTIONS(506),
      [anon_sym_DASH] = ACTIONS(506),
      [anon_sym_STAR] = ACTIONS(504),
      [anon_sym_BANG] = ACTIONS(504),
      [anon_sym_TILDE] = ACTIONS(504),
      [anon_sym_AMP] = ACTIONS(506),
      [anon_sym_AMP_AMP] = ACTIONS(504),
      [anon_sym_AT] = ACTIONS(504),
      [anon_sym_DASH_DASH] = ACTIONS(504),
      [anon_sym_PLUS_PLUS] = ACTIONS(504),
      [anon_sym_DOT_DOT] = ACTIONS(504),
      [anon_sym_try] = ACTIONS(506),
      [anon_sym_catch] = ACTIONS(506),
      [anon_sym_void] = ACTIONS(506),
      [anon_sym_bool] = ACTIONS(506),
      [anon_sym_ichar] = ACTIONS(506),
      [anon_sym_char] = ACTIONS(506),
      [anon_sym_short] = ACTIONS(506),
      [anon_sym_ushort] = ACTIONS(506),
      [anon_sym_int] = ACTIONS(506),
      [anon_sym_uint] = ACTIONS(506),
      [anon_sym_long] = ACTIONS(506),
      [anon_sym_ulong] = ACTIONS(506),
      [anon_sym_iptr] = ACTIONS(506),
      [anon_sym_uptr] = ACTIONS(506),
      [anon_sym_iptrdiff] = ACTIONS(506),
      [anon_sym_uptrdiff] = ACTIONS(506),
      [anon_sym_isize] = ACTIONS(506),
      [anon_sym_usize] = ACTIONS(506),
      [anon_sym_half] = ACTIONS(506),
      [anon_sym_float] = ACTIONS(506),
      [anon_sym_double] = ACTIONS(506),
      [anon_sym_quad] = ACTIONS(506),
      [anon_sym_fn] = ACTIONS(506),
      [anon_sym_module] = ACTIONS(506),
      [anon_sym_import] = ACTIONS(506),
      [anon_sym_extern] = ACTIONS(506),
      [anon_sym_const] = ACTIONS(506),
      [anon_sym_define] = ACTIONS(506),
      [anon_sym_struct] = ACTIONS(506),
      [anon_sym_union] = ACTIONS(506),
      [anon_sym_enum] = ACTIONS(506),
      [anon_sym_errtype] = ACTIONS(506),
      [sym_comment] = ACTIONS(3),
    },
    [72] = {
      [ts_builtin_sym_end] = ACTIONS(508),
      [sym_identifier] = ACTIONS(510),
      [anon_sym_SEMI] = ACTIONS(508),
      [anon_sym_return] = ACTIONS(510),
      [anon_sym_if] = ACTIONS(510),
      [anon_sym_else] = ACTIONS(510),
      [anon_sym_while] = ACTIONS(510),
      [anon_sym_LPAREN] = ACTIONS(508),
      [anon_sym_for] = ACTIONS(510),
      [anon_sym_defer] = ACTIONS(510),
      [sym_type_identifier] = ACTIONS(510),
      [anon_sym_private] = ACTIONS(510),
      [anon_sym_public] = ACTIONS(510),
      [anon_sym_RBRACE] = ACTIONS(508),
      [anon_sym_true] = ACTIONS(510),
      [anon_sym_false] = ACTIONS(510),
      [anon_sym_SQUOTE] = ACTIONS(508),
      [anon_sym_DQUOTE] = ACTIONS(510),
      [anon_sym_BQUOTE] = ACTIONS(508),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(508),
      [anon_sym_x_DQUOTE] = ACTIONS(508),
      [anon_sym_b64_DQUOTE] = ACTIONS(508),
      [sym_integer_literal] = ACTIONS(510),
      [sym_float_literal] = ACTIONS(510),
      [sym_nil_literal] = ACTIONS(510),
      [anon_sym_DASH] = ACTIONS(510),
      [anon_sym_STAR] = ACTIONS(508),
      [anon_sym_BANG] = ACTIONS(508),
      [anon_sym_TILDE] = ACTIONS(508),
      [anon_sym_AMP] = ACTIONS(510),
      [anon_sym_AMP_AMP] = ACTIONS(508),
      [anon_sym_AT] = ACTIONS(508),
      [anon_sym_DASH_DASH] = ACTIONS(508),
      [anon_sym_PLUS_PLUS] = ACTIONS(508),
      [anon_sym_DOT_DOT] = ACTIONS(508),
      [anon_sym_try] = ACTIONS(510),
      [anon_sym_catch] = ACTIONS(510),
      [anon_sym_void] = ACTIONS(510),
      [anon_sym_bool] = ACTIONS(510),
      [anon_sym_ichar] = ACTIONS(510),
      [anon_sym_char] = ACTIONS(510),
      [anon_sym_short] = ACTIONS(510),
      [anon_sym_ushort] = ACTIONS(510),
      [anon_sym_int] = ACTIONS(510),
      [anon_sym_uint] = ACTIONS(510),
      [anon_sym_long] = ACTIONS(510),
      [anon_sym_ulong] = ACTIONS(510),
      [anon_sym_iptr] = ACTIONS(510),
      [anon_sym_uptr] = ACTIONS(510),
      [anon_sym_iptrdiff] = ACTIONS(510),
      [anon_sym_uptrdiff] = ACTIONS(510),
      [anon_sym_isize] = ACTIONS(510),
      [anon_sym_usize] = ACTIONS(510),
      [anon_sym_half] = ACTIONS(510),
      [anon_sym_float] = ACTIONS(510),
      [anon_sym_double] = ACTIONS(510),
      [anon_sym_quad] = ACTIONS(510),
      [anon_sym_fn] = ACTIONS(510),
      [anon_sym_module] = ACTIONS(510),
      [anon_sym_import] = ACTIONS(510),
      [anon_sym_extern] = ACTIONS(510),
      [anon_sym_const] = ACTIONS(510),
      [anon_sym_define] = ACTIONS(510),
      [anon_sym_struct] = ACTIONS(510),
      [anon_sym_union] = ACTIONS(510),
      [anon_sym_enum] = ACTIONS(510),
      [anon_sym_errtype] = ACTIONS(510),
      [sym_comment] = ACTIONS(3),
    },
    [73] = {
      [ts_builtin_sym_end] = ACTIONS(512),
      [sym_identifier] = ACTIONS(514),
      [anon_sym_SEMI] = ACTIONS(512),
      [anon_sym_return] = ACTIONS(514),
      [anon_sym_if] = ACTIONS(514),
      [anon_sym_else] = ACTIONS(514),
      [anon_sym_while] = ACTIONS(514),
      [anon_sym_LPAREN] = ACTIONS(512),
      [anon_sym_for] = ACTIONS(514),
      [anon_sym_defer] = ACTIONS(514),
      [sym_type_identifier] = ACTIONS(514),
      [anon_sym_private] = ACTIONS(514),
      [anon_sym_public] = ACTIONS(514),
      [anon_sym_RBRACE] = ACTIONS(512),
      [anon_sym_true] = ACTIONS(514),
      [anon_sym_false] = ACTIONS(514),
      [anon_sym_SQUOTE] = ACTIONS(512),
      [anon_sym_DQUOTE] = ACTIONS(514),
      [anon_sym_BQUOTE] = ACTIONS(512),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(512),
      [anon_sym_x_DQUOTE] = ACTIONS(512),
      [anon_sym_b64_DQUOTE] = ACTIONS(512),
      [sym_integer_literal] = ACTIONS(514),
      [sym_float_literal] = ACTIONS(514),
      [sym_nil_literal] = ACTIONS(514),
      [anon_sym_DASH] = ACTIONS(514),
      [anon_sym_STAR] = ACTIONS(512),
      [anon_sym_BANG] = ACTIONS(512),
      [anon_sym_TILDE] = ACTIONS(512),
      [anon_sym_AMP] = ACTIONS(514),
      [anon_sym_AMP_AMP] = ACTIONS(512),
      [anon_sym_AT] = ACTIONS(512),
      [anon_sym_DASH_DASH] = ACTIONS(512),
      [anon_sym_PLUS_PLUS] = ACTIONS(512),
      [anon_sym_DOT_DOT] = ACTIONS(512),
      [anon_sym_try] = ACTIONS(514),
      [anon_sym_catch] = ACTIONS(514),
      [anon_sym_void] = ACTIONS(514),
      [anon_sym_bool] = ACTIONS(514),
      [anon_sym_ichar] = ACTIONS(514),
      [anon_sym_char] = ACTIONS(514),
      [anon_sym_short] = ACTIONS(514),
      [anon_sym_ushort] = ACTIONS(514),
      [anon_sym_int] = ACTIONS(514),
      [anon_sym_uint] = ACTIONS(514),
      [anon_sym_long] = ACTIONS(514),
      [anon_sym_ulong] = ACTIONS(514),
      [anon_sym_iptr] = ACTIONS(514),
      [anon_sym_uptr] = ACTIONS(514),
      [anon_sym_iptrdiff] = ACTIONS(514),
      [anon_sym_uptrdiff] = ACTIONS(514),
      [anon_sym_isize] = ACTIONS(514),
      [anon_sym_usize] = ACTIONS(514),
      [anon_sym_half] = ACTIONS(514),
      [anon_sym_float] = ACTIONS(514),
      [anon_sym_double] = ACTIONS(514),
      [anon_sym_quad] = ACTIONS(514),
      [anon_sym_fn] = ACTIONS(514),
      [anon_sym_module] = ACTIONS(514),
      [anon_sym_import] = ACTIONS(514),
      [anon_sym_extern] = ACTIONS(514),
      [anon_sym_const] = ACTIONS(514),
      [anon_sym_define] = ACTIONS(514),
      [anon_sym_struct] = ACTIONS(514),
      [anon_sym_union] = ACTIONS(514),
      [anon_sym_enum] = ACTIONS(514),
      [anon_sym_errtype] = ACTIONS(514),
      [sym_comment] = ACTIONS(3),
    },
    [74] = {
      [ts_builtin_sym_end] = ACTIONS(516),
      [sym_identifier] = ACTIONS(518),
      [anon_sym_SEMI] = ACTIONS(516),
      [anon_sym_return] = ACTIONS(518),
      [anon_sym_if] = ACTIONS(518),
      [anon_sym_else] = ACTIONS(518),
      [anon_sym_while] = ACTIONS(518),
      [anon_sym_LPAREN] = ACTIONS(516),
      [anon_sym_for] = ACTIONS(518),
      [anon_sym_defer] = ACTIONS(518),
      [sym_type_identifier] = ACTIONS(518),
      [anon_sym_private] = ACTIONS(518),
      [anon_sym_public] = ACTIONS(518),
      [anon_sym_RBRACE] = ACTIONS(516),
      [anon_sym_true] = ACTIONS(518),
      [anon_sym_false] = ACTIONS(518),
      [anon_sym_SQUOTE] = ACTIONS(516),
      [anon_sym_DQUOTE] = ACTIONS(518),
      [anon_sym_BQUOTE] = ACTIONS(516),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(516),
      [anon_sym_x_DQUOTE] = ACTIONS(516),
      [anon_sym_b64_DQUOTE] = ACTIONS(516),
      [sym_integer_literal] = ACTIONS(518),
      [sym_float_literal] = ACTIONS(518),
      [sym_nil_literal] = ACTIONS(518),
      [anon_sym_DASH] = ACTIONS(518),
      [anon_sym_STAR] = ACTIONS(516),
      [anon_sym_BANG] = ACTIONS(516),
      [anon_sym_TILDE] = ACTIONS(516),
      [anon_sym_AMP] = ACTIONS(518),
      [anon_sym_AMP_AMP] = ACTIONS(516),
      [anon_sym_AT] = ACTIONS(516),
      [anon_sym_DASH_DASH] = ACTIONS(516),
      [anon_sym_PLUS_PLUS] = ACTIONS(516),
      [anon_sym_DOT_DOT] = ACTIONS(516),
      [anon_sym_try] = ACTIONS(518),
      [anon_sym_catch] = ACTIONS(518),
      [anon_sym_void] = ACTIONS(518),
      [anon_sym_bool] = ACTIONS(518),
      [anon_sym_ichar] = ACTIONS(518),
      [anon_sym_char] = ACTIONS(518),
      [anon_sym_short] = ACTIONS(518),
      [anon_sym_ushort] = ACTIONS(518),
      [anon_sym_int] = ACTIONS(518),
      [anon_sym_uint] = ACTIONS(518),
      [anon_sym_long] = ACTIONS(518),
      [anon_sym_ulong] = ACTIONS(518),
      [anon_sym_iptr] = ACTIONS(518),
      [anon_sym_uptr] = ACTIONS(518),
      [anon_sym_iptrdiff] = ACTIONS(518),
      [anon_sym_uptrdiff] = ACTIONS(518),
      [anon_sym_isize] = ACTIONS(518),
      [anon_sym_usize] = ACTIONS(518),
      [anon_sym_half] = ACTIONS(518),
      [anon_sym_float] = ACTIONS(518),
      [anon_sym_double] = ACTIONS(518),
      [anon_sym_quad] = ACTIONS(518),
      [anon_sym_fn] = ACTIONS(518),
      [anon_sym_module] = ACTIONS(518),
      [anon_sym_import] = ACTIONS(518),
      [anon_sym_extern] = ACTIONS(518),
      [anon_sym_const] = ACTIONS(518),
      [anon_sym_define] = ACTIONS(518),
      [anon_sym_struct] = ACTIONS(518),
      [anon_sym_union] = ACTIONS(518),
      [anon_sym_enum] = ACTIONS(518),
      [anon_sym_errtype] = ACTIONS(518),
      [sym_comment] = ACTIONS(3),
    },
    [75] = {
      [ts_builtin_sym_end] = ACTIONS(520),
      [sym_identifier] = ACTIONS(522),
      [anon_sym_SEMI] = ACTIONS(520),
      [anon_sym_return] = ACTIONS(522),
      [anon_sym_if] = ACTIONS(522),
      [anon_sym_else] = ACTIONS(522),
      [anon_sym_while] = ACTIONS(522),
      [anon_sym_LPAREN] = ACTIONS(520),
      [anon_sym_for] = ACTIONS(522),
      [anon_sym_defer] = ACTIONS(522),
      [sym_type_identifier] = ACTIONS(522),
      [anon_sym_private] = ACTIONS(522),
      [anon_sym_public] = ACTIONS(522),
      [anon_sym_RBRACE] = ACTIONS(520),
      [anon_sym_true] = ACTIONS(522),
      [anon_sym_false] = ACTIONS(522),
      [anon_sym_SQUOTE] = ACTIONS(520),
      [anon_sym_DQUOTE] = ACTIONS(522),
      [anon_sym_BQUOTE] = ACTIONS(520),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(520),
      [anon_sym_x_DQUOTE] = ACTIONS(520),
      [anon_sym_b64_DQUOTE] = ACTIONS(520),
      [sym_integer_literal] = ACTIONS(522),
      [sym_float_literal] = ACTIONS(522),
      [sym_nil_literal] = ACTIONS(522),
      [anon_sym_DASH] = ACTIONS(522),
      [anon_sym_STAR] = ACTIONS(520),
      [anon_sym_BANG] = ACTIONS(520),
      [anon_sym_TILDE] = ACTIONS(520),
      [anon_sym_AMP] = ACTIONS(522),
      [anon_sym_AMP_AMP] = ACTIONS(520),
      [anon_sym_AT] = ACTIONS(520),
      [anon_sym_DASH_DASH] = ACTIONS(520),
      [anon_sym_PLUS_PLUS] = ACTIONS(520),
      [anon_sym_DOT_DOT] = ACTIONS(520),
      [anon_sym_try] = ACTIONS(522),
      [anon_sym_catch] = ACTIONS(522),
      [anon_sym_void] = ACTIONS(522),
      [anon_sym_bool] = ACTIONS(522),
      [anon_sym_ichar] = ACTIONS(522),
      [anon_sym_char] = ACTIONS(522),
      [anon_sym_short] = ACTIONS(522),
      [anon_sym_ushort] = ACTIONS(522),
      [anon_sym_int] = ACTIONS(522),
      [anon_sym_uint] = ACTIONS(522),
      [anon_sym_long] = ACTIONS(522),
      [anon_sym_ulong] = ACTIONS(522),
      [anon_sym_iptr] = ACTIONS(522),
      [anon_sym_uptr] = ACTIONS(522),
      [anon_sym_iptrdiff] = ACTIONS(522),
      [anon_sym_uptrdiff] = ACTIONS(522),
      [anon_sym_isize] = ACTIONS(522),
      [anon_sym_usize] = ACTIONS(522),
      [anon_sym_half] = ACTIONS(522),
      [anon_sym_float] = ACTIONS(522),
      [anon_sym_double] = ACTIONS(522),
      [anon_sym_quad] = ACTIONS(522),
      [anon_sym_fn] = ACTIONS(522),
      [anon_sym_module] = ACTIONS(522),
      [anon_sym_import] = ACTIONS(522),
      [anon_sym_extern] = ACTIONS(522),
      [anon_sym_const] = ACTIONS(522),
      [anon_sym_define] = ACTIONS(522),
      [anon_sym_struct] = ACTIONS(522),
      [anon_sym_union] = ACTIONS(522),
      [anon_sym_enum] = ACTIONS(522),
      [anon_sym_errtype] = ACTIONS(522),
      [sym_comment] = ACTIONS(3),
    },
    [76] = {
      [ts_builtin_sym_end] = ACTIONS(524),
      [sym_identifier] = ACTIONS(526),
      [anon_sym_SEMI] = ACTIONS(524),
      [anon_sym_return] = ACTIONS(526),
      [anon_sym_if] = ACTIONS(526),
      [anon_sym_else] = ACTIONS(526),
      [anon_sym_while] = ACTIONS(526),
      [anon_sym_LPAREN] = ACTIONS(524),
      [anon_sym_for] = ACTIONS(526),
      [anon_sym_defer] = ACTIONS(526),
      [sym_type_identifier] = ACTIONS(526),
      [anon_sym_private] = ACTIONS(526),
      [anon_sym_public] = ACTIONS(526),
      [anon_sym_RBRACE] = ACTIONS(524),
      [anon_sym_true] = ACTIONS(526),
      [anon_sym_false] = ACTIONS(526),
      [anon_sym_SQUOTE] = ACTIONS(524),
      [anon_sym_DQUOTE] = ACTIONS(526),
      [anon_sym_BQUOTE] = ACTIONS(524),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(524),
      [anon_sym_x_DQUOTE] = ACTIONS(524),
      [anon_sym_b64_DQUOTE] = ACTIONS(524),
      [sym_integer_literal] = ACTIONS(526),
      [sym_float_literal] = ACTIONS(526),
      [sym_nil_literal] = ACTIONS(526),
      [anon_sym_DASH] = ACTIONS(526),
      [anon_sym_STAR] = ACTIONS(524),
      [anon_sym_BANG] = ACTIONS(524),
      [anon_sym_TILDE] = ACTIONS(524),
      [anon_sym_AMP] = ACTIONS(526),
      [anon_sym_AMP_AMP] = ACTIONS(524),
      [anon_sym_AT] = ACTIONS(524),
      [anon_sym_DASH_DASH] = ACTIONS(524),
      [anon_sym_PLUS_PLUS] = ACTIONS(524),
      [anon_sym_DOT_DOT] = ACTIONS(524),
      [anon_sym_try] = ACTIONS(526),
      [anon_sym_catch] = ACTIONS(526),
      [anon_sym_void] = ACTIONS(526),
      [anon_sym_bool] = ACTIONS(526),
      [anon_sym_ichar] = ACTIONS(526),
      [anon_sym_char] = ACTIONS(526),
      [anon_sym_short] = ACTIONS(526),
      [anon_sym_ushort] = ACTIONS(526),
      [anon_sym_int] = ACTIONS(526),
      [anon_sym_uint] = ACTIONS(526),
      [anon_sym_long] = ACTIONS(526),
      [anon_sym_ulong] = ACTIONS(526),
      [anon_sym_iptr] = ACTIONS(526),
      [anon_sym_uptr] = ACTIONS(526),
      [anon_sym_iptrdiff] = ACTIONS(526),
      [anon_sym_uptrdiff] = ACTIONS(526),
      [anon_sym_isize] = ACTIONS(526),
      [anon_sym_usize] = ACTIONS(526),
      [anon_sym_half] = ACTIONS(526),
      [anon_sym_float] = ACTIONS(526),
      [anon_sym_double] = ACTIONS(526),
      [anon_sym_quad] = ACTIONS(526),
      [anon_sym_fn] = ACTIONS(526),
      [anon_sym_module] = ACTIONS(526),
      [anon_sym_import] = ACTIONS(526),
      [anon_sym_extern] = ACTIONS(526),
      [anon_sym_const] = ACTIONS(526),
      [anon_sym_define] = ACTIONS(526),
      [anon_sym_struct] = ACTIONS(526),
      [anon_sym_union] = ACTIONS(526),
      [anon_sym_enum] = ACTIONS(526),
      [anon_sym_errtype] = ACTIONS(526),
      [sym_comment] = ACTIONS(3),
    },
    [77] = {
      [ts_builtin_sym_end] = ACTIONS(528),
      [sym_identifier] = ACTIONS(530),
      [anon_sym_SEMI] = ACTIONS(528),
      [anon_sym_return] = ACTIONS(530),
      [anon_sym_if] = ACTIONS(530),
      [anon_sym_else] = ACTIONS(530),
      [anon_sym_while] = ACTIONS(530),
      [anon_sym_LPAREN] = ACTIONS(528),
      [anon_sym_for] = ACTIONS(530),
      [anon_sym_defer] = ACTIONS(530),
      [sym_type_identifier] = ACTIONS(530),
      [anon_sym_private] = ACTIONS(530),
      [anon_sym_public] = ACTIONS(530),
      [anon_sym_RBRACE] = ACTIONS(528),
      [anon_sym_true] = ACTIONS(530),
      [anon_sym_false] = ACTIONS(530),
      [anon_sym_SQUOTE] = ACTIONS(528),
      [anon_sym_DQUOTE] = ACTIONS(530),
      [anon_sym_BQUOTE] = ACTIONS(528),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(528),
      [anon_sym_x_DQUOTE] = ACTIONS(528),
      [anon_sym_b64_DQUOTE] = ACTIONS(528),
      [sym_integer_literal] = ACTIONS(530),
      [sym_float_literal] = ACTIONS(530),
      [sym_nil_literal] = ACTIONS(530),
      [anon_sym_DASH] = ACTIONS(530),
      [anon_sym_STAR] = ACTIONS(528),
      [anon_sym_BANG] = ACTIONS(528),
      [anon_sym_TILDE] = ACTIONS(528),
      [anon_sym_AMP] = ACTIONS(530),
      [anon_sym_AMP_AMP] = ACTIONS(528),
      [anon_sym_AT] = ACTIONS(528),
      [anon_sym_DASH_DASH] = ACTIONS(528),
      [anon_sym_PLUS_PLUS] = ACTIONS(528),
      [anon_sym_DOT_DOT] = ACTIONS(528),
      [anon_sym_try] = ACTIONS(530),
      [anon_sym_catch] = ACTIONS(530),
      [anon_sym_void] = ACTIONS(530),
      [anon_sym_bool] = ACTIONS(530),
      [anon_sym_ichar] = ACTIONS(530),
      [anon_sym_char] = ACTIONS(530),
      [anon_sym_short] = ACTIONS(530),
      [anon_sym_ushort] = ACTIONS(530),
      [anon_sym_int] = ACTIONS(530),
      [anon_sym_uint] = ACTIONS(530),
      [anon_sym_long] = ACTIONS(530),
      [anon_sym_ulong] = ACTIONS(530),
      [anon_sym_iptr] = ACTIONS(530),
      [anon_sym_uptr] = ACTIONS(530),
      [anon_sym_iptrdiff] = ACTIONS(530),
      [anon_sym_uptrdiff] = ACTIONS(530),
      [anon_sym_isize] = ACTIONS(530),
      [anon_sym_usize] = ACTIONS(530),
      [anon_sym_half] = ACTIONS(530),
      [anon_sym_float] = ACTIONS(530),
      [anon_sym_double] = ACTIONS(530),
      [anon_sym_quad] = ACTIONS(530),
      [anon_sym_fn] = ACTIONS(530),
      [anon_sym_module] = ACTIONS(530),
      [anon_sym_import] = ACTIONS(530),
      [anon_sym_extern] = ACTIONS(530),
      [anon_sym_const] = ACTIONS(530),
      [anon_sym_define] = ACTIONS(530),
      [anon_sym_struct] = ACTIONS(530),
      [anon_sym_union] = ACTIONS(530),
      [anon_sym_enum] = ACTIONS(530),
      [anon_sym_errtype] = ACTIONS(530),
      [sym_comment] = ACTIONS(3),
    },
    [78] = {
      [ts_builtin_sym_end] = ACTIONS(532),
      [sym_identifier] = ACTIONS(534),
      [anon_sym_SEMI] = ACTIONS(532),
      [anon_sym_return] = ACTIONS(534),
      [anon_sym_if] = ACTIONS(534),
      [anon_sym_else] = ACTIONS(534),
      [anon_sym_while] = ACTIONS(534),
      [anon_sym_LPAREN] = ACTIONS(532),
      [anon_sym_for] = ACTIONS(534),
      [anon_sym_defer] = ACTIONS(534),
      [sym_type_identifier] = ACTIONS(534),
      [anon_sym_private] = ACTIONS(534),
      [anon_sym_public] = ACTIONS(534),
      [anon_sym_RBRACE] = ACTIONS(532),
      [anon_sym_true] = ACTIONS(534),
      [anon_sym_false] = ACTIONS(534),
      [anon_sym_SQUOTE] = ACTIONS(532),
      [anon_sym_DQUOTE] = ACTIONS(534),
      [anon_sym_BQUOTE] = ACTIONS(532),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(532),
      [anon_sym_x_DQUOTE] = ACTIONS(532),
      [anon_sym_b64_DQUOTE] = ACTIONS(532),
      [sym_integer_literal] = ACTIONS(534),
      [sym_float_literal] = ACTIONS(534),
      [sym_nil_literal] = ACTIONS(534),
      [anon_sym_DASH] = ACTIONS(534),
      [anon_sym_STAR] = ACTIONS(532),
      [anon_sym_BANG] = ACTIONS(532),
      [anon_sym_TILDE] = ACTIONS(532),
      [anon_sym_AMP] = ACTIONS(534),
      [anon_sym_AMP_AMP] = ACTIONS(532),
      [anon_sym_AT] = ACTIONS(532),
      [anon_sym_DASH_DASH] = ACTIONS(532),
      [anon_sym_PLUS_PLUS] = ACTIONS(532),
      [anon_sym_DOT_DOT] = ACTIONS(532),
      [anon_sym_try] = ACTIONS(534),
      [anon_sym_catch] = ACTIONS(534),
      [anon_sym_void] = ACTIONS(534),
      [anon_sym_bool] = ACTIONS(534),
      [anon_sym_ichar] = ACTIONS(534),
      [anon_sym_char] = ACTIONS(534),
      [anon_sym_short] = ACTIONS(534),
      [anon_sym_ushort] = ACTIONS(534),
      [anon_sym_int] = ACTIONS(534),
      [anon_sym_uint] = ACTIONS(534),
      [anon_sym_long] = ACTIONS(534),
      [anon_sym_ulong] = ACTIONS(534),
      [anon_sym_iptr] = ACTIONS(534),
      [anon_sym_uptr] = ACTIONS(534),
      [anon_sym_iptrdiff] = ACTIONS(534),
      [anon_sym_uptrdiff] = ACTIONS(534),
      [anon_sym_isize] = ACTIONS(534),
      [anon_sym_usize] = ACTIONS(534),
      [anon_sym_half] = ACTIONS(534),
      [anon_sym_float] = ACTIONS(534),
      [anon_sym_double] = ACTIONS(534),
      [anon_sym_quad] = ACTIONS(534),
      [anon_sym_fn] = ACTIONS(534),
      [anon_sym_module] = ACTIONS(534),
      [anon_sym_import] = ACTIONS(534),
      [anon_sym_extern] = ACTIONS(534),
      [anon_sym_const] = ACTIONS(534),
      [anon_sym_define] = ACTIONS(534),
      [anon_sym_struct] = ACTIONS(534),
      [anon_sym_union] = ACTIONS(534),
      [anon_sym_enum] = ACTIONS(534),
      [anon_sym_errtype] = ACTIONS(534),
      [sym_comment] = ACTIONS(3),
    },
    [79] = {
      [ts_builtin_sym_end] = ACTIONS(536),
      [sym_identifier] = ACTIONS(538),
      [anon_sym_SEMI] = ACTIONS(536),
      [anon_sym_return] = ACTIONS(538),
      [anon_sym_if] = ACTIONS(538),
      [anon_sym_else] = ACTIONS(538),
      [anon_sym_while] = ACTIONS(538),
      [anon_sym_LPAREN] = ACTIONS(536),
      [anon_sym_for] = ACTIONS(538),
      [anon_sym_defer] = ACTIONS(538),
      [sym_type_identifier] = ACTIONS(538),
      [anon_sym_private] = ACTIONS(538),
      [anon_sym_public] = ACTIONS(538),
      [anon_sym_RBRACE] = ACTIONS(536),
      [anon_sym_true] = ACTIONS(538),
      [anon_sym_false] = ACTIONS(538),
      [anon_sym_SQUOTE] = ACTIONS(536),
      [anon_sym_DQUOTE] = ACTIONS(538),
      [anon_sym_BQUOTE] = ACTIONS(536),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(536),
      [anon_sym_x_DQUOTE] = ACTIONS(536),
      [anon_sym_b64_DQUOTE] = ACTIONS(536),
      [sym_integer_literal] = ACTIONS(538),
      [sym_float_literal] = ACTIONS(538),
      [sym_nil_literal] = ACTIONS(538),
      [anon_sym_DASH] = ACTIONS(538),
      [anon_sym_STAR] = ACTIONS(536),
      [anon_sym_BANG] = ACTIONS(536),
      [anon_sym_TILDE] = ACTIONS(536),
      [anon_sym_AMP] = ACTIONS(538),
      [anon_sym_AMP_AMP] = ACTIONS(536),
      [anon_sym_AT] = ACTIONS(536),
      [anon_sym_DASH_DASH] = ACTIONS(536),
      [anon_sym_PLUS_PLUS] = ACTIONS(536),
      [anon_sym_DOT_DOT] = ACTIONS(536),
      [anon_sym_try] = ACTIONS(538),
      [anon_sym_catch] = ACTIONS(538),
      [anon_sym_void] = ACTIONS(538),
      [anon_sym_bool] = ACTIONS(538),
      [anon_sym_ichar] = ACTIONS(538),
      [anon_sym_char] = ACTIONS(538),
      [anon_sym_short] = ACTIONS(538),
      [anon_sym_ushort] = ACTIONS(538),
      [anon_sym_int] = ACTIONS(538),
      [anon_sym_uint] = ACTIONS(538),
      [anon_sym_long] = ACTIONS(538),
      [anon_sym_ulong] = ACTIONS(538),
      [anon_sym_iptr] = ACTIONS(538),
      [anon_sym_uptr] = ACTIONS(538),
      [anon_sym_iptrdiff] = ACTIONS(538),
      [anon_sym_uptrdiff] = ACTIONS(538),
      [anon_sym_isize] = ACTIONS(538),
      [anon_sym_usize] = ACTIONS(538),
      [anon_sym_half] = ACTIONS(538),
      [anon_sym_float] = ACTIONS(538),
      [anon_sym_double] = ACTIONS(538),
      [anon_sym_quad] = ACTIONS(538),
      [anon_sym_fn] = ACTIONS(538),
      [anon_sym_module] = ACTIONS(538),
      [anon_sym_import] = ACTIONS(538),
      [anon_sym_extern] = ACTIONS(538),
      [anon_sym_const] = ACTIONS(538),
      [anon_sym_define] = ACTIONS(538),
      [anon_sym_struct] = ACTIONS(538),
      [anon_sym_union] = ACTIONS(538),
      [anon_sym_enum] = ACTIONS(538),
      [anon_sym_errtype] = ACTIONS(538),
      [sym_comment] = ACTIONS(3),
    },
    [80] = {
      [ts_builtin_sym_end] = ACTIONS(540),
      [sym_identifier] = ACTIONS(542),
      [anon_sym_SEMI] = ACTIONS(540),
      [anon_sym_return] = ACTIONS(542),
      [anon_sym_if] = ACTIONS(542),
      [anon_sym_else] = ACTIONS(542),
      [anon_sym_while] = ACTIONS(542),
      [anon_sym_LPAREN] = ACTIONS(540),
      [anon_sym_for] = ACTIONS(542),
      [anon_sym_defer] = ACTIONS(542),
      [sym_type_identifier] = ACTIONS(542),
      [anon_sym_private] = ACTIONS(542),
      [anon_sym_public] = ACTIONS(542),
      [anon_sym_RBRACE] = ACTIONS(540),
      [anon_sym_true] = ACTIONS(542),
      [anon_sym_false] = ACTIONS(542),
      [anon_sym_SQUOTE] = ACTIONS(540),
      [anon_sym_DQUOTE] = ACTIONS(542),
      [anon_sym_BQUOTE] = ACTIONS(540),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(540),
      [anon_sym_x_DQUOTE] = ACTIONS(540),
      [anon_sym_b64_DQUOTE] = ACTIONS(540),
      [sym_integer_literal] = ACTIONS(542),
      [sym_float_literal] = ACTIONS(542),
      [sym_nil_literal] = ACTIONS(542),
      [anon_sym_DASH] = ACTIONS(542),
      [anon_sym_STAR] = ACTIONS(540),
      [anon_sym_BANG] = ACTIONS(540),
      [anon_sym_TILDE] = ACTIONS(540),
      [anon_sym_AMP] = ACTIONS(542),
      [anon_sym_AMP_AMP] = ACTIONS(540),
      [anon_sym_AT] = ACTIONS(540),
      [anon_sym_DASH_DASH] = ACTIONS(540),
      [anon_sym_PLUS_PLUS] = ACTIONS(540),
      [anon_sym_DOT_DOT] = ACTIONS(540),
      [anon_sym_try] = ACTIONS(542),
      [anon_sym_catch] = ACTIONS(542),
      [anon_sym_void] = ACTIONS(542),
      [anon_sym_bool] = ACTIONS(542),
      [anon_sym_ichar] = ACTIONS(542),
      [anon_sym_char] = ACTIONS(542),
      [anon_sym_short] = ACTIONS(542),
      [anon_sym_ushort] = ACTIONS(542),
      [anon_sym_int] = ACTIONS(542),
      [anon_sym_uint] = ACTIONS(542),
      [anon_sym_long] = ACTIONS(542),
      [anon_sym_ulong] = ACTIONS(542),
      [anon_sym_iptr] = ACTIONS(542),
      [anon_sym_uptr] = ACTIONS(542),
      [anon_sym_iptrdiff] = ACTIONS(542),
      [anon_sym_uptrdiff] = ACTIONS(542),
      [anon_sym_isize] = ACTIONS(542),
      [anon_sym_usize] = ACTIONS(542),
      [anon_sym_half] = ACTIONS(542),
      [anon_sym_float] = ACTIONS(542),
      [anon_sym_double] = ACTIONS(542),
      [anon_sym_quad] = ACTIONS(542),
      [anon_sym_fn] = ACTIONS(542),
      [anon_sym_module] = ACTIONS(542),
      [anon_sym_import] = ACTIONS(542),
      [anon_sym_extern] = ACTIONS(542),
      [anon_sym_const] = ACTIONS(542),
      [anon_sym_define] = ACTIONS(542),
      [anon_sym_struct] = ACTIONS(542),
      [anon_sym_union] = ACTIONS(542),
      [anon_sym_enum] = ACTIONS(542),
      [anon_sym_errtype] = ACTIONS(542),
      [sym_comment] = ACTIONS(3),
    },
    [81] = {
      [ts_builtin_sym_end] = ACTIONS(544),
      [sym_identifier] = ACTIONS(546),
      [anon_sym_SEMI] = ACTIONS(544),
      [anon_sym_return] = ACTIONS(546),
      [anon_sym_if] = ACTIONS(546),
      [anon_sym_else] = ACTIONS(546),
      [anon_sym_while] = ACTIONS(546),
      [anon_sym_LPAREN] = ACTIONS(544),
      [anon_sym_for] = ACTIONS(546),
      [anon_sym_defer] = ACTIONS(546),
      [sym_type_identifier] = ACTIONS(546),
      [anon_sym_private] = ACTIONS(546),
      [anon_sym_public] = ACTIONS(546),
      [anon_sym_RBRACE] = ACTIONS(544),
      [anon_sym_true] = ACTIONS(546),
      [anon_sym_false] = ACTIONS(546),
      [anon_sym_SQUOTE] = ACTIONS(544),
      [anon_sym_DQUOTE] = ACTIONS(546),
      [anon_sym_BQUOTE] = ACTIONS(544),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(544),
      [anon_sym_x_DQUOTE] = ACTIONS(544),
      [anon_sym_b64_DQUOTE] = ACTIONS(544),
      [sym_integer_literal] = ACTIONS(546),
      [sym_float_literal] = ACTIONS(546),
      [sym_nil_literal] = ACTIONS(546),
      [anon_sym_DASH] = ACTIONS(546),
      [anon_sym_STAR] = ACTIONS(544),
      [anon_sym_BANG] = ACTIONS(544),
      [anon_sym_TILDE] = ACTIONS(544),
      [anon_sym_AMP] = ACTIONS(546),
      [anon_sym_AMP_AMP] = ACTIONS(544),
      [anon_sym_AT] = ACTIONS(544),
      [anon_sym_DASH_DASH] = ACTIONS(544),
      [anon_sym_PLUS_PLUS] = ACTIONS(544),
      [anon_sym_DOT_DOT] = ACTIONS(544),
      [anon_sym_try] = ACTIONS(546),
      [anon_sym_catch] = ACTIONS(546),
      [anon_sym_void] = ACTIONS(546),
      [anon_sym_bool] = ACTIONS(546),
      [anon_sym_ichar] = ACTIONS(546),
      [anon_sym_char] = ACTIONS(546),
      [anon_sym_short] = ACTIONS(546),
      [anon_sym_ushort] = ACTIONS(546),
      [anon_sym_int] = ACTIONS(546),
      [anon_sym_uint] = ACTIONS(546),
      [anon_sym_long] = ACTIONS(546),
      [anon_sym_ulong] = ACTIONS(546),
      [anon_sym_iptr] = ACTIONS(546),
      [anon_sym_uptr] = ACTIONS(546),
      [anon_sym_iptrdiff] = ACTIONS(546),
      [anon_sym_uptrdiff] = ACTIONS(546),
      [anon_sym_isize] = ACTIONS(546),
      [anon_sym_usize] = ACTIONS(546),
      [anon_sym_half] = ACTIONS(546),
      [anon_sym_float] = ACTIONS(546),
      [anon_sym_double] = ACTIONS(546),
      [anon_sym_quad] = ACTIONS(546),
      [anon_sym_fn] = ACTIONS(546),
      [anon_sym_module] = ACTIONS(546),
      [anon_sym_import] = ACTIONS(546),
      [anon_sym_extern] = ACTIONS(546),
      [anon_sym_const] = ACTIONS(546),
      [anon_sym_define] = ACTIONS(546),
      [anon_sym_struct] = ACTIONS(546),
      [anon_sym_union] = ACTIONS(546),
      [anon_sym_enum] = ACTIONS(546),
      [anon_sym_errtype] = ACTIONS(546),
      [sym_comment] = ACTIONS(3),
    },
    [82] = {
      [ts_builtin_sym_end] = ACTIONS(548),
      [sym_identifier] = ACTIONS(550),
      [anon_sym_SEMI] = ACTIONS(548),
      [anon_sym_return] = ACTIONS(550),
      [anon_sym_if] = ACTIONS(550),
      [anon_sym_else] = ACTIONS(550),
      [anon_sym_while] = ACTIONS(550),
      [anon_sym_LPAREN] = ACTIONS(548),
      [anon_sym_for] = ACTIONS(550),
      [anon_sym_defer] = ACTIONS(550),
      [sym_type_identifier] = ACTIONS(550),
      [anon_sym_private] = ACTIONS(550),
      [anon_sym_public] = ACTIONS(550),
      [anon_sym_RBRACE] = ACTIONS(548),
      [anon_sym_true] = ACTIONS(550),
      [anon_sym_false] = ACTIONS(550),
      [anon_sym_SQUOTE] = ACTIONS(548),
      [anon_sym_DQUOTE] = ACTIONS(550),
      [anon_sym_BQUOTE] = ACTIONS(548),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(548),
      [anon_sym_x_DQUOTE] = ACTIONS(548),
      [anon_sym_b64_DQUOTE] = ACTIONS(548),
      [sym_integer_literal] = ACTIONS(550),
      [sym_float_literal] = ACTIONS(550),
      [sym_nil_literal] = ACTIONS(550),
      [anon_sym_DASH] = ACTIONS(550),
      [anon_sym_STAR] = ACTIONS(548),
      [anon_sym_BANG] = ACTIONS(548),
      [anon_sym_TILDE] = ACTIONS(548),
      [anon_sym_AMP] = ACTIONS(550),
      [anon_sym_AMP_AMP] = ACTIONS(548),
      [anon_sym_AT] = ACTIONS(548),
      [anon_sym_DASH_DASH] = ACTIONS(548),
      [anon_sym_PLUS_PLUS] = ACTIONS(548),
      [anon_sym_DOT_DOT] = ACTIONS(548),
      [anon_sym_try] = ACTIONS(550),
      [anon_sym_catch] = ACTIONS(550),
      [anon_sym_void] = ACTIONS(550),
      [anon_sym_bool] = ACTIONS(550),
      [anon_sym_ichar] = ACTIONS(550),
      [anon_sym_char] = ACTIONS(550),
      [anon_sym_short] = ACTIONS(550),
      [anon_sym_ushort] = ACTIONS(550),
      [anon_sym_int] = ACTIONS(550),
      [anon_sym_uint] = ACTIONS(550),
      [anon_sym_long] = ACTIONS(550),
      [anon_sym_ulong] = ACTIONS(550),
      [anon_sym_iptr] = ACTIONS(550),
      [anon_sym_uptr] = ACTIONS(550),
      [anon_sym_iptrdiff] = ACTIONS(550),
      [anon_sym_uptrdiff] = ACTIONS(550),
      [anon_sym_isize] = ACTIONS(550),
      [anon_sym_usize] = ACTIONS(550),
      [anon_sym_half] = ACTIONS(550),
      [anon_sym_float] = ACTIONS(550),
      [anon_sym_double] = ACTIONS(550),
      [anon_sym_quad] = ACTIONS(550),
      [anon_sym_fn] = ACTIONS(550),
      [anon_sym_module] = ACTIONS(550),
      [anon_sym_import] = ACTIONS(550),
      [anon_sym_extern] = ACTIONS(550),
      [anon_sym_const] = ACTIONS(550),
      [anon_sym_define] = ACTIONS(550),
      [anon_sym_struct] = ACTIONS(550),
      [anon_sym_union] = ACTIONS(550),
      [anon_sym_enum] = ACTIONS(550),
      [anon_sym_errtype] = ACTIONS(550),
      [sym_comment] = ACTIONS(3),
    },
    [83] = {
      [ts_builtin_sym_end] = ACTIONS(552),
      [sym_identifier] = ACTIONS(554),
      [anon_sym_SEMI] = ACTIONS(552),
      [anon_sym_return] = ACTIONS(554),
      [anon_sym_if] = ACTIONS(554),
      [anon_sym_else] = ACTIONS(554),
      [anon_sym_while] = ACTIONS(554),
      [anon_sym_LPAREN] = ACTIONS(552),
      [anon_sym_for] = ACTIONS(554),
      [anon_sym_defer] = ACTIONS(554),
      [sym_type_identifier] = ACTIONS(554),
      [anon_sym_private] = ACTIONS(554),
      [anon_sym_public] = ACTIONS(554),
      [anon_sym_RBRACE] = ACTIONS(552),
      [anon_sym_true] = ACTIONS(554),
      [anon_sym_false] = ACTIONS(554),
      [anon_sym_SQUOTE] = ACTIONS(552),
      [anon_sym_DQUOTE] = ACTIONS(554),
      [anon_sym_BQUOTE] = ACTIONS(552),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(552),
      [anon_sym_x_DQUOTE] = ACTIONS(552),
      [anon_sym_b64_DQUOTE] = ACTIONS(552),
      [sym_integer_literal] = ACTIONS(554),
      [sym_float_literal] = ACTIONS(554),
      [sym_nil_literal] = ACTIONS(554),
      [anon_sym_DASH] = ACTIONS(554),
      [anon_sym_STAR] = ACTIONS(552),
      [anon_sym_BANG] = ACTIONS(552),
      [anon_sym_TILDE] = ACTIONS(552),
      [anon_sym_AMP] = ACTIONS(554),
      [anon_sym_AMP_AMP] = ACTIONS(552),
      [anon_sym_AT] = ACTIONS(552),
      [anon_sym_DASH_DASH] = ACTIONS(552),
      [anon_sym_PLUS_PLUS] = ACTIONS(552),
      [anon_sym_DOT_DOT] = ACTIONS(552),
      [anon_sym_try] = ACTIONS(554),
      [anon_sym_catch] = ACTIONS(554),
      [anon_sym_void] = ACTIONS(554),
      [anon_sym_bool] = ACTIONS(554),
      [anon_sym_ichar] = ACTIONS(554),
      [anon_sym_char] = ACTIONS(554),
      [anon_sym_short] = ACTIONS(554),
      [anon_sym_ushort] = ACTIONS(554),
      [anon_sym_int] = ACTIONS(554),
      [anon_sym_uint] = ACTIONS(554),
      [anon_sym_long] = ACTIONS(554),
      [anon_sym_ulong] = ACTIONS(554),
      [anon_sym_iptr] = ACTIONS(554),
      [anon_sym_uptr] = ACTIONS(554),
      [anon_sym_iptrdiff] = ACTIONS(554),
      [anon_sym_uptrdiff] = ACTIONS(554),
      [anon_sym_isize] = ACTIONS(554),
      [anon_sym_usize] = ACTIONS(554),
      [anon_sym_half] = ACTIONS(554),
      [anon_sym_float] = ACTIONS(554),
      [anon_sym_double] = ACTIONS(554),
      [anon_sym_quad] = ACTIONS(554),
      [anon_sym_fn] = ACTIONS(554),
      [anon_sym_module] = ACTIONS(554),
      [anon_sym_import] = ACTIONS(554),
      [anon_sym_extern] = ACTIONS(554),
      [anon_sym_const] = ACTIONS(554),
      [anon_sym_define] = ACTIONS(554),
      [anon_sym_struct] = ACTIONS(554),
      [anon_sym_union] = ACTIONS(554),
      [anon_sym_enum] = ACTIONS(554),
      [anon_sym_errtype] = ACTIONS(554),
      [sym_comment] = ACTIONS(3),
    },
    [84] = {
      [ts_builtin_sym_end] = ACTIONS(500),
      [sym_identifier] = ACTIONS(502),
      [anon_sym_SEMI] = ACTIONS(500),
      [anon_sym_return] = ACTIONS(502),
      [anon_sym_if] = ACTIONS(502),
      [anon_sym_else] = ACTIONS(556),
      [anon_sym_while] = ACTIONS(502),
      [anon_sym_LPAREN] = ACTIONS(500),
      [anon_sym_for] = ACTIONS(502),
      [anon_sym_defer] = ACTIONS(502),
      [sym_type_identifier] = ACTIONS(502),
      [anon_sym_private] = ACTIONS(502),
      [anon_sym_public] = ACTIONS(502),
      [anon_sym_RBRACE] = ACTIONS(500),
      [anon_sym_true] = ACTIONS(502),
      [anon_sym_false] = ACTIONS(502),
      [anon_sym_SQUOTE] = ACTIONS(500),
      [anon_sym_DQUOTE] = ACTIONS(502),
      [anon_sym_BQUOTE] = ACTIONS(500),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(500),
      [anon_sym_x_DQUOTE] = ACTIONS(500),
      [anon_sym_b64_DQUOTE] = ACTIONS(500),
      [sym_integer_literal] = ACTIONS(502),
      [sym_float_literal] = ACTIONS(502),
      [sym_nil_literal] = ACTIONS(502),
      [anon_sym_DASH] = ACTIONS(502),
      [anon_sym_STAR] = ACTIONS(500),
      [anon_sym_BANG] = ACTIONS(500),
      [anon_sym_TILDE] = ACTIONS(500),
      [anon_sym_AMP] = ACTIONS(502),
      [anon_sym_AMP_AMP] = ACTIONS(500),
      [anon_sym_AT] = ACTIONS(500),
      [anon_sym_DASH_DASH] = ACTIONS(500),
      [anon_sym_PLUS_PLUS] = ACTIONS(500),
      [anon_sym_DOT_DOT] = ACTIONS(500),
      [anon_sym_try] = ACTIONS(502),
      [anon_sym_catch] = ACTIONS(502),
      [anon_sym_void] = ACTIONS(502),
      [anon_sym_bool] = ACTIONS(502),
      [anon_sym_ichar] = ACTIONS(502),
      [anon_sym_char] = ACTIONS(502),
      [anon_sym_short] = ACTIONS(502),
      [anon_sym_ushort] = ACTIONS(502),
      [anon_sym_int] = ACTIONS(502),
      [anon_sym_uint] = ACTIONS(502),
      [anon_sym_long] = ACTIONS(502),
      [anon_sym_ulong] = ACTIONS(502),
      [anon_sym_iptr] = ACTIONS(502),
      [anon_sym_uptr] = ACTIONS(502),
      [anon_sym_iptrdiff] = ACTIONS(502),
      [anon_sym_uptrdiff] = ACTIONS(502),
      [anon_sym_isize] = ACTIONS(502),
      [anon_sym_usize] = ACTIONS(502),
      [anon_sym_half] = ACTIONS(502),
      [anon_sym_float] = ACTIONS(502),
      [anon_sym_double] = ACTIONS(502),
      [anon_sym_quad] = ACTIONS(502),
      [anon_sym_fn] = ACTIONS(502),
      [anon_sym_module] = ACTIONS(502),
      [anon_sym_import] = ACTIONS(502),
      [anon_sym_extern] = ACTIONS(502),
      [anon_sym_const] = ACTIONS(502),
      [anon_sym_define] = ACTIONS(502),
      [anon_sym_struct] = ACTIONS(502),
      [anon_sym_union] = ACTIONS(502),
      [anon_sym_enum] = ACTIONS(502),
      [anon_sym_errtype] = ACTIONS(502),
      [sym_comment] = ACTIONS(3),
    },
    [85] = {
      [ts_builtin_sym_end] = ACTIONS(558),
      [sym_identifier] = ACTIONS(560),
      [anon_sym_SEMI] = ACTIONS(558),
      [anon_sym_return] = ACTIONS(560),
      [anon_sym_if] = ACTIONS(560),
      [anon_sym_else] = ACTIONS(560),
      [anon_sym_while] = ACTIONS(560),
      [anon_sym_LPAREN] = ACTIONS(558),
      [anon_sym_for] = ACTIONS(560),
      [anon_sym_defer] = ACTIONS(560),
      [sym_type_identifier] = ACTIONS(560),
      [anon_sym_private] = ACTIONS(560),
      [anon_sym_public] = ACTIONS(560),
      [anon_sym_RBRACE] = ACTIONS(558),
      [anon_sym_true] = ACTIONS(560),
      [anon_sym_false] = ACTIONS(560),
      [anon_sym_SQUOTE] = ACTIONS(558),
      [anon_sym_DQUOTE] = ACTIONS(560),
      [anon_sym_BQUOTE] = ACTIONS(558),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(558),
      [anon_sym_x_DQUOTE] = ACTIONS(558),
      [anon_sym_b64_DQUOTE] = ACTIONS(558),
      [sym_integer_literal] = ACTIONS(560),
      [sym_float_literal] = ACTIONS(560),
      [sym_nil_literal] = ACTIONS(560),
      [anon_sym_DASH] = ACTIONS(560),
      [anon_sym_STAR] = ACTIONS(558),
      [anon_sym_BANG] = ACTIONS(558),
      [anon_sym_TILDE] = ACTIONS(558),
      [anon_sym_AMP] = ACTIONS(560),
      [anon_sym_AMP_AMP] = ACTIONS(558),
      [anon_sym_AT] = ACTIONS(558),
      [anon_sym_DASH_DASH] = ACTIONS(558),
      [anon_sym_PLUS_PLUS] = ACTIONS(558),
      [anon_sym_DOT_DOT] = ACTIONS(558),
      [anon_sym_try] = ACTIONS(560),
      [anon_sym_catch] = ACTIONS(560),
      [anon_sym_void] = ACTIONS(560),
      [anon_sym_bool] = ACTIONS(560),
      [anon_sym_ichar] = ACTIONS(560),
      [anon_sym_char] = ACTIONS(560),
      [anon_sym_short] = ACTIONS(560),
      [anon_sym_ushort] = ACTIONS(560),
      [anon_sym_int] = ACTIONS(560),
      [anon_sym_uint] = ACTIONS(560),
      [anon_sym_long] = ACTIONS(560),
      [anon_sym_ulong] = ACTIONS(560),
      [anon_sym_iptr] = ACTIONS(560),
      [anon_sym_uptr] = ACTIONS(560),
      [anon_sym_iptrdiff] = ACTIONS(560),
      [anon_sym_uptrdiff] = ACTIONS(560),
      [anon_sym_isize] = ACTIONS(560),
      [anon_sym_usize] = ACTIONS(560),
      [anon_sym_half] = ACTIONS(560),
      [anon_sym_float] = ACTIONS(560),
      [anon_sym_double] = ACTIONS(560),
      [anon_sym_quad] = ACTIONS(560),
      [anon_sym_fn] = ACTIONS(560),
      [anon_sym_module] = ACTIONS(560),
      [anon_sym_import] = ACTIONS(560),
      [anon_sym_extern] = ACTIONS(560),
      [anon_sym_const] = ACTIONS(560),
      [anon_sym_define] = ACTIONS(560),
      [anon_sym_struct] = ACTIONS(560),
      [anon_sym_union] = ACTIONS(560),
      [anon_sym_enum] = ACTIONS(560),
      [anon_sym_errtype] = ACTIONS(560),
      [sym_comment] = ACTIONS(3),
    },
    [86] = {
      [ts_builtin_sym_end] = ACTIONS(562),
      [sym_identifier] = ACTIONS(564),
      [anon_sym_SEMI] = ACTIONS(562),
      [anon_sym_return] = ACTIONS(564),
      [anon_sym_if] = ACTIONS(564),
      [anon_sym_else] = ACTIONS(564),
      [anon_sym_while] = ACTIONS(564),
      [anon_sym_LPAREN] = ACTIONS(562),
      [anon_sym_for] = ACTIONS(564),
      [anon_sym_defer] = ACTIONS(564),
      [sym_type_identifier] = ACTIONS(564),
      [anon_sym_private] = ACTIONS(564),
      [anon_sym_public] = ACTIONS(564),
      [anon_sym_RBRACE] = ACTIONS(562),
      [anon_sym_true] = ACTIONS(564),
      [anon_sym_false] = ACTIONS(564),
      [anon_sym_SQUOTE] = ACTIONS(562),
      [anon_sym_DQUOTE] = ACTIONS(564),
      [anon_sym_BQUOTE] = ACTIONS(562),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(562),
      [anon_sym_x_DQUOTE] = ACTIONS(562),
      [anon_sym_b64_DQUOTE] = ACTIONS(562),
      [sym_integer_literal] = ACTIONS(564),
      [sym_float_literal] = ACTIONS(564),
      [sym_nil_literal] = ACTIONS(564),
      [anon_sym_DASH] = ACTIONS(564),
      [anon_sym_STAR] = ACTIONS(562),
      [anon_sym_BANG] = ACTIONS(562),
      [anon_sym_TILDE] = ACTIONS(562),
      [anon_sym_AMP] = ACTIONS(564),
      [anon_sym_AMP_AMP] = ACTIONS(562),
      [anon_sym_AT] = ACTIONS(562),
      [anon_sym_DASH_DASH] = ACTIONS(562),
      [anon_sym_PLUS_PLUS] = ACTIONS(562),
      [anon_sym_DOT_DOT] = ACTIONS(562),
      [anon_sym_try] = ACTIONS(564),
      [anon_sym_catch] = ACTIONS(564),
      [anon_sym_void] = ACTIONS(564),
      [anon_sym_bool] = ACTIONS(564),
      [anon_sym_ichar] = ACTIONS(564),
      [anon_sym_char] = ACTIONS(564),
      [anon_sym_short] = ACTIONS(564),
      [anon_sym_ushort] = ACTIONS(564),
      [anon_sym_int] = ACTIONS(564),
      [anon_sym_uint] = ACTIONS(564),
      [anon_sym_long] = ACTIONS(564),
      [anon_sym_ulong] = ACTIONS(564),
      [anon_sym_iptr] = ACTIONS(564),
      [anon_sym_uptr] = ACTIONS(564),
      [anon_sym_iptrdiff] = ACTIONS(564),
      [anon_sym_uptrdiff] = ACTIONS(564),
      [anon_sym_isize] = ACTIONS(564),
      [anon_sym_usize] = ACTIONS(564),
      [anon_sym_half] = ACTIONS(564),
      [anon_sym_float] = ACTIONS(564),
      [anon_sym_double] = ACTIONS(564),
      [anon_sym_quad] = ACTIONS(564),
      [anon_sym_fn] = ACTIONS(564),
      [anon_sym_module] = ACTIONS(564),
      [anon_sym_import] = ACTIONS(564),
      [anon_sym_extern] = ACTIONS(564),
      [anon_sym_const] = ACTIONS(564),
      [anon_sym_define] = ACTIONS(564),
      [anon_sym_struct] = ACTIONS(564),
      [anon_sym_union] = ACTIONS(564),
      [anon_sym_enum] = ACTIONS(564),
      [anon_sym_errtype] = ACTIONS(564),
      [sym_comment] = ACTIONS(3),
    },
    [87] = {
      [ts_builtin_sym_end] = ACTIONS(566),
      [sym_identifier] = ACTIONS(568),
      [anon_sym_SEMI] = ACTIONS(566),
      [anon_sym_return] = ACTIONS(568),
      [anon_sym_if] = ACTIONS(568),
      [anon_sym_else] = ACTIONS(568),
      [anon_sym_while] = ACTIONS(568),
      [anon_sym_LPAREN] = ACTIONS(566),
      [anon_sym_for] = ACTIONS(568),
      [anon_sym_defer] = ACTIONS(568),
      [sym_type_identifier] = ACTIONS(568),
      [anon_sym_private] = ACTIONS(568),
      [anon_sym_public] = ACTIONS(568),
      [anon_sym_RBRACE] = ACTIONS(566),
      [anon_sym_true] = ACTIONS(568),
      [anon_sym_false] = ACTIONS(568),
      [anon_sym_SQUOTE] = ACTIONS(566),
      [anon_sym_DQUOTE] = ACTIONS(568),
      [anon_sym_BQUOTE] = ACTIONS(566),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(566),
      [anon_sym_x_DQUOTE] = ACTIONS(566),
      [anon_sym_b64_DQUOTE] = ACTIONS(566),
      [sym_integer_literal] = ACTIONS(568),
      [sym_float_literal] = ACTIONS(568),
      [sym_nil_literal] = ACTIONS(568),
      [anon_sym_DASH] = ACTIONS(568),
      [anon_sym_STAR] = ACTIONS(566),
      [anon_sym_BANG] = ACTIONS(566),
      [anon_sym_TILDE] = ACTIONS(566),
      [anon_sym_AMP] = ACTIONS(568),
      [anon_sym_AMP_AMP] = ACTIONS(566),
      [anon_sym_AT] = ACTIONS(566),
      [anon_sym_DASH_DASH] = ACTIONS(566),
      [anon_sym_PLUS_PLUS] = ACTIONS(566),
      [anon_sym_DOT_DOT] = ACTIONS(566),
      [anon_sym_try] = ACTIONS(568),
      [anon_sym_catch] = ACTIONS(568),
      [anon_sym_void] = ACTIONS(568),
      [anon_sym_bool] = ACTIONS(568),
      [anon_sym_ichar] = ACTIONS(568),
      [anon_sym_char] = ACTIONS(568),
      [anon_sym_short] = ACTIONS(568),
      [anon_sym_ushort] = ACTIONS(568),
      [anon_sym_int] = ACTIONS(568),
      [anon_sym_uint] = ACTIONS(568),
      [anon_sym_long] = ACTIONS(568),
      [anon_sym_ulong] = ACTIONS(568),
      [anon_sym_iptr] = ACTIONS(568),
      [anon_sym_uptr] = ACTIONS(568),
      [anon_sym_iptrdiff] = ACTIONS(568),
      [anon_sym_uptrdiff] = ACTIONS(568),
      [anon_sym_isize] = ACTIONS(568),
      [anon_sym_usize] = ACTIONS(568),
      [anon_sym_half] = ACTIONS(568),
      [anon_sym_float] = ACTIONS(568),
      [anon_sym_double] = ACTIONS(568),
      [anon_sym_quad] = ACTIONS(568),
      [anon_sym_fn] = ACTIONS(568),
      [anon_sym_module] = ACTIONS(568),
      [anon_sym_import] = ACTIONS(568),
      [anon_sym_extern] = ACTIONS(568),
      [anon_sym_const] = ACTIONS(568),
      [anon_sym_define] = ACTIONS(568),
      [anon_sym_struct] = ACTIONS(568),
      [anon_sym_union] = ACTIONS(568),
      [anon_sym_enum] = ACTIONS(568),
      [anon_sym_errtype] = ACTIONS(568),
      [sym_comment] = ACTIONS(3),
    },
    [88] = {
      [ts_builtin_sym_end] = ACTIONS(570),
      [sym_identifier] = ACTIONS(572),
      [anon_sym_SEMI] = ACTIONS(570),
      [anon_sym_return] = ACTIONS(572),
      [anon_sym_if] = ACTIONS(572),
      [anon_sym_else] = ACTIONS(572),
      [anon_sym_while] = ACTIONS(572),
      [anon_sym_LPAREN] = ACTIONS(570),
      [anon_sym_for] = ACTIONS(572),
      [anon_sym_defer] = ACTIONS(572),
      [sym_type_identifier] = ACTIONS(572),
      [anon_sym_private] = ACTIONS(572),
      [anon_sym_public] = ACTIONS(572),
      [anon_sym_RBRACE] = ACTIONS(570),
      [anon_sym_true] = ACTIONS(572),
      [anon_sym_false] = ACTIONS(572),
      [anon_sym_SQUOTE] = ACTIONS(570),
      [anon_sym_DQUOTE] = ACTIONS(572),
      [anon_sym_BQUOTE] = ACTIONS(570),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(570),
      [anon_sym_x_DQUOTE] = ACTIONS(570),
      [anon_sym_b64_DQUOTE] = ACTIONS(570),
      [sym_integer_literal] = ACTIONS(572),
      [sym_float_literal] = ACTIONS(572),
      [sym_nil_literal] = ACTIONS(572),
      [anon_sym_DASH] = ACTIONS(572),
      [anon_sym_STAR] = ACTIONS(570),
      [anon_sym_BANG] = ACTIONS(570),
      [anon_sym_TILDE] = ACTIONS(570),
      [anon_sym_AMP] = ACTIONS(572),
      [anon_sym_AMP_AMP] = ACTIONS(570),
      [anon_sym_AT] = ACTIONS(570),
      [anon_sym_DASH_DASH] = ACTIONS(570),
      [anon_sym_PLUS_PLUS] = ACTIONS(570),
      [anon_sym_DOT_DOT] = ACTIONS(570),
      [anon_sym_try] = ACTIONS(572),
      [anon_sym_catch] = ACTIONS(572),
      [anon_sym_void] = ACTIONS(572),
      [anon_sym_bool] = ACTIONS(572),
      [anon_sym_ichar] = ACTIONS(572),
      [anon_sym_char] = ACTIONS(572),
      [anon_sym_short] = ACTIONS(572),
      [anon_sym_ushort] = ACTIONS(572),
      [anon_sym_int] = ACTIONS(572),
      [anon_sym_uint] = ACTIONS(572),
      [anon_sym_long] = ACTIONS(572),
      [anon_sym_ulong] = ACTIONS(572),
      [anon_sym_iptr] = ACTIONS(572),
      [anon_sym_uptr] = ACTIONS(572),
      [anon_sym_iptrdiff] = ACTIONS(572),
      [anon_sym_uptrdiff] = ACTIONS(572),
      [anon_sym_isize] = ACTIONS(572),
      [anon_sym_usize] = ACTIONS(572),
      [anon_sym_half] = ACTIONS(572),
      [anon_sym_float] = ACTIONS(572),
      [anon_sym_double] = ACTIONS(572),
      [anon_sym_quad] = ACTIONS(572),
      [anon_sym_fn] = ACTIONS(572),
      [anon_sym_module] = ACTIONS(572),
      [anon_sym_import] = ACTIONS(572),
      [anon_sym_extern] = ACTIONS(572),
      [anon_sym_const] = ACTIONS(572),
      [anon_sym_define] = ACTIONS(572),
      [anon_sym_struct] = ACTIONS(572),
      [anon_sym_union] = ACTIONS(572),
      [anon_sym_enum] = ACTIONS(572),
      [anon_sym_errtype] = ACTIONS(572),
      [sym_comment] = ACTIONS(3),
    },
    [89] = {
      [ts_builtin_sym_end] = ACTIONS(574),
      [sym_identifier] = ACTIONS(576),
      [anon_sym_SEMI] = ACTIONS(574),
      [anon_sym_return] = ACTIONS(576),
      [anon_sym_if] = ACTIONS(576),
      [anon_sym_else] = ACTIONS(576),
      [anon_sym_while] = ACTIONS(576),
      [anon_sym_LPAREN] = ACTIONS(574),
      [anon_sym_for] = ACTIONS(576),
      [anon_sym_defer] = ACTIONS(576),
      [sym_type_identifier] = ACTIONS(576),
      [anon_sym_private] = ACTIONS(576),
      [anon_sym_public] = ACTIONS(576),
      [anon_sym_RBRACE] = ACTIONS(574),
      [anon_sym_true] = ACTIONS(576),
      [anon_sym_false] = ACTIONS(576),
      [anon_sym_SQUOTE] = ACTIONS(574),
      [anon_sym_DQUOTE] = ACTIONS(576),
      [anon_sym_BQUOTE] = ACTIONS(574),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(574),
      [anon_sym_x_DQUOTE] = ACTIONS(574),
      [anon_sym_b64_DQUOTE] = ACTIONS(574),
      [sym_integer_literal] = ACTIONS(576),
      [sym_float_literal] = ACTIONS(576),
      [sym_nil_literal] = ACTIONS(576),
      [anon_sym_DASH] = ACTIONS(576),
      [anon_sym_STAR] = ACTIONS(574),
      [anon_sym_BANG] = ACTIONS(574),
      [anon_sym_TILDE] = ACTIONS(574),
      [anon_sym_AMP] = ACTIONS(576),
      [anon_sym_AMP_AMP] = ACTIONS(574),
      [anon_sym_AT] = ACTIONS(574),
      [anon_sym_DASH_DASH] = ACTIONS(574),
      [anon_sym_PLUS_PLUS] = ACTIONS(574),
      [anon_sym_DOT_DOT] = ACTIONS(574),
      [anon_sym_try] = ACTIONS(576),
      [anon_sym_catch] = ACTIONS(576),
      [anon_sym_void] = ACTIONS(576),
      [anon_sym_bool] = ACTIONS(576),
      [anon_sym_ichar] = ACTIONS(576),
      [anon_sym_char] = ACTIONS(576),
      [anon_sym_short] = ACTIONS(576),
      [anon_sym_ushort] = ACTIONS(576),
      [anon_sym_int] = ACTIONS(576),
      [anon_sym_uint] = ACTIONS(576),
      [anon_sym_long] = ACTIONS(576),
      [anon_sym_ulong] = ACTIONS(576),
      [anon_sym_iptr] = ACTIONS(576),
      [anon_sym_uptr] = ACTIONS(576),
      [anon_sym_iptrdiff] = ACTIONS(576),
      [anon_sym_uptrdiff] = ACTIONS(576),
      [anon_sym_isize] = ACTIONS(576),
      [anon_sym_usize] = ACTIONS(576),
      [anon_sym_half] = ACTIONS(576),
      [anon_sym_float] = ACTIONS(576),
      [anon_sym_double] = ACTIONS(576),
      [anon_sym_quad] = ACTIONS(576),
      [anon_sym_fn] = ACTIONS(576),
      [anon_sym_module] = ACTIONS(576),
      [anon_sym_import] = ACTIONS(576),
      [anon_sym_extern] = ACTIONS(576),
      [anon_sym_const] = ACTIONS(576),
      [anon_sym_define] = ACTIONS(576),
      [anon_sym_struct] = ACTIONS(576),
      [anon_sym_union] = ACTIONS(576),
      [anon_sym_enum] = ACTIONS(576),
      [anon_sym_errtype] = ACTIONS(576),
      [sym_comment] = ACTIONS(3),
    },
    [90] = {
      [ts_builtin_sym_end] = ACTIONS(578),
      [sym_identifier] = ACTIONS(580),
      [anon_sym_SEMI] = ACTIONS(578),
      [anon_sym_return] = ACTIONS(580),
      [anon_sym_if] = ACTIONS(580),
      [anon_sym_else] = ACTIONS(580),
      [anon_sym_while] = ACTIONS(580),
      [anon_sym_LPAREN] = ACTIONS(578),
      [anon_sym_for] = ACTIONS(580),
      [anon_sym_defer] = ACTIONS(580),
      [sym_type_identifier] = ACTIONS(580),
      [anon_sym_private] = ACTIONS(580),
      [anon_sym_public] = ACTIONS(580),
      [anon_sym_RBRACE] = ACTIONS(578),
      [anon_sym_true] = ACTIONS(580),
      [anon_sym_false] = ACTIONS(580),
      [anon_sym_SQUOTE] = ACTIONS(578),
      [anon_sym_DQUOTE] = ACTIONS(580),
      [anon_sym_BQUOTE] = ACTIONS(578),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(578),
      [anon_sym_x_DQUOTE] = ACTIONS(578),
      [anon_sym_b64_DQUOTE] = ACTIONS(578),
      [sym_integer_literal] = ACTIONS(580),
      [sym_float_literal] = ACTIONS(580),
      [sym_nil_literal] = ACTIONS(580),
      [anon_sym_DASH] = ACTIONS(580),
      [anon_sym_STAR] = ACTIONS(578),
      [anon_sym_BANG] = ACTIONS(578),
      [anon_sym_TILDE] = ACTIONS(578),
      [anon_sym_AMP] = ACTIONS(580),
      [anon_sym_AMP_AMP] = ACTIONS(578),
      [anon_sym_AT] = ACTIONS(578),
      [anon_sym_DASH_DASH] = ACTIONS(578),
      [anon_sym_PLUS_PLUS] = ACTIONS(578),
      [anon_sym_DOT_DOT] = ACTIONS(578),
      [anon_sym_try] = ACTIONS(580),
      [anon_sym_catch] = ACTIONS(580),
      [anon_sym_void] = ACTIONS(580),
      [anon_sym_bool] = ACTIONS(580),
      [anon_sym_ichar] = ACTIONS(580),
      [anon_sym_char] = ACTIONS(580),
      [anon_sym_short] = ACTIONS(580),
      [anon_sym_ushort] = ACTIONS(580),
      [anon_sym_int] = ACTIONS(580),
      [anon_sym_uint] = ACTIONS(580),
      [anon_sym_long] = ACTIONS(580),
      [anon_sym_ulong] = ACTIONS(580),
      [anon_sym_iptr] = ACTIONS(580),
      [anon_sym_uptr] = ACTIONS(580),
      [anon_sym_iptrdiff] = ACTIONS(580),
      [anon_sym_uptrdiff] = ACTIONS(580),
      [anon_sym_isize] = ACTIONS(580),
      [anon_sym_usize] = ACTIONS(580),
      [anon_sym_half] = ACTIONS(580),
      [anon_sym_float] = ACTIONS(580),
      [anon_sym_double] = ACTIONS(580),
      [anon_sym_quad] = ACTIONS(580),
      [anon_sym_fn] = ACTIONS(580),
      [anon_sym_module] = ACTIONS(580),
      [anon_sym_import] = ACTIONS(580),
      [anon_sym_extern] = ACTIONS(580),
      [anon_sym_const] = ACTIONS(580),
      [anon_sym_define] = ACTIONS(580),
      [anon_sym_struct] = ACTIONS(580),
      [anon_sym_union] = ACTIONS(580),
      [anon_sym_enum] = ACTIONS(580),
      [anon_sym_errtype] = ACTIONS(580),
      [sym_comment] = ACTIONS(3),
    },
    [91] = {
      [ts_builtin_sym_end] = ACTIONS(79),
      [sym_identifier] = ACTIONS(582),
      [anon_sym_SEMI] = ACTIONS(79),
      [anon_sym_return] = ACTIONS(582),
      [anon_sym_if] = ACTIONS(582),
      [anon_sym_while] = ACTIONS(582),
      [anon_sym_LPAREN] = ACTIONS(79),
      [anon_sym_for] = ACTIONS(582),
      [anon_sym_defer] = ACTIONS(582),
      [sym_type_identifier] = ACTIONS(582),
      [anon_sym_private] = ACTIONS(582),
      [anon_sym_public] = ACTIONS(582),
      [anon_sym_true] = ACTIONS(582),
      [anon_sym_false] = ACTIONS(582),
      [anon_sym_SQUOTE] = ACTIONS(79),
      [anon_sym_DQUOTE] = ACTIONS(582),
      [anon_sym_BQUOTE] = ACTIONS(79),
      [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(79),
      [anon_sym_x_DQUOTE] = ACTIONS(79),
      [anon_sym_b64_DQUOTE] = ACTIONS(79),
      [sym_integer_literal] = ACTIONS(582),
      [sym_float_literal] = ACTIONS(582),
      [sym_nil_literal] = ACTIONS(582),
      [anon_sym_DASH] = ACTIONS(582),
      [anon_sym_STAR] = ACTIONS(79),
      [anon_sym_BANG] = ACTIONS(79),
      [anon_sym_TILDE] = ACTIONS(79),
      [anon_sym_AMP] = ACTIONS(582),
      [anon_sym_AMP_AMP] = ACTIONS(79),
      [anon_sym_AT] = ACTIONS(79),
      [anon_sym_DASH_DASH] = ACTIONS(79),
      [anon_sym_PLUS_PLUS] = ACTIONS(79),
      [anon_sym_DOT_DOT] = ACTIONS(79),
      [anon_sym_try] = ACTIONS(582),
      [anon_sym_catch] = ACTIONS(582),
      [anon_sym_void] = ACTIONS(582),
      [anon_sym_bool] = ACTIONS(582),
      [anon_sym_ichar] = ACTIONS(582),
      [anon_sym_char] = ACTIONS(582),
      [anon_sym_short] = ACTIONS(582),
      [anon_sym_ushort] = ACTIONS(582),
      [anon_sym_int] = ACTIONS(582),
      [anon_sym_uint] = ACTIONS(582),
      [anon_sym_long] = ACTIONS(582),
      [anon_sym_ulong] = ACTIONS(582),
      [anon_sym_iptr] = ACTIONS(582),
      [anon_sym_uptr] = ACTIONS(582),
      [anon_sym_iptrdiff] = ACTIONS(582),
      [anon_sym_uptrdiff] = ACTIONS(582),
      [anon_sym_isize] = ACTIONS(582),
      [anon_sym_usize] = ACTIONS(582),
      [anon_sym_half] = ACTIONS(582),
      [anon_sym_float] = ACTIONS(582),
      [anon_sym_double] = ACTIONS(582),
      [anon_sym_quad] = ACTIONS(582),
      [anon_sym_fn] = ACTIONS(582),
      [anon_sym_module] = ACTIONS(582),
      [anon_sym_import] = ACTIONS(582),
      [anon_sym_extern] = ACTIONS(582),
      [anon_sym_const] = ACTIONS(582),
      [anon_sym_define] = ACTIONS(582),
      [anon_sym_struct] = ACTIONS(582),
      [anon_sym_union] = ACTIONS(582),
      [anon_sym_enum] = ACTIONS(582),
      [anon_sym_errtype] = ACTIONS(582),
      [sym_comment] = ACTIONS(3),
    },
  };
  
  static const uint16_t ts_small_parse_table[] = {
    [0] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(586), 16,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_LBRACE,
        anon_sym_SQUOTE,
        anon_sym_BQUOTE,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
        anon_sym_x_DQUOTE,
        anon_sym_b64_DQUOTE,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_DOT_DOT,
      ACTIONS(584), 47,
        anon_sym_return,
        anon_sym_if,
        anon_sym_while,
        anon_sym_for,
        anon_sym_defer,
        sym_identifier,
        sym_type_identifier,
        anon_sym_true,
        anon_sym_false,
        anon_sym_DQUOTE,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
        anon_sym_DASH,
        anon_sym_AMP,
        anon_sym_try,
        anon_sym_catch,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_fn,
        anon_sym_module,
        anon_sym_import,
        anon_sym_extern,
        anon_sym_const,
        anon_sym_define,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_enum,
        anon_sym_errtype,
    [71] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(590), 16,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_LBRACE,
        anon_sym_SQUOTE,
        anon_sym_BQUOTE,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
        anon_sym_x_DQUOTE,
        anon_sym_b64_DQUOTE,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_DOT_DOT,
      ACTIONS(588), 47,
        anon_sym_return,
        anon_sym_if,
        anon_sym_while,
        anon_sym_for,
        anon_sym_defer,
        sym_identifier,
        sym_type_identifier,
        anon_sym_true,
        anon_sym_false,
        anon_sym_DQUOTE,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
        anon_sym_DASH,
        anon_sym_AMP,
        anon_sym_try,
        anon_sym_catch,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_fn,
        anon_sym_module,
        anon_sym_import,
        anon_sym_extern,
        anon_sym_const,
        anon_sym_define,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_enum,
        anon_sym_errtype,
    [142] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(594), 16,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_LBRACE,
        anon_sym_SQUOTE,
        anon_sym_BQUOTE,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
        anon_sym_x_DQUOTE,
        anon_sym_b64_DQUOTE,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_DOT_DOT,
      ACTIONS(592), 47,
        anon_sym_return,
        anon_sym_if,
        anon_sym_while,
        anon_sym_for,
        anon_sym_defer,
        sym_identifier,
        sym_type_identifier,
        anon_sym_true,
        anon_sym_false,
        anon_sym_DQUOTE,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
        anon_sym_DASH,
        anon_sym_AMP,
        anon_sym_try,
        anon_sym_catch,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_fn,
        anon_sym_module,
        anon_sym_import,
        anon_sym_extern,
        anon_sym_const,
        anon_sym_define,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_enum,
        anon_sym_errtype,
    [213] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(598), 15,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_SQUOTE,
        anon_sym_BQUOTE,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
        anon_sym_x_DQUOTE,
        anon_sym_b64_DQUOTE,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_DOT_DOT,
      ACTIONS(596), 47,
        anon_sym_return,
        anon_sym_if,
        anon_sym_while,
        anon_sym_for,
        anon_sym_defer,
        sym_identifier,
        sym_type_identifier,
        anon_sym_true,
        anon_sym_false,
        anon_sym_DQUOTE,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
        anon_sym_DASH,
        anon_sym_AMP,
        anon_sym_try,
        anon_sym_catch,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_fn,
        anon_sym_module,
        anon_sym_import,
        anon_sym_extern,
        anon_sym_const,
        anon_sym_define,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_enum,
        anon_sym_errtype,
    [283] = 13,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(606), 3,
        anon_sym_EQ,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [355] = 10,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(606), 10,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [421] = 17,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(624), 1,
        anon_sym_EQ,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(622), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [501] = 17,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(636), 1,
        anon_sym_EQ,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(634), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [581] = 17,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(640), 1,
        anon_sym_EQ,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(638), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [661] = 12,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(606), 5,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_PLUS,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [731] = 17,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(644), 1,
        anon_sym_EQ,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(642), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [811] = 9,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(606), 14,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [875] = 17,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(344), 1,
        anon_sym_EQ,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(340), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [955] = 16,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(606), 1,
        anon_sym_EQ,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(600), 18,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_PIPE_PIPE,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1033] = 9,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(648), 14,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(646), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1097] = 11,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(606), 8,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1165] = 15,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(606), 1,
        anon_sym_EQ,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(600), 19,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1241] = 21,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(650), 1,
        sym_identifier,
      ACTIONS(652), 1,
        anon_sym_LBRACE,
      STATE(195), 1,
        sym_scoped_identifier,
      STATE(392), 1,
        sym_initializers,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(654), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(223), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [1328] = 9,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(606), 10,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1391] = 16,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(344), 1,
        anon_sym_EQ,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(340), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1468] = 16,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(644), 1,
        anon_sym_EQ,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(642), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1545] = 16,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(624), 1,
        anon_sym_EQ,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(622), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1622] = 8,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(648), 14,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(646), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [1683] = 21,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(652), 1,
        anon_sym_LBRACE,
      ACTIONS(656), 1,
        sym_identifier,
      STATE(205), 1,
        sym_scoped_identifier,
      STATE(387), 1,
        sym_initializers,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(658), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(216), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [1770] = 21,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(652), 1,
        anon_sym_LBRACE,
      ACTIONS(660), 1,
        sym_identifier,
      STATE(189), 1,
        sym_scoped_identifier,
      STATE(409), 1,
        sym_initializers,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(662), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(221), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [1857] = 21,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(652), 1,
        anon_sym_LBRACE,
      ACTIONS(664), 1,
        sym_identifier,
      STATE(166), 1,
        sym_scoped_identifier,
      STATE(359), 1,
        sym_initializers,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(666), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(197), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [1944] = 21,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(668), 1,
        sym_identifier,
      ACTIONS(670), 1,
        anon_sym_COMMA,
      ACTIONS(672), 1,
        anon_sym_RBRACE,
      STATE(144), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(674), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(176), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [2031] = 16,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(640), 1,
        anon_sym_EQ,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(638), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [2108] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(356), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(354), 28,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COLON_COLON,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [2159] = 21,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(652), 1,
        anon_sym_LBRACE,
      ACTIONS(676), 1,
        sym_identifier,
      STATE(193), 1,
        sym_scoped_identifier,
      STATE(388), 1,
        sym_initializers,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(678), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(234), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [2246] = 16,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(636), 1,
        anon_sym_EQ,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(634), 17,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [2323] = 11,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(606), 5,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_PLUS,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [2390] = 8,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(606), 14,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [2451] = 10,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(606), 8,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [2516] = 14,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(606), 1,
        anon_sym_EQ,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(600), 19,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [2589] = 15,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(606), 1,
        anon_sym_EQ,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(600), 18,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_PIPE_PIPE,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [2664] = 12,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(606), 3,
        anon_sym_EQ,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(600), 23,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_RBRACK,
    [2733] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(682), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(680), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [2783] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(684), 1,
        sym_identifier,
      ACTIONS(686), 1,
        anon_sym_RPAREN,
      STATE(201), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(688), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(225), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [2867] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(692), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(690), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [2917] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(648), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(646), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [2967] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(696), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(694), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [3017] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(584), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(586), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [3067] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(698), 1,
        sym_identifier,
      ACTIONS(700), 1,
        anon_sym_SEMI,
      STATE(199), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(702), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(233), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [3151] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(704), 1,
        sym_identifier,
      ACTIONS(706), 1,
        anon_sym_RPAREN,
      STATE(191), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(708), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(222), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [3235] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(710), 1,
        sym_identifier,
      ACTIONS(712), 1,
        anon_sym_RBRACE,
      STATE(149), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(714), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(175), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [3319] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(716), 1,
        sym_identifier,
      ACTIONS(718), 1,
        anon_sym_RPAREN,
      STATE(192), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(720), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(220), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [3403] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(724), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(722), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [3453] = 21,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(726), 1,
        anon_sym_RPAREN,
      ACTIONS(728), 1,
        anon_sym_COMMA,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      STATE(339), 1,
        aux_sym_initializers_repeat1,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [3539] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(736), 1,
        sym_identifier,
      ACTIONS(738), 1,
        anon_sym_SEMI,
      STATE(207), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(740), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(213), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [3623] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(742), 1,
        sym_identifier,
      ACTIONS(744), 1,
        anon_sym_SEMI,
      STATE(198), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(746), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(229), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [3707] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(750), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(748), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [3757] = 21,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(752), 1,
        anon_sym_COMMA,
      ACTIONS(754), 1,
        anon_sym_RBRACE,
      STATE(146), 1,
        sym_arguments,
      STATE(327), 1,
        aux_sym_initializers_repeat1,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [3843] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(758), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(756), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [3893] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(762), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(760), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [3943] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(766), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(764), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [3993] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(770), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(768), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [4043] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(772), 3,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [4125] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(776), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(774), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [4175] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(710), 1,
        sym_identifier,
      ACTIONS(778), 1,
        anon_sym_RBRACE,
      STATE(149), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(714), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(175), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [4259] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(780), 1,
        sym_identifier,
      ACTIONS(782), 1,
        anon_sym_RPAREN,
      STATE(187), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(784), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(214), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [4343] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(786), 1,
        sym_identifier,
      ACTIONS(788), 1,
        anon_sym_RPAREN,
      STATE(185), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(790), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(218), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [4427] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(794), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(792), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [4477] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(796), 1,
        sym_identifier,
      ACTIONS(798), 1,
        anon_sym_SEMI,
      STATE(200), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(800), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(230), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [4561] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(802), 1,
        sym_identifier,
      ACTIONS(804), 1,
        anon_sym_SEMI,
      STATE(186), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(806), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(215), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [4645] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(808), 1,
        sym_identifier,
      ACTIONS(810), 1,
        anon_sym_RPAREN,
      STATE(194), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(812), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(232), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [4729] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(814), 1,
        sym_identifier,
      ACTIONS(816), 1,
        anon_sym_RPAREN,
      STATE(196), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(818), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(226), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [4813] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(822), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(820), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [4863] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(826), 15,
        anon_sym_EQ,
        anon_sym_DASH,
        anon_sym_STAR,
        anon_sym_AMP,
        anon_sym_PLUS,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
        anon_sym_PIPE,
        anon_sym_CARET,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
        anon_sym_DOT,
      ACTIONS(824), 27,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
        anon_sym_AMP_AMP,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
        anon_sym_PIPE_PIPE,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
        anon_sym_DOT_DOT,
        anon_sym_LBRACK,
        anon_sym_RBRACK,
    [4913] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(828), 1,
        sym_identifier,
      ACTIONS(830), 1,
        anon_sym_RPAREN,
      STATE(140), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(832), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(179), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [4997] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(834), 1,
        sym_identifier,
      ACTIONS(836), 1,
        anon_sym_RPAREN,
      STATE(206), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(838), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(219), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5081] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(840), 1,
        sym_identifier,
      STATE(209), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(842), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(217), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5162] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(844), 2,
        anon_sym_COMMA,
        anon_sym_RBRACE,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [5243] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(846), 1,
        sym_identifier,
      STATE(102), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(848), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(112), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5324] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(850), 2,
        anon_sym_RPAREN,
        anon_sym_COMMA,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [5405] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(852), 1,
        sym_identifier,
      STATE(106), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(854), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(114), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5486] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(856), 1,
        sym_identifier,
      STATE(190), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(858), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(210), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5567] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(860), 1,
        sym_identifier,
      STATE(101), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(862), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(123), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5648] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(864), 1,
        sym_identifier,
      STATE(97), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(866), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(110), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5729] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(868), 1,
        sym_identifier,
      STATE(103), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(870), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(124), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5810] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(872), 1,
        sym_identifier,
      STATE(96), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(874), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(128), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5891] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(876), 1,
        sym_identifier,
      STATE(99), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(878), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(122), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [5972] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(880), 1,
        sym_identifier,
      STATE(107), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(882), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(125), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [6053] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(772), 3,
        anon_sym_RPAREN,
        anon_sym_COMMA,
        anon_sym_RBRACE,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [6132] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(752), 1,
        anon_sym_COMMA,
      ACTIONS(754), 1,
        anon_sym_RBRACE,
      STATE(146), 1,
        sym_arguments,
      STATE(327), 1,
        aux_sym_initializers_repeat1,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [6215] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(884), 1,
        sym_identifier,
      STATE(105), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(886), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(127), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [6296] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(888), 1,
        sym_identifier,
      STATE(208), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(890), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(212), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [6377] = 20,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(726), 1,
        anon_sym_RPAREN,
      ACTIONS(728), 1,
        anon_sym_COMMA,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      STATE(339), 1,
        aux_sym_initializers_repeat1,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [6460] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(710), 1,
        sym_identifier,
      STATE(149), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(714), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(175), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [6541] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(892), 1,
        sym_identifier,
      STATE(98), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(894), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(113), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [6622] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(896), 1,
        sym_identifier,
      STATE(164), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(898), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(203), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [6703] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(900), 1,
        sym_identifier,
      STATE(108), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(902), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(126), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [6784] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(17), 1,
        anon_sym_LPAREN,
      ACTIONS(29), 1,
        anon_sym_SQUOTE,
      ACTIONS(31), 1,
        anon_sym_DQUOTE,
      ACTIONS(33), 1,
        anon_sym_BQUOTE,
      ACTIONS(35), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(37), 1,
        anon_sym_x_DQUOTE,
      ACTIONS(39), 1,
        anon_sym_b64_DQUOTE,
      ACTIONS(47), 1,
        anon_sym_DOT_DOT,
      ACTIONS(49), 1,
        anon_sym_try,
      ACTIONS(51), 1,
        anon_sym_catch,
      ACTIONS(904), 1,
        sym_identifier,
      STATE(204), 1,
        sym_scoped_identifier,
      ACTIONS(27), 2,
        anon_sym_true,
        anon_sym_false,
      ACTIONS(43), 2,
        anon_sym_DASH,
        anon_sym_AMP,
      STATE(159), 2,
        sym__hex_string_literal,
        sym__base64_string_literal,
      ACTIONS(470), 3,
        sym_integer_literal,
        sym_float_literal,
        sym_nil_literal,
      ACTIONS(45), 7,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_TILDE,
        anon_sym_AMP_AMP,
        anon_sym_AT,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      STATE(211), 13,
        sym_boolean_literal,
        sym_char_literal,
        sym_string_literal,
        sym_assignment_expression,
        sym_unary_expression,
        sym_binary_expression,
        sym_parenthesized_expression,
        sym_range_expression,
        sym_subscript_expression,
        sym_call_expression,
        sym_field_expression,
        sym_try_expression,
        sym_catch_expression,
    [6865] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(906), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [6945] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(908), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7025] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(910), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7105] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(912), 1,
        anon_sym_RPAREN,
      ACTIONS(914), 1,
        anon_sym_COLON_COLON,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7185] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(916), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7265] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(918), 1,
        anon_sym_RBRACK,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7345] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(920), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7425] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(922), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7505] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(924), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7585] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(926), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7665] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(928), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7745] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(930), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7825] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(850), 2,
        anon_sym_RPAREN,
        anon_sym_COMMA,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7903] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(932), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [7983] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(934), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8063] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(936), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8143] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(938), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8223] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(914), 1,
        anon_sym_COLON_COLON,
      ACTIONS(940), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8303] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(844), 2,
        anon_sym_COMMA,
        anon_sym_RBRACE,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8381] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(912), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8461] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(942), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8541] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(944), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8621] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(946), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8701] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(948), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8781] = 19,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(950), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8861] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(918), 1,
        anon_sym_RBRACK,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [8938] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(912), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9015] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(948), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9092] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(946), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9169] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(910), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9246] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(908), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9323] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(942), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9400] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(950), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9477] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(906), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9554] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(944), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9631] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(922), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9708] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(916), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9785] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(920), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9862] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(928), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [9939] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(914), 1,
        anon_sym_COLON_COLON,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10016] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(938), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10093] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(930), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10170] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(952), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10247] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(954), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10324] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(932), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10401] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(936), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10478] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(940), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10555] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(926), 1,
        anon_sym_RPAREN,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10632] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(934), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10709] = 18,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      ACTIONS(924), 1,
        anon_sym_SEMI,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10786] = 17,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(602), 1,
        anon_sym_LPAREN,
      ACTIONS(618), 1,
        anon_sym_LBRACK,
      ACTIONS(620), 1,
        anon_sym_DOT,
      ACTIONS(626), 1,
        anon_sym_AMP_AMP,
      ACTIONS(628), 1,
        anon_sym_PIPE_PIPE,
      ACTIONS(730), 1,
        anon_sym_EQ,
      ACTIONS(734), 1,
        anon_sym_DOT_DOT,
      STATE(146), 1,
        sym_arguments,
      ACTIONS(608), 2,
        anon_sym_DASH,
        anon_sym_PLUS,
      ACTIONS(614), 2,
        anon_sym_DASH_DASH,
        anon_sym_PLUS_PLUS,
      ACTIONS(616), 2,
        anon_sym_LT_LT,
        anon_sym_GT_GT,
      ACTIONS(632), 2,
        anon_sym_GT,
        anon_sym_LT,
      ACTIONS(612), 3,
        anon_sym_AMP,
        anon_sym_PIPE,
        anon_sym_CARET,
      ACTIONS(610), 4,
        anon_sym_STAR,
        anon_sym_SLASH,
        anon_sym_PERCENT,
        anon_sym_STAR_PERCENT,
      ACTIONS(630), 4,
        anon_sym_EQ_EQ,
        anon_sym_BANG_EQ,
        anon_sym_GT_EQ,
        anon_sym_LT_EQ,
      ACTIONS(732), 11,
        anon_sym_PLUS_EQ,
        anon_sym_DASH_EQ,
        anon_sym_STAR_EQ,
        anon_sym_SLASH_EQ,
        anon_sym_PERCENT_EQ,
        anon_sym_STAR_PERCENT_EQ,
        anon_sym_AMP_EQ,
        anon_sym_PIPE_EQ,
        anon_sym_CARET_EQ,
        anon_sym_LT_LT_EQ,
        anon_sym_GT_GT_EQ,
    [10860] = 11,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(958), 1,
        sym_type_identifier,
      ACTIONS(960), 1,
        anon_sym_RBRACE,
      ACTIONS(962), 1,
        anon_sym_struct,
      ACTIONS(964), 1,
        anon_sym_union,
      ACTIONS(966), 1,
        anon_sym_inline,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(240), 4,
        sym_field_declaration,
        sym_field_struct_declaration,
        sym_field_union_declaration,
        aux_sym_field_declarations_repeat1,
      STATE(306), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [10920] = 11,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(968), 1,
        sym_identifier,
      ACTIONS(971), 1,
        sym_type_identifier,
      ACTIONS(974), 1,
        anon_sym_RBRACE,
      ACTIONS(979), 1,
        anon_sym_struct,
      ACTIONS(982), 1,
        anon_sym_union,
      ACTIONS(985), 1,
        anon_sym_inline,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(237), 4,
        sym_field_declaration,
        sym_field_struct_declaration,
        sym_field_union_declaration,
        aux_sym_field_declarations_repeat1,
      STATE(306), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(976), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [10980] = 11,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(958), 1,
        sym_type_identifier,
      ACTIONS(962), 1,
        anon_sym_struct,
      ACTIONS(964), 1,
        anon_sym_union,
      ACTIONS(966), 1,
        anon_sym_inline,
      ACTIONS(988), 1,
        anon_sym_RBRACE,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(239), 4,
        sym_field_declaration,
        sym_field_struct_declaration,
        sym_field_union_declaration,
        aux_sym_field_declarations_repeat1,
      STATE(306), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11040] = 11,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(958), 1,
        sym_type_identifier,
      ACTIONS(962), 1,
        anon_sym_struct,
      ACTIONS(964), 1,
        anon_sym_union,
      ACTIONS(966), 1,
        anon_sym_inline,
      ACTIONS(990), 1,
        anon_sym_RBRACE,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(237), 4,
        sym_field_declaration,
        sym_field_struct_declaration,
        sym_field_union_declaration,
        aux_sym_field_declarations_repeat1,
      STATE(306), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11100] = 11,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(958), 1,
        sym_type_identifier,
      ACTIONS(962), 1,
        anon_sym_struct,
      ACTIONS(964), 1,
        anon_sym_union,
      ACTIONS(966), 1,
        anon_sym_inline,
      ACTIONS(992), 1,
        anon_sym_RBRACE,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(237), 4,
        sym_field_declaration,
        sym_field_struct_declaration,
        sym_field_union_declaration,
        aux_sym_field_declarations_repeat1,
      STATE(306), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11160] = 9,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(994), 1,
        anon_sym_RPAREN,
      ACTIONS(996), 1,
        sym_type_identifier,
      ACTIONS(998), 1,
        anon_sym_DOT_DOT_DOT,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(329), 2,
        sym_parameter,
        sym_variadic_parameter,
      STATE(276), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11212] = 8,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(996), 1,
        sym_type_identifier,
      ACTIONS(998), 1,
        anon_sym_DOT_DOT_DOT,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(371), 2,
        sym_parameter,
        sym_variadic_parameter,
      STATE(276), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11261] = 10,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1000), 1,
        sym_type_identifier,
      ACTIONS(1002), 1,
        anon_sym_fn,
      ACTIONS(1004), 1,
        anon_sym_distinct,
      STATE(285), 1,
        sym_scoped_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(394), 1,
        sym_function_pointer_type,
      STATE(305), 4,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11314] = 7,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1006), 1,
        sym_type_identifier,
      ACTIONS(1008), 1,
        anon_sym_GT,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(278), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11359] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1010), 1,
        sym_identifier,
      ACTIONS(1012), 1,
        sym_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(299), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11401] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1014), 1,
        sym_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(304), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11443] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1016), 1,
        sym_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(293), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11485] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1018), 1,
        sym_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(291), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11527] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1020), 1,
        sym_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(295), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11569] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1022), 1,
        sym_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(300), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11611] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1024), 1,
        sym_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(273), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11653] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(956), 1,
        sym_identifier,
      ACTIONS(1026), 1,
        sym_type_identifier,
      STATE(383), 1,
        sym_scoped_identifier,
      STATE(289), 5,
        sym_scoped_type_identifier,
        sym_primitive_type,
        sym_pointer_type,
        sym_failable_type,
        sym_array_type,
      ACTIONS(53), 20,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
    [11695] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1030), 1,
        anon_sym_RBRACE,
      ACTIONS(1028), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [11729] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1034), 1,
        anon_sym_RBRACE,
      ACTIONS(1032), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [11763] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1038), 1,
        anon_sym_RBRACE,
      ACTIONS(1036), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [11797] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1042), 1,
        anon_sym_RBRACE,
      ACTIONS(1040), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [11831] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1046), 1,
        anon_sym_RBRACE,
      ACTIONS(1044), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [11865] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1050), 1,
        anon_sym_RBRACE,
      ACTIONS(1048), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [11899] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(382), 1,
        anon_sym_RBRACE,
      ACTIONS(384), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [11933] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1054), 1,
        anon_sym_RBRACE,
      ACTIONS(1052), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [11967] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1058), 1,
        anon_sym_RBRACE,
      ACTIONS(1056), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [12001] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1062), 1,
        anon_sym_RBRACE,
      ACTIONS(1060), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [12035] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1066), 1,
        anon_sym_RBRACE,
      ACTIONS(1064), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [12069] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1070), 1,
        anon_sym_RBRACE,
      ACTIONS(1068), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [12103] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1074), 1,
        anon_sym_RBRACE,
      ACTIONS(1072), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [12137] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(472), 1,
        anon_sym_RBRACE,
      ACTIONS(474), 25,
        sym_identifier,
        sym_type_identifier,
        anon_sym_void,
        anon_sym_bool,
        anon_sym_ichar,
        anon_sym_char,
        anon_sym_short,
        anon_sym_ushort,
        anon_sym_int,
        anon_sym_uint,
        anon_sym_long,
        anon_sym_ulong,
        anon_sym_iptr,
        anon_sym_uptr,
        anon_sym_iptrdiff,
        anon_sym_uptrdiff,
        anon_sym_isize,
        anon_sym_usize,
        anon_sym_half,
        anon_sym_float,
        anon_sym_double,
        anon_sym_quad,
        anon_sym_struct,
        anon_sym_union,
        anon_sym_inline,
    [12171] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1078), 1,
        sym_type_identifier,
      ACTIONS(1076), 13,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        sym_identifier,
        anon_sym_LBRACE,
        anon_sym_COMMA,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_AT,
        anon_sym_GT,
        anon_sym_LT,
        anon_sym_LBRACK,
        anon_sym_DOT_DOT_DOT,
    [12193] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1082), 1,
        sym_type_identifier,
      ACTIONS(1080), 12,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        sym_identifier,
        anon_sym_LBRACE,
        anon_sym_COMMA,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_AT,
        anon_sym_GT,
        anon_sym_LBRACK,
        anon_sym_DOT_DOT_DOT,
    [12214] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1086), 1,
        sym_type_identifier,
      ACTIONS(1084), 12,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        sym_identifier,
        anon_sym_LBRACE,
        anon_sym_COMMA,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_AT,
        anon_sym_GT,
        anon_sym_LBRACK,
        anon_sym_DOT_DOT_DOT,
    [12235] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1090), 1,
        sym_type_identifier,
      ACTIONS(1088), 12,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        sym_identifier,
        anon_sym_LBRACE,
        anon_sym_COMMA,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_AT,
        anon_sym_GT,
        anon_sym_LBRACK,
        anon_sym_DOT_DOT_DOT,
    [12256] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1094), 1,
        sym_type_identifier,
      ACTIONS(1092), 12,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        sym_identifier,
        anon_sym_LBRACE,
        anon_sym_COMMA,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_AT,
        anon_sym_GT,
        anon_sym_LBRACK,
        anon_sym_DOT_DOT_DOT,
    [12277] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1098), 1,
        sym_type_identifier,
      ACTIONS(1096), 12,
        anon_sym_SEMI,
        anon_sym_LPAREN,
        anon_sym_RPAREN,
        sym_identifier,
        anon_sym_LBRACE,
        anon_sym_COMMA,
        anon_sym_STAR,
        anon_sym_BANG,
        anon_sym_AT,
        anon_sym_GT,
        anon_sym_LBRACK,
        anon_sym_DOT_DOT_DOT,
    [12298] = 9,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1100), 1,
        anon_sym_LBRACE,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      STATE(42), 1,
        sym_enumerators,
      STATE(368), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12327] = 7,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1110), 1,
        sym_identifier,
      ACTIONS(1112), 1,
        anon_sym_LBRACE,
      STATE(261), 1,
        sym_field_declarations,
      STATE(362), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12350] = 7,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1100), 1,
        anon_sym_LBRACE,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1114), 1,
        anon_sym_COLON,
      STATE(77), 1,
        sym_enumerators,
      STATE(349), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12373] = 7,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1116), 1,
        sym_identifier,
      ACTIONS(1120), 1,
        anon_sym_DOT_DOT_DOT,
      ACTIONS(1118), 2,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [12396] = 7,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1112), 1,
        anon_sym_LBRACE,
      ACTIONS(1122), 1,
        sym_identifier,
      STATE(264), 1,
        sym_field_declarations,
      STATE(373), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12419] = 7,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1124), 1,
        anon_sym_COMMA,
      ACTIONS(1126), 1,
        anon_sym_GT,
      STATE(338), 1,
        aux_sym_type_parameters_repeat1,
    [12441] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(185), 1,
        anon_sym_LBRACE,
      ACTIONS(1106), 1,
        anon_sym_AT,
      STATE(48), 1,
        sym_compound_statement,
      STATE(350), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12461] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1128), 1,
        anon_sym_LBRACE,
      STATE(80), 1,
        sym_field_declarations,
      STATE(355), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12481] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1128), 1,
        anon_sym_LBRACE,
      STATE(78), 1,
        sym_field_declarations,
      STATE(352), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12501] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1100), 1,
        anon_sym_LBRACE,
      ACTIONS(1106), 1,
        anon_sym_AT,
      STATE(76), 1,
        sym_enumerators,
      STATE(343), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12521] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1112), 1,
        anon_sym_LBRACE,
      STATE(258), 1,
        sym_field_declarations,
      STATE(369), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12541] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1112), 1,
        anon_sym_LBRACE,
      STATE(257), 1,
        sym_field_declarations,
      STATE(370), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12561] = 7,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(352), 1,
        anon_sym_LT,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1130), 1,
        anon_sym_SEMI,
      STATE(410), 1,
        sym_type_parameters,
    [12583] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(185), 1,
        anon_sym_LBRACE,
      ACTIONS(1106), 1,
        anon_sym_AT,
      STATE(39), 1,
        sym_compound_statement,
      STATE(344), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12603] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1134), 1,
        anon_sym_AT,
      ACTIONS(1132), 2,
        anon_sym_SEMI,
        anon_sym_LBRACE,
      STATE(287), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12618] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1137), 1,
        anon_sym_SEMI,
      STATE(381), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12635] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1139), 1,
        anon_sym_LPAREN,
      STATE(374), 1,
        sym_parameters,
    [12654] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1141), 1,
        anon_sym_SEMI,
      STATE(406), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12671] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1143), 1,
        sym_identifier,
      ACTIONS(1145), 1,
        sym_type_identifier,
    [12690] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1147), 1,
        anon_sym_SEMI,
      STATE(403), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12707] = 6,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1149), 1,
        sym_identifier,
      ACTIONS(1151), 1,
        sym_type_identifier,
    [12726] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1153), 2,
        anon_sym_SEMI,
        anon_sym_LBRACE,
      STATE(287), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12741] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1155), 2,
        anon_sym_COMMA,
        anon_sym_GT,
    [12758] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1106), 1,
        anon_sym_AT,
      ACTIONS(1157), 1,
        anon_sym_SEMI,
      STATE(379), 1,
        sym_attributes,
      STATE(294), 2,
        sym_attribute,
        aux_sym_attributes_repeat1,
    [12775] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1159), 1,
        sym_identifier,
    [12791] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1161), 1,
        sym_const_identifier,
      ACTIONS(1163), 1,
        anon_sym_COMMA,
      ACTIONS(1165), 1,
        anon_sym_RBRACE,
      STATE(321), 1,
        sym_enumerator,
    [12807] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1167), 1,
        sym_identifier,
    [12823] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1169), 1,
        anon_sym_SEMI,
    [12839] = 4,
      ACTIONS(1171), 1,
        anon_sym_DQUOTE,
      ACTIONS(1175), 1,
        sym_comment,
      STATE(308), 1,
        aux_sym__string_literal_repeat1,
      ACTIONS(1173), 2,
        aux_sym__string_literal_token1,
        sym_escape_sequence,
    [12853] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1179), 1,
        anon_sym_LPAREN,
      ACTIONS(1177), 3,
        anon_sym_SEMI,
        anon_sym_LBRACE,
        anon_sym_AT,
    [12865] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(352), 1,
        anon_sym_LT,
      ACTIONS(604), 1,
        anon_sym_COLON_COLON,
      ACTIONS(1130), 1,
        anon_sym_SEMI,
      STATE(410), 1,
        sym_type_parameters,
    [12881] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1181), 1,
        sym_identifier,
    [12897] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1130), 1,
        anon_sym_SEMI,
    [12913] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1183), 1,
        sym_identifier,
    [12929] = 4,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1185), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      STATE(307), 1,
        aux_sym__multiline_string_literal_repeat1,
      ACTIONS(1187), 2,
        aux_sym__multiline_string_literal_token1,
        sym_escape_sequence,
    [12943] = 4,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1190), 1,
        anon_sym_DQUOTE,
      STATE(308), 1,
        aux_sym__string_literal_repeat1,
      ACTIONS(1192), 2,
        aux_sym__string_literal_token1,
        sym_escape_sequence,
    [12957] = 4,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1195), 1,
        anon_sym_DQUOTE,
      STATE(301), 1,
        aux_sym__string_literal_repeat1,
      ACTIONS(1197), 2,
        aux_sym__string_literal_token1,
        sym_escape_sequence,
    [12971] = 4,
      ACTIONS(1171), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      ACTIONS(1175), 1,
        sym_comment,
      STATE(307), 1,
        aux_sym__multiline_string_literal_repeat1,
      ACTIONS(1199), 2,
        aux_sym__multiline_string_literal_token1,
        sym_escape_sequence,
    [12985] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1201), 1,
        anon_sym_COMMA,
      STATE(311), 1,
        aux_sym_initializers_repeat1,
      ACTIONS(772), 2,
        anon_sym_RPAREN,
        anon_sym_RBRACE,
    [12999] = 5,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1102), 1,
        anon_sym_STAR,
      ACTIONS(1104), 1,
        anon_sym_BANG,
      ACTIONS(1108), 1,
        anon_sym_LBRACK,
      ACTIONS(1204), 1,
        sym_identifier,
    [13015] = 4,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1195), 1,
        anon_sym_DQUOTE_DQUOTE_DQUOTE,
      STATE(310), 1,
        aux_sym__multiline_string_literal_repeat1,
      ACTIONS(1206), 2,
        aux_sym__multiline_string_literal_token1,
        sym_escape_sequence,
    [13029] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1161), 1,
        sym_const_identifier,
      ACTIONS(1208), 1,
        anon_sym_RBRACE,
      STATE(363), 1,
        sym_enumerator,
    [13042] = 4,
      ACTIONS(1171), 1,
        anon_sym_BQUOTE,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1210), 1,
        aux_sym__raw_string_literal_token1,
      STATE(326), 1,
        aux_sym__raw_string_literal_repeat1,
    [13055] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1161), 1,
        sym_const_identifier,
      ACTIONS(1212), 1,
        anon_sym_RBRACE,
      STATE(363), 1,
        sym_enumerator,
    [13068] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1214), 3,
        anon_sym_SEMI,
        anon_sym_LBRACE,
        anon_sym_AT,
    [13077] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1216), 3,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13086] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1212), 1,
        anon_sym_RBRACE,
      ACTIONS(1218), 1,
        anon_sym_COMMA,
      STATE(325), 1,
        aux_sym_enumerators_repeat1,
    [13099] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1220), 1,
        anon_sym_LPAREN,
      STATE(19), 2,
        sym_parenthesized_declaration,
        sym_parenthesized_expression,
    [13110] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1222), 1,
        anon_sym_COMMA,
      ACTIONS(1224), 1,
        anon_sym_RBRACE,
      STATE(319), 1,
        aux_sym_enumerators_repeat1,
    [13123] = 4,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1195), 1,
        anon_sym_BQUOTE,
      ACTIONS(1226), 1,
        aux_sym__raw_string_literal_token1,
      STATE(315), 1,
        aux_sym__raw_string_literal_repeat1,
    [13136] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1230), 1,
        anon_sym_EQ,
      ACTIONS(1228), 2,
        anon_sym_COMMA,
        anon_sym_RBRACE,
    [13147] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1232), 3,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13156] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1234), 1,
        anon_sym_COMMA,
      ACTIONS(1237), 1,
        anon_sym_RBRACE,
      STATE(325), 1,
        aux_sym_enumerators_repeat1,
    [13169] = 4,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1239), 1,
        anon_sym_BQUOTE,
      ACTIONS(1241), 1,
        aux_sym__raw_string_literal_token1,
      STATE(326), 1,
        aux_sym__raw_string_literal_repeat1,
    [13182] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(712), 1,
        anon_sym_RBRACE,
      ACTIONS(1244), 1,
        anon_sym_COMMA,
      STATE(311), 1,
        aux_sym_initializers_repeat1,
    [13195] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1220), 1,
        anon_sym_LPAREN,
      STATE(17), 2,
        sym_parenthesized_declaration,
        sym_parenthesized_expression,
    [13206] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1246), 1,
        anon_sym_RPAREN,
      ACTIONS(1248), 1,
        anon_sym_COMMA,
      STATE(335), 1,
        aux_sym_parameters_repeat1,
    [13219] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1252), 1,
        anon_sym_EQ,
      ACTIONS(1250), 2,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13230] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1254), 3,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13239] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1256), 3,
        anon_sym_SEMI,
        anon_sym_LBRACE,
        anon_sym_AT,
    [13248] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1260), 1,
        anon_sym_RBRACK,
      ACTIONS(1258), 2,
        sym_integer_literal,
        anon_sym_STAR,
    [13259] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1262), 3,
        anon_sym_SEMI,
        anon_sym_LBRACE,
        anon_sym_AT,
    [13268] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1248), 1,
        anon_sym_COMMA,
      ACTIONS(1264), 1,
        anon_sym_RPAREN,
      STATE(340), 1,
        aux_sym_parameters_repeat1,
    [13281] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1266), 3,
        anon_sym_SEMI,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13290] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1155), 1,
        anon_sym_GT,
      ACTIONS(1268), 1,
        anon_sym_COMMA,
      STATE(337), 1,
        aux_sym_type_parameters_repeat1,
    [13303] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1124), 1,
        anon_sym_COMMA,
      ACTIONS(1271), 1,
        anon_sym_GT,
      STATE(337), 1,
        aux_sym_type_parameters_repeat1,
    [13316] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(728), 1,
        anon_sym_COMMA,
      ACTIONS(1273), 1,
        anon_sym_RPAREN,
      STATE(311), 1,
        aux_sym_initializers_repeat1,
    [13329] = 4,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1275), 1,
        anon_sym_RPAREN,
      ACTIONS(1277), 1,
        anon_sym_COMMA,
      STATE(340), 1,
        aux_sym_parameters_repeat1,
    [13342] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1280), 3,
        anon_sym_SEMI,
        anon_sym_LBRACE,
        anon_sym_AT,
    [13351] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1139), 1,
        anon_sym_LPAREN,
      STATE(296), 1,
        sym_parameters,
    [13361] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1100), 1,
        anon_sym_LBRACE,
      STATE(55), 1,
        sym_enumerators,
    [13371] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(185), 1,
        anon_sym_LBRACE,
      STATE(90), 1,
        sym_compound_statement,
    [13381] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1282), 2,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13389] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1139), 1,
        anon_sym_LPAREN,
      STATE(286), 1,
        sym_parameters,
    [13399] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1284), 1,
        anon_sym_RPAREN,
      ACTIONS(1286), 1,
        anon_sym_EQ,
    [13409] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1288), 1,
        sym_identifier,
      STATE(33), 1,
        sym_scoped_identifier,
    [13419] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1100), 1,
        anon_sym_LBRACE,
      STATE(56), 1,
        sym_enumerators,
    [13429] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(185), 1,
        anon_sym_LBRACE,
      STATE(46), 1,
        sym_compound_statement,
    [13439] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1139), 1,
        anon_sym_LPAREN,
      STATE(290), 1,
        sym_parameters,
    [13449] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1128), 1,
        anon_sym_LBRACE,
      STATE(58), 1,
        sym_field_declarations,
    [13459] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1161), 1,
        sym_const_identifier,
      STATE(363), 1,
        sym_enumerator,
    [13469] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1290), 1,
        anon_sym_SEMI,
      ACTIONS(1292), 1,
        anon_sym_EQ,
    [13479] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1128), 1,
        anon_sym_LBRACE,
      STATE(60), 1,
        sym_field_declarations,
    [13489] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1294), 1,
        anon_sym_LPAREN,
      STATE(27), 1,
        sym_parenthesized_expression,
    [13499] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1296), 1,
        sym_identifier,
      STATE(37), 1,
        sym_scoped_identifier,
    [13509] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1298), 1,
        sym_identifier,
      STATE(303), 1,
        sym_scoped_identifier,
    [13519] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(850), 2,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13527] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1139), 1,
        anon_sym_LPAREN,
      STATE(279), 1,
        sym_parameters,
    [13537] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1300), 2,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13545] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1112), 1,
        anon_sym_LBRACE,
      STATE(256), 1,
        sym_field_declarations,
    [13555] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1237), 2,
        anon_sym_COMMA,
        anon_sym_RBRACE,
    [13563] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1294), 1,
        anon_sym_LPAREN,
      STATE(18), 1,
        sym_parenthesized_expression,
    [13573] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1302), 1,
        sym_identifier,
      ACTIONS(1304), 1,
        sym_type_identifier,
    [13583] = 2,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1306), 2,
        aux_sym_char_literal_token1,
        sym_escape_sequence,
    [13591] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1308), 1,
        sym_identifier,
      ACTIONS(1310), 1,
        sym_type_identifier,
    [13601] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1100), 1,
        anon_sym_LBRACE,
      STATE(38), 1,
        sym_enumerators,
    [13611] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1112), 1,
        anon_sym_LBRACE,
      STATE(253), 1,
        sym_field_declarations,
    [13621] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1112), 1,
        anon_sym_LBRACE,
      STATE(262), 1,
        sym_field_declarations,
    [13631] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1275), 2,
        anon_sym_RPAREN,
        anon_sym_COMMA,
    [13639] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(914), 1,
        anon_sym_COLON_COLON,
      ACTIONS(1312), 1,
        anon_sym_EQ,
    [13649] = 3,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1112), 1,
        anon_sym_LBRACE,
      STATE(255), 1,
        sym_field_declarations,
    [13659] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1314), 1,
        anon_sym_SEMI,
    [13666] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1316), 1,
        anon_sym_EQ,
    [13673] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1318), 1,
        anon_sym_EQ,
    [13680] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1320), 1,
        sym_identifier,
    [13687] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1322), 1,
        anon_sym_EQ,
    [13694] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1324), 1,
        anon_sym_SEMI,
    [13701] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1302), 1,
        sym_identifier,
    [13708] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1326), 1,
        anon_sym_SEMI,
    [13715] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1328), 1,
        sym_identifier,
    [13722] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(914), 1,
        anon_sym_COLON_COLON,
    [13729] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1330), 1,
        anon_sym_DQUOTE,
    [13736] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1332), 1,
        anon_sym_DQUOTE,
    [13743] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1334), 1,
        anon_sym_DOT,
    [13750] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(942), 1,
        anon_sym_RPAREN,
    [13757] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(924), 1,
        anon_sym_SEMI,
    [13764] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1336), 1,
        anon_sym_SQUOTE,
    [13771] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1338), 1,
        sym_identifier,
    [13778] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1340), 1,
        anon_sym_DOT,
    [13785] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(928), 1,
        anon_sym_SEMI,
    [13792] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1342), 1,
        sym_identifier,
    [13799] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1130), 1,
        anon_sym_SEMI,
    [13806] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1344), 1,
        ts_builtin_sym_end,
    [13813] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1346), 1,
        sym_type_identifier,
    [13820] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1348), 1,
        sym_type_identifier,
    [13827] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1350), 1,
        sym_type_identifier,
    [13834] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1352), 1,
        sym_type_identifier,
    [13841] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1224), 1,
        anon_sym_RBRACE,
    [13848] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1354), 1,
        anon_sym_fn,
    [13855] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(754), 1,
        anon_sym_RBRACE,
    [13862] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1356), 1,
        anon_sym_SEMI,
    [13869] = 2,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1358), 1,
        aux_sym__base64_string_literal_token1,
    [13876] = 2,
      ACTIONS(1175), 1,
        sym_comment,
      ACTIONS(1360), 1,
        aux_sym__hex_string_literal_token1,
    [13883] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1362), 1,
        anon_sym_SEMI,
    [13890] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1364), 1,
        sym_identifier,
    [13897] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1366), 1,
        sym_identifier,
    [13904] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(916), 1,
        anon_sym_SEMI,
    [13911] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1169), 1,
        anon_sym_SEMI,
    [13918] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1368), 1,
        anon_sym_LPAREN,
    [13925] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1370), 1,
        anon_sym_RBRACK,
    [13932] = 2,
      ACTIONS(3), 1,
        sym_comment,
      ACTIONS(1372), 1,
        anon_sym_LPAREN,
  };
  
  static const uint32_t ts_small_parse_table_map[] = {
    [SMALL_STATE(92)] = 0,
    [SMALL_STATE(93)] = 71,
    [SMALL_STATE(94)] = 142,
    [SMALL_STATE(95)] = 213,
    [SMALL_STATE(96)] = 283,
    [SMALL_STATE(97)] = 355,
    [SMALL_STATE(98)] = 421,
    [SMALL_STATE(99)] = 501,
    [SMALL_STATE(100)] = 581,
    [SMALL_STATE(101)] = 661,
    [SMALL_STATE(102)] = 731,
    [SMALL_STATE(103)] = 811,
    [SMALL_STATE(104)] = 875,
    [SMALL_STATE(105)] = 955,
    [SMALL_STATE(106)] = 1033,
    [SMALL_STATE(107)] = 1097,
    [SMALL_STATE(108)] = 1165,
    [SMALL_STATE(109)] = 1241,
    [SMALL_STATE(110)] = 1328,
    [SMALL_STATE(111)] = 1391,
    [SMALL_STATE(112)] = 1468,
    [SMALL_STATE(113)] = 1545,
    [SMALL_STATE(114)] = 1622,
    [SMALL_STATE(115)] = 1683,
    [SMALL_STATE(116)] = 1770,
    [SMALL_STATE(117)] = 1857,
    [SMALL_STATE(118)] = 1944,
    [SMALL_STATE(119)] = 2031,
    [SMALL_STATE(120)] = 2108,
    [SMALL_STATE(121)] = 2159,
    [SMALL_STATE(122)] = 2246,
    [SMALL_STATE(123)] = 2323,
    [SMALL_STATE(124)] = 2390,
    [SMALL_STATE(125)] = 2451,
    [SMALL_STATE(126)] = 2516,
    [SMALL_STATE(127)] = 2589,
    [SMALL_STATE(128)] = 2664,
    [SMALL_STATE(129)] = 2733,
    [SMALL_STATE(130)] = 2783,
    [SMALL_STATE(131)] = 2867,
    [SMALL_STATE(132)] = 2917,
    [SMALL_STATE(133)] = 2967,
    [SMALL_STATE(134)] = 3017,
    [SMALL_STATE(135)] = 3067,
    [SMALL_STATE(136)] = 3151,
    [SMALL_STATE(137)] = 3235,
    [SMALL_STATE(138)] = 3319,
    [SMALL_STATE(139)] = 3403,
    [SMALL_STATE(140)] = 3453,
    [SMALL_STATE(141)] = 3539,
    [SMALL_STATE(142)] = 3623,
    [SMALL_STATE(143)] = 3707,
    [SMALL_STATE(144)] = 3757,
    [SMALL_STATE(145)] = 3843,
    [SMALL_STATE(146)] = 3893,
    [SMALL_STATE(147)] = 3943,
    [SMALL_STATE(148)] = 3993,
    [SMALL_STATE(149)] = 4043,
    [SMALL_STATE(150)] = 4125,
    [SMALL_STATE(151)] = 4175,
    [SMALL_STATE(152)] = 4259,
    [SMALL_STATE(153)] = 4343,
    [SMALL_STATE(154)] = 4427,
    [SMALL_STATE(155)] = 4477,
    [SMALL_STATE(156)] = 4561,
    [SMALL_STATE(157)] = 4645,
    [SMALL_STATE(158)] = 4729,
    [SMALL_STATE(159)] = 4813,
    [SMALL_STATE(160)] = 4863,
    [SMALL_STATE(161)] = 4913,
    [SMALL_STATE(162)] = 4997,
    [SMALL_STATE(163)] = 5081,
    [SMALL_STATE(164)] = 5162,
    [SMALL_STATE(165)] = 5243,
    [SMALL_STATE(166)] = 5324,
    [SMALL_STATE(167)] = 5405,
    [SMALL_STATE(168)] = 5486,
    [SMALL_STATE(169)] = 5567,
    [SMALL_STATE(170)] = 5648,
    [SMALL_STATE(171)] = 5729,
    [SMALL_STATE(172)] = 5810,
    [SMALL_STATE(173)] = 5891,
    [SMALL_STATE(174)] = 5972,
    [SMALL_STATE(175)] = 6053,
    [SMALL_STATE(176)] = 6132,
    [SMALL_STATE(177)] = 6215,
    [SMALL_STATE(178)] = 6296,
    [SMALL_STATE(179)] = 6377,
    [SMALL_STATE(180)] = 6460,
    [SMALL_STATE(181)] = 6541,
    [SMALL_STATE(182)] = 6622,
    [SMALL_STATE(183)] = 6703,
    [SMALL_STATE(184)] = 6784,
    [SMALL_STATE(185)] = 6865,
    [SMALL_STATE(186)] = 6945,
    [SMALL_STATE(187)] = 7025,
    [SMALL_STATE(188)] = 7105,
    [SMALL_STATE(189)] = 7185,
    [SMALL_STATE(190)] = 7265,
    [SMALL_STATE(191)] = 7345,
    [SMALL_STATE(192)] = 7425,
    [SMALL_STATE(193)] = 7505,
    [SMALL_STATE(194)] = 7585,
    [SMALL_STATE(195)] = 7665,
    [SMALL_STATE(196)] = 7745,
    [SMALL_STATE(197)] = 7825,
    [SMALL_STATE(198)] = 7903,
    [SMALL_STATE(199)] = 7983,
    [SMALL_STATE(200)] = 8063,
    [SMALL_STATE(201)] = 8143,
    [SMALL_STATE(202)] = 8223,
    [SMALL_STATE(203)] = 8303,
    [SMALL_STATE(204)] = 8381,
    [SMALL_STATE(205)] = 8461,
    [SMALL_STATE(206)] = 8541,
    [SMALL_STATE(207)] = 8621,
    [SMALL_STATE(208)] = 8701,
    [SMALL_STATE(209)] = 8781,
    [SMALL_STATE(210)] = 8861,
    [SMALL_STATE(211)] = 8938,
    [SMALL_STATE(212)] = 9015,
    [SMALL_STATE(213)] = 9092,
    [SMALL_STATE(214)] = 9169,
    [SMALL_STATE(215)] = 9246,
    [SMALL_STATE(216)] = 9323,
    [SMALL_STATE(217)] = 9400,
    [SMALL_STATE(218)] = 9477,
    [SMALL_STATE(219)] = 9554,
    [SMALL_STATE(220)] = 9631,
    [SMALL_STATE(221)] = 9708,
    [SMALL_STATE(222)] = 9785,
    [SMALL_STATE(223)] = 9862,
    [SMALL_STATE(224)] = 9939,
    [SMALL_STATE(225)] = 10016,
    [SMALL_STATE(226)] = 10093,
    [SMALL_STATE(227)] = 10170,
    [SMALL_STATE(228)] = 10247,
    [SMALL_STATE(229)] = 10324,
    [SMALL_STATE(230)] = 10401,
    [SMALL_STATE(231)] = 10478,
    [SMALL_STATE(232)] = 10555,
    [SMALL_STATE(233)] = 10632,
    [SMALL_STATE(234)] = 10709,
    [SMALL_STATE(235)] = 10786,
    [SMALL_STATE(236)] = 10860,
    [SMALL_STATE(237)] = 10920,
    [SMALL_STATE(238)] = 10980,
    [SMALL_STATE(239)] = 11040,
    [SMALL_STATE(240)] = 11100,
    [SMALL_STATE(241)] = 11160,
    [SMALL_STATE(242)] = 11212,
    [SMALL_STATE(243)] = 11261,
    [SMALL_STATE(244)] = 11314,
    [SMALL_STATE(245)] = 11359,
    [SMALL_STATE(246)] = 11401,
    [SMALL_STATE(247)] = 11443,
    [SMALL_STATE(248)] = 11485,
    [SMALL_STATE(249)] = 11527,
    [SMALL_STATE(250)] = 11569,
    [SMALL_STATE(251)] = 11611,
    [SMALL_STATE(252)] = 11653,
    [SMALL_STATE(253)] = 11695,
    [SMALL_STATE(254)] = 11729,
    [SMALL_STATE(255)] = 11763,
    [SMALL_STATE(256)] = 11797,
    [SMALL_STATE(257)] = 11831,
    [SMALL_STATE(258)] = 11865,
    [SMALL_STATE(259)] = 11899,
    [SMALL_STATE(260)] = 11933,
    [SMALL_STATE(261)] = 11967,
    [SMALL_STATE(262)] = 12001,
    [SMALL_STATE(263)] = 12035,
    [SMALL_STATE(264)] = 12069,
    [SMALL_STATE(265)] = 12103,
    [SMALL_STATE(266)] = 12137,
    [SMALL_STATE(267)] = 12171,
    [SMALL_STATE(268)] = 12193,
    [SMALL_STATE(269)] = 12214,
    [SMALL_STATE(270)] = 12235,
    [SMALL_STATE(271)] = 12256,
    [SMALL_STATE(272)] = 12277,
    [SMALL_STATE(273)] = 12298,
    [SMALL_STATE(274)] = 12327,
    [SMALL_STATE(275)] = 12350,
    [SMALL_STATE(276)] = 12373,
    [SMALL_STATE(277)] = 12396,
    [SMALL_STATE(278)] = 12419,
    [SMALL_STATE(279)] = 12441,
    [SMALL_STATE(280)] = 12461,
    [SMALL_STATE(281)] = 12481,
    [SMALL_STATE(282)] = 12501,
    [SMALL_STATE(283)] = 12521,
    [SMALL_STATE(284)] = 12541,
    [SMALL_STATE(285)] = 12561,
    [SMALL_STATE(286)] = 12583,
    [SMALL_STATE(287)] = 12603,
    [SMALL_STATE(288)] = 12618,
    [SMALL_STATE(289)] = 12635,
    [SMALL_STATE(290)] = 12654,
    [SMALL_STATE(291)] = 12671,
    [SMALL_STATE(292)] = 12690,
    [SMALL_STATE(293)] = 12707,
    [SMALL_STATE(294)] = 12726,
    [SMALL_STATE(295)] = 12741,
    [SMALL_STATE(296)] = 12758,
    [SMALL_STATE(297)] = 12775,
    [SMALL_STATE(298)] = 12791,
    [SMALL_STATE(299)] = 12807,
    [SMALL_STATE(300)] = 12823,
    [SMALL_STATE(301)] = 12839,
    [SMALL_STATE(302)] = 12853,
    [SMALL_STATE(303)] = 12865,
    [SMALL_STATE(304)] = 12881,
    [SMALL_STATE(305)] = 12897,
    [SMALL_STATE(306)] = 12913,
    [SMALL_STATE(307)] = 12929,
    [SMALL_STATE(308)] = 12943,
    [SMALL_STATE(309)] = 12957,
    [SMALL_STATE(310)] = 12971,
    [SMALL_STATE(311)] = 12985,
    [SMALL_STATE(312)] = 12999,
    [SMALL_STATE(313)] = 13015,
    [SMALL_STATE(314)] = 13029,
    [SMALL_STATE(315)] = 13042,
    [SMALL_STATE(316)] = 13055,
    [SMALL_STATE(317)] = 13068,
    [SMALL_STATE(318)] = 13077,
    [SMALL_STATE(319)] = 13086,
    [SMALL_STATE(320)] = 13099,
    [SMALL_STATE(321)] = 13110,
    [SMALL_STATE(322)] = 13123,
    [SMALL_STATE(323)] = 13136,
    [SMALL_STATE(324)] = 13147,
    [SMALL_STATE(325)] = 13156,
    [SMALL_STATE(326)] = 13169,
    [SMALL_STATE(327)] = 13182,
    [SMALL_STATE(328)] = 13195,
    [SMALL_STATE(329)] = 13206,
    [SMALL_STATE(330)] = 13219,
    [SMALL_STATE(331)] = 13230,
    [SMALL_STATE(332)] = 13239,
    [SMALL_STATE(333)] = 13248,
    [SMALL_STATE(334)] = 13259,
    [SMALL_STATE(335)] = 13268,
    [SMALL_STATE(336)] = 13281,
    [SMALL_STATE(337)] = 13290,
    [SMALL_STATE(338)] = 13303,
    [SMALL_STATE(339)] = 13316,
    [SMALL_STATE(340)] = 13329,
    [SMALL_STATE(341)] = 13342,
    [SMALL_STATE(342)] = 13351,
    [SMALL_STATE(343)] = 13361,
    [SMALL_STATE(344)] = 13371,
    [SMALL_STATE(345)] = 13381,
    [SMALL_STATE(346)] = 13389,
    [SMALL_STATE(347)] = 13399,
    [SMALL_STATE(348)] = 13409,
    [SMALL_STATE(349)] = 13419,
    [SMALL_STATE(350)] = 13429,
    [SMALL_STATE(351)] = 13439,
    [SMALL_STATE(352)] = 13449,
    [SMALL_STATE(353)] = 13459,
    [SMALL_STATE(354)] = 13469,
    [SMALL_STATE(355)] = 13479,
    [SMALL_STATE(356)] = 13489,
    [SMALL_STATE(357)] = 13499,
    [SMALL_STATE(358)] = 13509,
    [SMALL_STATE(359)] = 13519,
    [SMALL_STATE(360)] = 13527,
    [SMALL_STATE(361)] = 13537,
    [SMALL_STATE(362)] = 13545,
    [SMALL_STATE(363)] = 13555,
    [SMALL_STATE(364)] = 13563,
    [SMALL_STATE(365)] = 13573,
    [SMALL_STATE(366)] = 13583,
    [SMALL_STATE(367)] = 13591,
    [SMALL_STATE(368)] = 13601,
    [SMALL_STATE(369)] = 13611,
    [SMALL_STATE(370)] = 13621,
    [SMALL_STATE(371)] = 13631,
    [SMALL_STATE(372)] = 13639,
    [SMALL_STATE(373)] = 13649,
    [SMALL_STATE(374)] = 13659,
    [SMALL_STATE(375)] = 13666,
    [SMALL_STATE(376)] = 13673,
    [SMALL_STATE(377)] = 13680,
    [SMALL_STATE(378)] = 13687,
    [SMALL_STATE(379)] = 13694,
    [SMALL_STATE(380)] = 13701,
    [SMALL_STATE(381)] = 13708,
    [SMALL_STATE(382)] = 13715,
    [SMALL_STATE(383)] = 13722,
    [SMALL_STATE(384)] = 13729,
    [SMALL_STATE(385)] = 13736,
    [SMALL_STATE(386)] = 13743,
    [SMALL_STATE(387)] = 13750,
    [SMALL_STATE(388)] = 13757,
    [SMALL_STATE(389)] = 13764,
    [SMALL_STATE(390)] = 13771,
    [SMALL_STATE(391)] = 13778,
    [SMALL_STATE(392)] = 13785,
    [SMALL_STATE(393)] = 13792,
    [SMALL_STATE(394)] = 13799,
    [SMALL_STATE(395)] = 13806,
    [SMALL_STATE(396)] = 13813,
    [SMALL_STATE(397)] = 13820,
    [SMALL_STATE(398)] = 13827,
    [SMALL_STATE(399)] = 13834,
    [SMALL_STATE(400)] = 13841,
    [SMALL_STATE(401)] = 13848,
    [SMALL_STATE(402)] = 13855,
    [SMALL_STATE(403)] = 13862,
    [SMALL_STATE(404)] = 13869,
    [SMALL_STATE(405)] = 13876,
    [SMALL_STATE(406)] = 13883,
    [SMALL_STATE(407)] = 13890,
    [SMALL_STATE(408)] = 13897,
    [SMALL_STATE(409)] = 13904,
    [SMALL_STATE(410)] = 13911,
    [SMALL_STATE(411)] = 13918,
    [SMALL_STATE(412)] = 13925,
    [SMALL_STATE(413)] = 13932,
  };
  
  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_source_file, 0),
    [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202),
    [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
    [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156),
    [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(364),
    [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320),
    [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
    [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411),
    [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9),
    [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297),
    [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95),
    [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143),
    [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366),
    [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309),
    [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322),
    [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313),
    [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405),
    [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404),
    [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231),
    [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167),
    [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
    [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
    [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165),
    [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181),
    [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268),
    [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248),
    [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348),
    [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(357),
    [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401),
    [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(245),
    [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(367),
    [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399),
    [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398),
    [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397),
    [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(396),
    [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
    [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
    [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
    [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(202),
    [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3),
    [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(156),
    [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(364),
    [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(320),
    [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(178),
    [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(411),
    [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(9),
    [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(297),
    [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(95),
    [111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(143),
    [114] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(366),
    [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(309),
    [120] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(322),
    [123] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(313),
    [126] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(405),
    [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(404),
    [132] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(231),
    [135] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(167),
    [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(167),
    [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(31),
    [144] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(165),
    [147] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(181),
    [150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(268),
    [153] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(248),
    [156] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(348),
    [159] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(357),
    [162] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(401),
    [165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(245),
    [168] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(367),
    [171] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(399),
    [174] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(398),
    [177] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(397),
    [180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(396),
    [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
    [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
    [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
    [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(356),
    [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(328),
    [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413),
    [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16),
    [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
    [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
    [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
    [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
    [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
    [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
    [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
    [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
    [213] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(202),
    [216] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(13),
    [219] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(156),
    [222] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(364),
    [225] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(320),
    [228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(178),
    [231] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(411),
    [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(9),
    [237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(297),
    [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2),
    [242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(143),
    [245] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(366),
    [248] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(309),
    [251] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(322),
    [254] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(313),
    [257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(405),
    [260] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(404),
    [263] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(231),
    [266] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(167),
    [269] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(167),
    [272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(31),
    [275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(165),
    [278] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(181),
    [281] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(268),
    [284] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(248),
    [287] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(348),
    [290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(357),
    [293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(401),
    [296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(245),
    [299] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(367),
    [302] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(399),
    [305] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(398),
    [308] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(397),
    [311] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(396),
    [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
    [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
    [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
    [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
    [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
    [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
    [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
    [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
    [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104),
    [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 1),
    [334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111),
    [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 1),
    [338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100),
    [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 2),
    [342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119),
    [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 2),
    [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_declaration, 2, .production_id = 2),
    [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_declaration, 2, .production_id = 2),
    [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377),
    [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244),
    [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_scoped_identifier, 3, .production_id = 5),
    [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_scoped_identifier, 3, .production_id = 5),
    [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(224),
    [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
    [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235),
    [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
    [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2),
    [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 2),
    [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, .production_id = 28),
    [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 6, .production_id = 28),
    [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 33),
    [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 33),
    [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerators, 3),
    [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerators, 3),
    [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declarations, 3),
    [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declarations, 3),
    [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, .production_id = 20),
    [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 5, .production_id = 20),
    [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_define_declaration, 5),
    [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_define_declaration, 5),
    [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 5),
    [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_declaration, 5),
    [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 3),
    [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_parameters, 3),
    [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 22),
    [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 22),
    [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 4),
    [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_parameters, 4),
    [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 18),
    [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 18),
    [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 23),
    [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 23),
    [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 6, .production_id = 16),
    [420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_declaration, 6, .production_id = 16),
    [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_define_declaration, 6),
    [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_define_declaration, 6),
    [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 5, .production_id = 17),
    [428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declaration, 5, .production_id = 17),
    [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 39),
    [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 39),
    [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 15),
    [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 15),
    [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_declaration, 4, .production_id = 13),
    [440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_declaration, 4, .production_id = 13),
    [442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 4, .production_id = 13),
    [444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 4, .production_id = 13),
    [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerators, 2),
    [448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerators, 2),
    [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_declaration, 4, .production_id = 13),
    [452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_declaration, 4, .production_id = 13),
    [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
    [456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
    [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, .production_id = 13),
    [460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 4, .production_id = 13),
    [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerators, 4),
    [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerators, 4),
    [466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188),
    [468] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312),
    [470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(211),
    [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declarations, 2),
    [474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declarations, 2),
    [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, .production_id = 21),
    [478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, .production_id = 21),
    [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_defer_statement, 2),
    [482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_defer_statement, 2),
    [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2),
    [486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2),
    [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, .production_id = 4),
    [490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, .production_id = 4),
    [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 30),
    [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 30),
    [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 31),
    [498] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 31),
    [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, .production_id = 3),
    [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, .production_id = 3),
    [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 32),
    [506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 32),
    [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 2),
    [510] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_parameters, 2),
    [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 43),
    [514] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 43),
    [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3),
    [518] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3),
    [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 34),
    [522] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 34),
    [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_declaration, 3, .production_id = 11),
    [526] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_declaration, 3, .production_id = 11),
    [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 3, .production_id = 11),
    [530] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 3, .production_id = 11),
    [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_declaration, 3, .production_id = 11),
    [534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_declaration, 3, .production_id = 11),
    [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerators, 5),
    [538] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerators, 5),
    [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 3, .production_id = 11),
    [542] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 3, .production_id = 11),
    [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 37),
    [546] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 37),
    [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 38),
    [550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 38),
    [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_declaration, 3, .production_id = 10),
    [554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_declaration, 3, .production_id = 10),
    [556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14),
    [558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3),
    [560] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3),
    [562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2),
    [564] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2),
    [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 41),
    [568] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 41),
    [570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 3, .production_id = 9),
    [572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declaration, 3, .production_id = 9),
    [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, .production_id = 44),
    [576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 9, .production_id = 44),
    [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 40),
    [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 40),
    [582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2),
    [584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
    [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3),
    [588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declaration, 6, .production_id = 29),
    [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declaration, 6, .production_id = 29),
    [592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declaration, 4, .production_id = 16),
    [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declaration, 4, .production_id = 16),
    [596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visiblitiy_modifier, 1),
    [598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visiblitiy_modifier, 1),
    [600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7),
    [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
    [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380),
    [606] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 7),
    [608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(169),
    [610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171),
    [612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174),
    [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
    [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170),
    [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168),
    [620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393),
    [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_expression, 2),
    [624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_expression, 2),
    [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183),
    [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
    [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
    [632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172),
    [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 7),
    [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 7),
    [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 3),
    [640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 3),
    [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_expression, 2),
    [644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_expression, 2),
    [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2),
    [648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2),
    [650] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195),
    [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118),
    [654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223),
    [656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(205),
    [658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216),
    [660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189),
    [662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221),
    [664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166),
    [666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197),
    [668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144),
    [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402),
    [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318),
    [674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176),
    [676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193),
    [678] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234),
    [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4),
    [682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4),
    [684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201),
    [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
    [688] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225),
    [690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 4, .production_id = 12),
    [692] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 4, .production_id = 12),
    [694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3),
    [696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3),
    [698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199),
    [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
    [702] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233),
    [704] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191),
    [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
    [708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(222),
    [710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149),
    [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336),
    [714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175),
    [716] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192),
    [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
    [720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220),
    [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2),
    [724] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2),
    [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
    [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180),
    [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173),
    [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
    [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
    [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207),
    [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
    [740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213),
    [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198),
    [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152),
    [746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229),
    [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1),
    [750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1),
    [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
    [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324),
    [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, .production_id = 8),
    [758] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, .production_id = 8),
    [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, .production_id = 1),
    [762] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, .production_id = 1),
    [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3),
    [766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3),
    [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3),
    [770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3),
    [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializers_repeat1, 2),
    [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__hex_string_literal, 3),
    [776] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__hex_string_literal, 3),
    [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331),
    [780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187),
    [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
    [784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214),
    [786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185),
    [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
    [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218),
    [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__base64_string_literal, 3),
    [794] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__base64_string_literal, 3),
    [796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200),
    [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
    [800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(230),
    [802] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186),
    [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
    [806] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215),
    [808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194),
    [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
    [812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232),
    [814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196),
    [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
    [818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226),
    [820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 1),
    [822] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 1),
    [824] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2),
    [826] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2),
    [828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140),
    [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
    [832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179),
    [834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206),
    [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
    [838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219),
    [840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209),
    [842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217),
    [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 3, .production_id = 27),
    [846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102),
    [848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112),
    [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4),
    [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106),
    [854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114),
    [856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190),
    [858] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210),
    [860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101),
    [862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123),
    [864] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97),
    [866] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110),
    [868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103),
    [870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124),
    [872] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
    [874] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128),
    [876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99),
    [878] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122),
    [880] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107),
    [882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125),
    [884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105),
    [886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127),
    [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208),
    [890] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212),
    [892] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98),
    [894] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113),
    [896] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164),
    [898] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203),
    [900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108),
    [902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126),
    [904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204),
    [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
    [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
    [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
    [912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
    [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365),
    [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
    [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
    [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
    [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
    [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
    [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
    [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
    [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
    [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
    [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153),
    [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158),
    [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
    [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
    [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
    [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
    [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
    [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134),
    [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334),
    [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
    [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
    [956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(383),
    [958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306),
    [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
    [962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(274),
    [964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277),
    [966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246),
    [968] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_field_declarations_repeat1, 2), SHIFT_REPEAT(383),
    [971] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_field_declarations_repeat1, 2), SHIFT_REPEAT(306),
    [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declarations_repeat1, 2),
    [976] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_field_declarations_repeat1, 2), SHIFT_REPEAT(268),
    [979] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_field_declarations_repeat1, 2), SHIFT_REPEAT(274),
    [982] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_field_declarations_repeat1, 2), SHIFT_REPEAT(277),
    [985] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_field_declarations_repeat1, 2), SHIFT_REPEAT(246),
    [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266),
    [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
    [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
    [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317),
    [996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(276),
    [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361),
    [1000] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285),
    [1002] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252),
    [1004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250),
    [1006] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278),
    [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
    [1010] = {.entry = {.count = 1, .reusable = false}}, SHIFT(372),
    [1012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299),
    [1014] = {.entry = {.count = 1, .reusable = false}}, SHIFT(304),
    [1016] = {.entry = {.count = 1, .reusable = false}}, SHIFT(293),
    [1018] = {.entry = {.count = 1, .reusable = false}}, SHIFT(291),
    [1020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(295),
    [1022] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300),
    [1024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273),
    [1026] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289),
    [1028] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_union_declaration, 4, .production_id = 13),
    [1030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_union_declaration, 4, .production_id = 13),
    [1032] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, .production_id = 25),
    [1034] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, .production_id = 25),
    [1036] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_union_declaration, 3, .production_id = 26),
    [1038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_union_declaration, 3, .production_id = 26),
    [1040] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_struct_declaration, 3, .production_id = 26),
    [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_struct_declaration, 3, .production_id = 26),
    [1044] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_struct_declaration, 3, .production_id = 11),
    [1046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_struct_declaration, 3, .production_id = 11),
    [1048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_union_declaration, 3, .production_id = 11),
    [1050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_union_declaration, 3, .production_id = 11),
    [1052] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, .production_id = 35),
    [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, .production_id = 35),
    [1056] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_struct_declaration, 2, .production_id = 19),
    [1058] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_struct_declaration, 2, .production_id = 19),
    [1060] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_struct_declaration, 4, .production_id = 13),
    [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_struct_declaration, 4, .production_id = 13),
    [1064] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, .production_id = 36),
    [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, .production_id = 36),
    [1068] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_union_declaration, 2, .production_id = 19),
    [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_union_declaration, 2, .production_id = 19),
    [1072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, .production_id = 42),
    [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, .production_id = 42),
    [1076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_scoped_type_identifier, 3, .production_id = 6),
    [1078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_scoped_type_identifier, 3, .production_id = 6),
    [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1),
    [1082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1),
    [1084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 4),
    [1086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 4),
    [1088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type, 2, .dynamic_precedence = 1),
    [1090] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type, 2, .dynamic_precedence = 1),
    [1092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_failable_type, 2),
    [1094] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_failable_type, 2),
    [1096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3),
    [1098] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 3),
    [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298),
    [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270),
    [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271),
    [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382),
    [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333),
    [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284),
    [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
    [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251),
    [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330),
    [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1),
    [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407),
    [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283),
    [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249),
    [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
    [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
    [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
    [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributes_repeat1, 2),
    [1134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributes_repeat1, 2), SHIFT_REPEAT(382),
    [1137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263),
    [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241),
    [1141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
    [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360),
    [1145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(386),
    [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254),
    [1149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351),
    [1151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(391),
    [1153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributes, 1),
    [1155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2),
    [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
    [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354),
    [1161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323),
    [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400),
    [1165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
    [1167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375),
    [1169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
    [1171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148),
    [1173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(308),
    [1175] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
    [1177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2),
    [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
    [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
    [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292),
    [1185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__multiline_string_literal_repeat1, 2),
    [1187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__multiline_string_literal_repeat1, 2), SHIFT_REPEAT(307),
    [1190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2),
    [1192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2), SHIFT_REPEAT(308),
    [1195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160),
    [1197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301),
    [1199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307),
    [1201] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializers_repeat1, 2), SHIFT_REPEAT(180),
    [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347),
    [1206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310),
    [1208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
    [1210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326),
    [1212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
    [1214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2),
    [1216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializers, 2),
    [1218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314),
    [1220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
    [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316),
    [1224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
    [1226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315),
    [1228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 1, .production_id = 14),
    [1230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182),
    [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializers, 3),
    [1234] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enumerators_repeat1, 2), SHIFT_REPEAT(353),
    [1237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enumerators_repeat1, 2),
    [1239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__raw_string_literal_repeat1, 2),
    [1241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__raw_string_literal_repeat1, 2), SHIFT_REPEAT(326),
    [1244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
    [1246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332),
    [1248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
    [1250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2),
    [1252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
    [1254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializers, 5),
    [1256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3),
    [1258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412),
    [1260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272),
    [1262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 5),
    [1264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341),
    [1266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializers, 4),
    [1268] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2), SHIFT_REPEAT(249),
    [1271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
    [1273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
    [1275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2),
    [1277] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(242),
    [1280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4),
    [1282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 3),
    [1284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
    [1286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
    [1288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
    [1290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
    [1292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
    [1294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
    [1296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
    [1298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303),
    [1300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 1),
    [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
    [1304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267),
    [1306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(389),
    [1308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378),
    [1310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(376),
    [1312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109),
    [1314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_type, 3, .production_id = 24),
    [1316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
    [1318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243),
    [1320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
    [1322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358),
    [1324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
    [1326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265),
    [1328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302),
    [1330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154),
    [1332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150),
    [1334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390),
    [1336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
    [1338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346),
    [1340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408),
    [1342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
    [1344] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
    [1346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
    [1348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275),
    [1350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281),
    [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280),
    [1354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247),
    [1356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260),
    [1358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384),
    [1360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385),
    [1362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
    [1364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345),
    [1366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342),
    [1368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
    [1370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269),
    [1372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
  };
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  #ifdef _WIN32
  #define extern __declspec(dllexport)
  #endif
  
  extern const TSLanguage *tree_sitter_c3(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,
    };
    return &language;
  }
  #ifdef __cplusplus
  }
  #endif
  