#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 360
#define LARGE_STATE_COUNT 32
#define SYMBOL_COUNT 211
#define ALIAS_COUNT 0
#define TOKEN_COUNT 136
#define EXTERNAL_TOKEN_COUNT 1
#define FIELD_COUNT 13
#define MAX_ALIAS_SEQUENCE_LENGTH 8
#define PRODUCTION_ID_COUNT 18
enum {
sym_identifier = 1,
sym_line_comment = 2,
anon_sym_SEMI = 3,
anon_sym_EQ = 4,
anon_sym_let = 5,
anon_sym_override = 6,
anon_sym_LPAREN = 7,
anon_sym_COMMA = 8,
anon_sym_RPAREN = 9,
anon_sym_type = 10,
anon_sym_fn = 11,
anon_sym_DASH_GT = 12,
anon_sym_struct = 13,
anon_sym_LBRACE = 14,
anon_sym_RBRACE = 15,
anon_sym_enable = 16,
anon_sym_AT = 17,
anon_sym__ = 18,
anon_sym_PLUS_EQ = 19,
anon_sym_DASH_EQ = 20,
anon_sym_STAR_EQ = 21,
anon_sym_SLASH_EQ = 22,
anon_sym_PERCENT_EQ = 23,
anon_sym_AMP_EQ = 24,
anon_sym_PIPE_EQ = 25,
anon_sym_CARET_EQ = 26,
anon_sym_if = 27,
anon_sym_else = 28,
anon_sym_switch = 29,
anon_sym_case = 30,
anon_sym_COLON = 31,
anon_sym_default = 32,
anon_sym_fallthrough = 33,
anon_sym_loop = 34,
anon_sym_for = 35,
anon_sym_while = 36,
anon_sym_break = 37,
anon_sym_continue = 38,
anon_sym_continuing = 39,
anon_sym_return = 40,
anon_sym_discard = 41,
anon_sym_var = 42,
anon_sym_LT = 43,
anon_sym_GT = 44,
anon_sym_PLUS_PLUS = 45,
anon_sym_DASH_DASH = 46,
sym_int_literal = 47,
aux_sym_float_literal_token1 = 48,
aux_sym_float_literal_token2 = 49,
anon_sym_true = 50,
anon_sym_false = 51,
anon_sym_bool = 52,
anon_sym_u32 = 53,
anon_sym_i32 = 54,
anon_sym_f32 = 55,
anon_sym_f16 = 56,
anon_sym_array = 57,
anon_sym_ptr = 58,
anon_sym_sampler = 59,
anon_sym_sampler_comparison = 60,
anon_sym_texture_depth_2d = 61,
anon_sym_texture_depth_2d_array = 62,
anon_sym_texture_depth_cube = 63,
anon_sym_texture_depth_cube_array = 64,
anon_sym_texture_depth_multisampled_2d = 65,
anon_sym_texture_1d = 66,
anon_sym_texture_2d = 67,
anon_sym_texture_2d_array = 68,
anon_sym_texture_3d = 69,
anon_sym_texture_cube = 70,
anon_sym_texture_cube_array = 71,
anon_sym_texture_multisampled_2d = 72,
anon_sym_texture_storage_1d = 73,
anon_sym_texture_storage_2d = 74,
anon_sym_texture_storage_2d_array = 75,
anon_sym_texture_storage_3d = 76,
anon_sym_vec2 = 77,
anon_sym_vec3 = 78,
anon_sym_vec4 = 79,
anon_sym_mat2x2 = 80,
anon_sym_mat2x3 = 81,
anon_sym_mat2x4 = 82,
anon_sym_mat3x2 = 83,
anon_sym_mat3x3 = 84,
anon_sym_mat3x4 = 85,
anon_sym_mat4x2 = 86,
anon_sym_mat4x3 = 87,
anon_sym_mat4x4 = 88,
anon_sym_rgba8unorm = 89,
anon_sym_rgba8snorm = 90,
anon_sym_rgba8uint = 91,
anon_sym_rgba8sint = 92,
anon_sym_rgba16uint = 93,
anon_sym_rgba16sint = 94,
anon_sym_rgba16float = 95,
anon_sym_r32uint = 96,
anon_sym_r32sint = 97,
anon_sym_r32float = 98,
anon_sym_rg32uint = 99,
anon_sym_rg32sint = 100,
anon_sym_rg32float = 101,
anon_sym_rgba32uint = 102,
anon_sym_rgba32sint = 103,
anon_sym_rgba32float = 104,
anon_sym_function = 105,
anon_sym_private = 106,
anon_sym_workgroup = 107,
anon_sym_uniform = 108,
anon_sym_storage = 109,
anon_sym_read = 110,
anon_sym_write = 111,
anon_sym_read_write = 112,
anon_sym_bitcast = 113,
anon_sym_PIPE_PIPE = 114,
anon_sym_AMP_AMP = 115,
anon_sym_PIPE = 116,
anon_sym_CARET = 117,
anon_sym_AMP = 118,
anon_sym_EQ_EQ = 119,
anon_sym_BANG_EQ = 120,
anon_sym_LT_EQ = 121,
anon_sym_GT_EQ = 122,
anon_sym_LT_LT = 123,
anon_sym_GT_GT = 124,
anon_sym_PLUS = 125,
anon_sym_DASH = 126,
anon_sym_STAR = 127,
anon_sym_SLASH = 128,
anon_sym_PERCENT = 129,
anon_sym_BANG = 130,
anon_sym_TILDE = 131,
anon_sym_LBRACK = 132,
anon_sym_RBRACK = 133,
anon_sym_DOT = 134,
sym_block_comment = 135,
sym_source_file = 136,
sym__declaration = 137,
sym_global_variable_declaration = 138,
sym_global_constant_declaration = 139,
sym_type_alias_declaration = 140,
sym_const_expression = 141,
sym_function_declaration = 142,
sym_function_return_type_declaration = 143,
sym_struct_declaration = 144,
sym_struct_member = 145,
sym_enable_directive = 146,
sym_attribute = 147,
sym__literal_or_identifier = 148,
sym_parameter_list = 149,
sym_parameter = 150,
sym__statement = 151,
sym_compound_statement = 152,
sym_assignment_statement = 153,
sym_compound_assignment_operator = 154,
sym_if_statement = 155,
sym_else_statement = 156,
sym_switch_statement = 157,
sym_switch_body = 158,
sym_case_selectors = 159,
sym_case_compound_statement = 160,
sym_fallthrough_statement = 161,
sym_loop_statement = 162,
sym_for_statement = 163,
sym_for_header = 164,
sym_while_statement = 165,
sym_break_statement = 166,
sym_break_if_statement = 167,
sym_continue_statement = 168,
sym_continuing_statement = 169,
sym_continuing_compound_statement = 170,
sym_return_statement = 171,
sym_discard_statement = 172,
sym_variable_statement = 173,
sym_variable_declaration = 174,
sym_variable_qualifier = 175,
sym_variable_identifier_declaration = 176,
sym_increment_statement = 177,
sym_decrement_statement = 178,
sym__expression = 179,
sym_const_literal = 180,
sym_float_literal = 181,
sym_bool_literal = 182,
sym_parenthesized_expression = 183,
sym_type_constructor_or_function_call_expression = 184,
sym_type_declaration = 185,
sym__vec_prefix = 186,
sym__mat_prefix = 187,
sym_texel_format = 188,
sym_address_space = 189,
sym_access_mode = 190,
sym_argument_list_expression = 191,
sym_bitcast_expression = 192,
sym_binary_expression = 193,
sym_unary_expression = 194,
sym_postfix_expression = 195,
sym_subscript_expression = 196,
sym_lhs_expression = 197,
sym_composite_value_decomposition_expression = 198,
aux_sym_source_file_repeat1 = 199,
aux_sym_source_file_repeat2 = 200,
aux_sym_global_variable_declaration_repeat1 = 201,
aux_sym_const_expresssion_repeat1 = 202,
aux_sym_struct_declaration_repeat1 = 203,
aux_sym_attribute_repeat1 = 204,
aux_sym_parameter_list_repeat1 = 205,
aux_sym_compound_statement_repeat1 = 206,
aux_sym_switch_statement_repeat1 = 207,
aux_sym_case_selectors_repeat1 = 208,
aux_sym_argument_list_expression_repeat1 = 209,
aux_sym_lhs_expression_repeat1 = 210,
};
static const char * const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[sym_identifier] = "identifier",
[sym_line_comment] = "line_comment",
[anon_sym_SEMI] = ";",
[anon_sym_EQ] = "=",
[anon_sym_let] = "let",
[anon_sym_override] = "override",
[anon_sym_LPAREN] = "(",
[anon_sym_COMMA] = ",",
[anon_sym_RPAREN] = ")",
[anon_sym_type] = "type",
[anon_sym_fn] = "fn",
[anon_sym_DASH_GT] = "->",
[anon_sym_struct] = "struct",
[anon_sym_LBRACE] = "{",
[anon_sym_RBRACE] = "}",
[anon_sym_enable] = "enable",
[anon_sym_AT] = "@",
[anon_sym__] = "_",
[anon_sym_PLUS_EQ] = "+=",
[anon_sym_DASH_EQ] = "-=",
[anon_sym_STAR_EQ] = "*=",
[anon_sym_SLASH_EQ] = "/=",
[anon_sym_PERCENT_EQ] = "%=",
[anon_sym_AMP_EQ] = "&=",
[anon_sym_PIPE_EQ] = "|=",
[anon_sym_CARET_EQ] = "^=",
[anon_sym_if] = "if",
[anon_sym_else] = "else",
[anon_sym_switch] = "switch",
[anon_sym_case] = "case",
[anon_sym_COLON] = ":",
[anon_sym_default] = "default",
[anon_sym_fallthrough] = "fallthrough",
[anon_sym_loop] = "loop",
[anon_sym_for] = "for",
[anon_sym_while] = "while",
[anon_sym_break] = "break",
[anon_sym_continue] = "continue",
[anon_sym_continuing] = "continuing",
[anon_sym_return] = "return",
[anon_sym_discard] = "discard",
[anon_sym_var] = "var",
[anon_sym_LT] = "<",
[anon_sym_GT] = ">",
[anon_sym_PLUS_PLUS] = "++",
[anon_sym_DASH_DASH] = "--",
[sym_int_literal] = "int_literal",
[aux_sym_float_literal_token1] = "float_literal_token1",
[aux_sym_float_literal_token2] = "float_literal_token2",
[anon_sym_true] = "true",
[anon_sym_false] = "false",
[anon_sym_bool] = "bool",
[anon_sym_u32] = "u32",
[anon_sym_i32] = "i32",
[anon_sym_f32] = "f32",
[anon_sym_f16] = "f16",
[anon_sym_array] = "array",
[anon_sym_ptr] = "ptr",
[anon_sym_sampler] = "sampler",
[anon_sym_sampler_comparison] = "sampler_comparison",
[anon_sym_texture_depth_2d] = "texture_depth_2d",
[anon_sym_texture_depth_2d_array] = "texture_depth_2d_array",
[anon_sym_texture_depth_cube] = "texture_depth_cube",
[anon_sym_texture_depth_cube_array] = "texture_depth_cube_array",
[anon_sym_texture_depth_multisampled_2d] = "texture_depth_multisampled_2d",
[anon_sym_texture_1d] = "texture_1d",
[anon_sym_texture_2d] = "texture_2d",
[anon_sym_texture_2d_array] = "texture_2d_array",
[anon_sym_texture_3d] = "texture_3d",
[anon_sym_texture_cube] = "texture_cube",
[anon_sym_texture_cube_array] = "texture_cube_array",
[anon_sym_texture_multisampled_2d] = "texture_multisampled_2d",
[anon_sym_texture_storage_1d] = "texture_storage_1d",
[anon_sym_texture_storage_2d] = "texture_storage_2d",
[anon_sym_texture_storage_2d_array] = "texture_storage_2d_array",
[anon_sym_texture_storage_3d] = "texture_storage_3d",
[anon_sym_vec2] = "vec2",
[anon_sym_vec3] = "vec3",
[anon_sym_vec4] = "vec4",
[anon_sym_mat2x2] = "mat2x2",
[anon_sym_mat2x3] = "mat2x3",
[anon_sym_mat2x4] = "mat2x4",
[anon_sym_mat3x2] = "mat3x2",
[anon_sym_mat3x3] = "mat3x3",
[anon_sym_mat3x4] = "mat3x4",
[anon_sym_mat4x2] = "mat4x2",
[anon_sym_mat4x3] = "mat4x3",
[anon_sym_mat4x4] = "mat4x4",
[anon_sym_rgba8unorm] = "rgba8unorm",
[anon_sym_rgba8snorm] = "rgba8snorm",
[anon_sym_rgba8uint] = "rgba8uint",
[anon_sym_rgba8sint] = "rgba8sint",
[anon_sym_rgba16uint] = "rgba16uint",
[anon_sym_rgba16sint] = "rgba16sint",
[anon_sym_rgba16float] = "rgba16float",
[anon_sym_r32uint] = "r32uint",
[anon_sym_r32sint] = "r32sint",
[anon_sym_r32float] = "r32float",
[anon_sym_rg32uint] = "rg32uint",
[anon_sym_rg32sint] = "rg32sint",
[anon_sym_rg32float] = "rg32float",
[anon_sym_rgba32uint] = "rgba32uint",
[anon_sym_rgba32sint] = "rgba32sint",
[anon_sym_rgba32float] = "rgba32float",
[anon_sym_function] = "function",
[anon_sym_private] = "private",
[anon_sym_workgroup] = "workgroup",
[anon_sym_uniform] = "uniform",
[anon_sym_storage] = "storage",
[anon_sym_read] = "read",
[anon_sym_write] = "write",
[anon_sym_read_write] = "read_write",
[anon_sym_bitcast] = "bitcast",
[anon_sym_PIPE_PIPE] = "||",
[anon_sym_AMP_AMP] = "&&",
[anon_sym_PIPE] = "|",
[anon_sym_CARET] = "^",
[anon_sym_AMP] = "&",
[anon_sym_EQ_EQ] = "==",
[anon_sym_BANG_EQ] = "!=",
[anon_sym_LT_EQ] = "<=",
[anon_sym_GT_EQ] = ">=",
[anon_sym_LT_LT] = "<<",
[anon_sym_GT_GT] = ">>",
[anon_sym_PLUS] = "+",
[anon_sym_DASH] = "-",
[anon_sym_STAR] = "*",
[anon_sym_SLASH] = "/",
[anon_sym_PERCENT] = "%",
[anon_sym_BANG] = "!",
[anon_sym_TILDE] = "~",
[anon_sym_LBRACK] = "[",
[anon_sym_RBRACK] = "]",
[anon_sym_DOT] = ".",
[sym_block_comment] = "block_comment",
[sym_source_file] = "source_file",
[sym__declaration] = "_declaration",
[sym_global_variable_declaration] = "global_variable_declaration",
[sym_global_constant_declaration] = "global_constant_declaration",
[sym_type_alias_declaration] = "type_alias_declaration",
[sym_const_expression] = "const_expression",
[sym_function_declaration] = "function_declaration",
[sym_function_return_type_declaration] = "function_return_type_declaration",
[sym_struct_declaration] = "struct_declaration",
[sym_struct_member] = "struct_member",
[sym_enable_directive] = "enable_directive",
[sym_attribute] = "attribute",
[sym__literal_or_identifier] = "_literal_or_identifier",
[sym_parameter_list] = "parameter_list",
[sym_parameter] = "parameter",
[sym__statement] = "_statement",
[sym_compound_statement] = "compound_statement",
[sym_assignment_statement] = "assignment_statement",
[sym_compound_assignment_operator] = "compound_assignment_operator",
[sym_if_statement] = "if_statement",
[sym_else_statement] = "else_statement",
[sym_switch_statement] = "switch_statement",
[sym_switch_body] = "switch_body",
[sym_case_selectors] = "case_selectors",
[sym_case_compound_statement] = "case_compound_statement",
[sym_fallthrough_statement] = "fallthrough_statement",
[sym_loop_statement] = "loop_statement",
[sym_for_statement] = "for_statement",
[sym_for_header] = "for_header",
[sym_while_statement] = "while_statement",
[sym_break_statement] = "break_statement",
[sym_break_if_statement] = "break_if_statement",
[sym_continue_statement] = "continue_statement",
[sym_continuing_statement] = "continuing_statement",
[sym_continuing_compound_statement] = "continuing_compound_statement",
[sym_return_statement] = "return_statement",
[sym_discard_statement] = "discard_statement",
[sym_variable_statement] = "variable_statement",
[sym_variable_declaration] = "variable_declaration",
[sym_variable_qualifier] = "variable_qualifier",
[sym_variable_identifier_declaration] = "variable_identifier_declaration",
[sym_increment_statement] = "increment_statement",
[sym_decrement_statement] = "decrement_statement",
[sym__expression] = "_expression",
[sym_const_literal] = "const_literal",
[sym_float_literal] = "float_literal",
[sym_bool_literal] = "bool_literal",
[sym_parenthesized_expression] = "parenthesized_expression",
[sym_type_constructor_or_function_call_expression] = "type_constructor_or_function_call_expression",
[sym_type_declaration] = "type_declaration",
[sym__vec_prefix] = "_vec_prefix",
[sym__mat_prefix] = "_mat_prefix",
[sym_texel_format] = "texel_format",
[sym_address_space] = "address_space",
[sym_access_mode] = "access_mode",
[sym_argument_list_expression] = "argument_list_expression",
[sym_bitcast_expression] = "bitcast_expression",
[sym_binary_expression] = "binary_expression",
[sym_unary_expression] = "unary_expression",
[sym_postfix_expression] = "postfix_expression",
[sym_subscript_expression] = "subscript_expression",
[sym_lhs_expression] = "lhs_expression",
[sym_composite_value_decomposition_expression] = "composite_value_decomposition_expression",
[aux_sym_source_file_repeat1] = "source_file_repeat1",
[aux_sym_source_file_repeat2] = "source_file_repeat2",
[aux_sym_global_variable_declaration_repeat1] = "global_variable_declaration_repeat1",
[aux_sym_const_expresssion_repeat1] = "const_expresssion_repeat1",
[aux_sym_struct_declaration_repeat1] = "struct_declaration_repeat1",
[aux_sym_attribute_repeat1] = "attribute_repeat1",
[aux_sym_parameter_list_repeat1] = "parameter_list_repeat1",
[aux_sym_compound_statement_repeat1] = "compound_statement_repeat1",
[aux_sym_switch_statement_repeat1] = "switch_statement_repeat1",
[aux_sym_case_selectors_repeat1] = "case_selectors_repeat1",
[aux_sym_argument_list_expression_repeat1] = "argument_list_expression_repeat1",
[aux_sym_lhs_expression_repeat1] = "lhs_expression_repeat1",
};
static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[sym_identifier] = sym_identifier,
[sym_line_comment] = sym_line_comment,
[anon_sym_SEMI] = anon_sym_SEMI,
[anon_sym_EQ] = anon_sym_EQ,
[anon_sym_let] = anon_sym_let,
[anon_sym_override] = anon_sym_override,
[anon_sym_LPAREN] = anon_sym_LPAREN,
[anon_sym_COMMA] = anon_sym_COMMA,
[anon_sym_RPAREN] = anon_sym_RPAREN,
[anon_sym_type] = anon_sym_type,
[anon_sym_fn] = anon_sym_fn,
[anon_sym_DASH_GT] = anon_sym_DASH_GT,
[anon_sym_struct] = anon_sym_struct,
[anon_sym_LBRACE] = anon_sym_LBRACE,
[anon_sym_RBRACE] = anon_sym_RBRACE,
[anon_sym_enable] = anon_sym_enable,
[anon_sym_AT] = anon_sym_AT,
[anon_sym__] = anon_sym__,
[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_AMP_EQ] = anon_sym_AMP_EQ,
[anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ,
[anon_sym_CARET_EQ] = anon_sym_CARET_EQ,
[anon_sym_if] = anon_sym_if,
[anon_sym_else] = anon_sym_else,
[anon_sym_switch] = anon_sym_switch,
[anon_sym_case] = anon_sym_case,
[anon_sym_COLON] = anon_sym_COLON,
[anon_sym_default] = anon_sym_default,
[anon_sym_fallthrough] = anon_sym_fallthrough,
[anon_sym_loop] = anon_sym_loop,
[anon_sym_for] = anon_sym_for,
[anon_sym_while] = anon_sym_while,
[anon_sym_break] = anon_sym_break,
[anon_sym_continue] = anon_sym_continue,
[anon_sym_continuing] = anon_sym_continuing,
[anon_sym_return] = anon_sym_return,
[anon_sym_discard] = anon_sym_discard,
[anon_sym_var] = anon_sym_var,
[anon_sym_LT] = anon_sym_LT,
[anon_sym_GT] = anon_sym_GT,
[anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS,
[anon_sym_DASH_DASH] = anon_sym_DASH_DASH,
[sym_int_literal] = sym_int_literal,
[aux_sym_float_literal_token1] = aux_sym_float_literal_token1,
[aux_sym_float_literal_token2] = aux_sym_float_literal_token2,
[anon_sym_true] = anon_sym_true,
[anon_sym_false] = anon_sym_false,
[anon_sym_bool] = anon_sym_bool,
[anon_sym_u32] = anon_sym_u32,
[anon_sym_i32] = anon_sym_i32,
[anon_sym_f32] = anon_sym_f32,
[anon_sym_f16] = anon_sym_f16,
[anon_sym_array] = anon_sym_array,
[anon_sym_ptr] = anon_sym_ptr,
[anon_sym_sampler] = anon_sym_sampler,
[anon_sym_sampler_comparison] = anon_sym_sampler_comparison,
[anon_sym_texture_depth_2d] = anon_sym_texture_depth_2d,
[anon_sym_texture_depth_2d_array] = anon_sym_texture_depth_2d_array,
[anon_sym_texture_depth_cube] = anon_sym_texture_depth_cube,
[anon_sym_texture_depth_cube_array] = anon_sym_texture_depth_cube_array,
[anon_sym_texture_depth_multisampled_2d] = anon_sym_texture_depth_multisampled_2d,
[anon_sym_texture_1d] = anon_sym_texture_1d,
[anon_sym_texture_2d] = anon_sym_texture_2d,
[anon_sym_texture_2d_array] = anon_sym_texture_2d_array,
[anon_sym_texture_3d] = anon_sym_texture_3d,
[anon_sym_texture_cube] = anon_sym_texture_cube,
[anon_sym_texture_cube_array] = anon_sym_texture_cube_array,
[anon_sym_texture_multisampled_2d] = anon_sym_texture_multisampled_2d,
[anon_sym_texture_storage_1d] = anon_sym_texture_storage_1d,
[anon_sym_texture_storage_2d] = anon_sym_texture_storage_2d,
[anon_sym_texture_storage_2d_array] = anon_sym_texture_storage_2d_array,
[anon_sym_texture_storage_3d] = anon_sym_texture_storage_3d,
[anon_sym_vec2] = anon_sym_vec2,
[anon_sym_vec3] = anon_sym_vec3,
[anon_sym_vec4] = anon_sym_vec4,
[anon_sym_mat2x2] = anon_sym_mat2x2,
[anon_sym_mat2x3] = anon_sym_mat2x3,
[anon_sym_mat2x4] = anon_sym_mat2x4,
[anon_sym_mat3x2] = anon_sym_mat3x2,
[anon_sym_mat3x3] = anon_sym_mat3x3,
[anon_sym_mat3x4] = anon_sym_mat3x4,
[anon_sym_mat4x2] = anon_sym_mat4x2,
[anon_sym_mat4x3] = anon_sym_mat4x3,
[anon_sym_mat4x4] = anon_sym_mat4x4,
[anon_sym_rgba8unorm] = anon_sym_rgba8unorm,
[anon_sym_rgba8snorm] = anon_sym_rgba8snorm,
[anon_sym_rgba8uint] = anon_sym_rgba8uint,
[anon_sym_rgba8sint] = anon_sym_rgba8sint,
[anon_sym_rgba16uint] = anon_sym_rgba16uint,
[anon_sym_rgba16sint] = anon_sym_rgba16sint,
[anon_sym_rgba16float] = anon_sym_rgba16float,
[anon_sym_r32uint] = anon_sym_r32uint,
[anon_sym_r32sint] = anon_sym_r32sint,
[anon_sym_r32float] = anon_sym_r32float,
[anon_sym_rg32uint] = anon_sym_rg32uint,
[anon_sym_rg32sint] = anon_sym_rg32sint,
[anon_sym_rg32float] = anon_sym_rg32float,
[anon_sym_rgba32uint] = anon_sym_rgba32uint,
[anon_sym_rgba32sint] = anon_sym_rgba32sint,
[anon_sym_rgba32float] = anon_sym_rgba32float,
[anon_sym_function] = anon_sym_function,
[anon_sym_private] = anon_sym_private,
[anon_sym_workgroup] = anon_sym_workgroup,
[anon_sym_uniform] = anon_sym_uniform,
[anon_sym_storage] = anon_sym_storage,
[anon_sym_read] = anon_sym_read,
[anon_sym_write] = anon_sym_write,
[anon_sym_read_write] = anon_sym_read_write,
[anon_sym_bitcast] = anon_sym_bitcast,
[anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE,
[anon_sym_AMP_AMP] = anon_sym_AMP_AMP,
[anon_sym_PIPE] = anon_sym_PIPE,
[anon_sym_CARET] = anon_sym_CARET,
[anon_sym_AMP] = anon_sym_AMP,
[anon_sym_EQ_EQ] = anon_sym_EQ_EQ,
[anon_sym_BANG_EQ] = anon_sym_BANG_EQ,
[anon_sym_LT_EQ] = anon_sym_LT_EQ,
[anon_sym_GT_EQ] = anon_sym_GT_EQ,
[anon_sym_LT_LT] = anon_sym_LT_LT,
[anon_sym_GT_GT] = anon_sym_GT_GT,
[anon_sym_PLUS] = anon_sym_PLUS,
[anon_sym_DASH] = anon_sym_DASH,
[anon_sym_STAR] = anon_sym_STAR,
[anon_sym_SLASH] = anon_sym_SLASH,
[anon_sym_PERCENT] = anon_sym_PERCENT,
[anon_sym_BANG] = anon_sym_BANG,
[anon_sym_TILDE] = anon_sym_TILDE,
[anon_sym_LBRACK] = anon_sym_LBRACK,
[anon_sym_RBRACK] = anon_sym_RBRACK,
[anon_sym_DOT] = anon_sym_DOT,
[sym_block_comment] = sym_block_comment,
[sym_source_file] = sym_source_file,
[sym__declaration] = sym__declaration,
[sym_global_variable_declaration] = sym_global_variable_declaration,
[sym_global_constant_declaration] = sym_global_constant_declaration,
[sym_type_alias_declaration] = sym_type_alias_declaration,
[sym_const_expression] = sym_const_expression,
[sym_function_declaration] = sym_function_declaration,
[sym_function_return_type_declaration] = sym_function_return_type_declaration,
[sym_struct_declaration] = sym_struct_declaration,
[sym_struct_member] = sym_struct_member,
[sym_enable_directive] = sym_enable_directive,
[sym_attribute] = sym_attribute,
[sym__literal_or_identifier] = sym__literal_or_identifier,
[sym_parameter_list] = sym_parameter_list,
[sym_parameter] = sym_parameter,
[sym__statement] = sym__statement,
[sym_compound_statement] = sym_compound_statement,
[sym_assignment_statement] = sym_assignment_statement,
[sym_compound_assignment_operator] = sym_compound_assignment_operator,
[sym_if_statement] = sym_if_statement,
[sym_else_statement] = sym_else_statement,
[sym_switch_statement] = sym_switch_statement,
[sym_switch_body] = sym_switch_body,
[sym_case_selectors] = sym_case_selectors,
[sym_case_compound_statement] = sym_case_compound_statement,
[sym_fallthrough_statement] = sym_fallthrough_statement,
[sym_loop_statement] = sym_loop_statement,
[sym_for_statement] = sym_for_statement,
[sym_for_header] = sym_for_header,
[sym_while_statement] = sym_while_statement,
[sym_break_statement] = sym_break_statement,
[sym_break_if_statement] = sym_break_if_statement,
[sym_continue_statement] = sym_continue_statement,
[sym_continuing_statement] = sym_continuing_statement,
[sym_continuing_compound_statement] = sym_continuing_compound_statement,
[sym_return_statement] = sym_return_statement,
[sym_discard_statement] = sym_discard_statement,
[sym_variable_statement] = sym_variable_statement,
[sym_variable_declaration] = sym_variable_declaration,
[sym_variable_qualifier] = sym_variable_qualifier,
[sym_variable_identifier_declaration] = sym_variable_identifier_declaration,
[sym_increment_statement] = sym_increment_statement,
[sym_decrement_statement] = sym_decrement_statement,
[sym__expression] = sym__expression,
[sym_const_literal] = sym_const_literal,
[sym_float_literal] = sym_float_literal,
[sym_bool_literal] = sym_bool_literal,
[sym_parenthesized_expression] = sym_parenthesized_expression,
[sym_type_constructor_or_function_call_expression] = sym_type_constructor_or_function_call_expression,
[sym_type_declaration] = sym_type_declaration,
[sym__vec_prefix] = sym__vec_prefix,
[sym__mat_prefix] = sym__mat_prefix,
[sym_texel_format] = sym_texel_format,
[sym_address_space] = sym_address_space,
[sym_access_mode] = sym_access_mode,
[sym_argument_list_expression] = sym_argument_list_expression,
[sym_bitcast_expression] = sym_bitcast_expression,
[sym_binary_expression] = sym_binary_expression,
[sym_unary_expression] = sym_unary_expression,
[sym_postfix_expression] = sym_postfix_expression,
[sym_subscript_expression] = sym_subscript_expression,
[sym_lhs_expression] = sym_lhs_expression,
[sym_composite_value_decomposition_expression] = sym_composite_value_decomposition_expression,
[aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
[aux_sym_source_file_repeat2] = aux_sym_source_file_repeat2,
[aux_sym_global_variable_declaration_repeat1] = aux_sym_global_variable_declaration_repeat1,
[aux_sym_const_expresssion_repeat1] = aux_sym_const_expresssion_repeat1,
[aux_sym_struct_declaration_repeat1] = aux_sym_struct_declaration_repeat1,
[aux_sym_attribute_repeat1] = aux_sym_attribute_repeat1,
[aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1,
[aux_sym_compound_statement_repeat1] = aux_sym_compound_statement_repeat1,
[aux_sym_switch_statement_repeat1] = aux_sym_switch_statement_repeat1,
[aux_sym_case_selectors_repeat1] = aux_sym_case_selectors_repeat1,
[aux_sym_argument_list_expression_repeat1] = aux_sym_argument_list_expression_repeat1,
[aux_sym_lhs_expression_repeat1] = aux_sym_lhs_expression_repeat1,
};
static const TSSymbolMetadata ts_symbol_metadata[] = {
[ts_builtin_sym_end] = {
.visible = false,
.named = true,
},
[sym_identifier] = {
.visible = true,
.named = true,
},
[sym_line_comment] = {
.visible = true,
.named = true,
},
[anon_sym_SEMI] = {
.visible = true,
.named = false,
},
[anon_sym_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_let] = {
.visible = true,
.named = false,
},
[anon_sym_override] = {
.visible = true,
.named = false,
},
[anon_sym_LPAREN] = {
.visible = true,
.named = false,
},
[anon_sym_COMMA] = {
.visible = true,
.named = false,
},
[anon_sym_RPAREN] = {
.visible = true,
.named = false,
},
[anon_sym_type] = {
.visible = true,
.named = false,
},
[anon_sym_fn] = {
.visible = true,
.named = false,
},
[anon_sym_DASH_GT] = {
.visible = true,
.named = false,
},
[anon_sym_struct] = {
.visible = true,
.named = false,
},
[anon_sym_LBRACE] = {
.visible = true,
.named = false,
},
[anon_sym_RBRACE] = {
.visible = true,
.named = false,
},
[anon_sym_enable] = {
.visible = true,
.named = false,
},
[anon_sym_AT] = {
.visible = true,
.named = false,
},
[anon_sym__] = {
.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_AMP_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_PIPE_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_CARET_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_if] = {
.visible = true,
.named = false,
},
[anon_sym_else] = {
.visible = true,
.named = false,
},
[anon_sym_switch] = {
.visible = true,
.named = false,
},
[anon_sym_case] = {
.visible = true,
.named = false,
},
[anon_sym_COLON] = {
.visible = true,
.named = false,
},
[anon_sym_default] = {
.visible = true,
.named = false,
},
[anon_sym_fallthrough] = {
.visible = true,
.named = false,
},
[anon_sym_loop] = {
.visible = true,
.named = false,
},
[anon_sym_for] = {
.visible = true,
.named = false,
},
[anon_sym_while] = {
.visible = true,
.named = false,
},
[anon_sym_break] = {
.visible = true,
.named = false,
},
[anon_sym_continue] = {
.visible = true,
.named = false,
},
[anon_sym_continuing] = {
.visible = true,
.named = false,
},
[anon_sym_return] = {
.visible = true,
.named = false,
},
[anon_sym_discard] = {
.visible = true,
.named = false,
},
[anon_sym_var] = {
.visible = true,
.named = false,
},
[anon_sym_LT] = {
.visible = true,
.named = false,
},
[anon_sym_GT] = {
.visible = true,
.named = false,
},
[anon_sym_PLUS_PLUS] = {
.visible = true,
.named = false,
},
[anon_sym_DASH_DASH] = {
.visible = true,
.named = false,
},
[sym_int_literal] = {
.visible = true,
.named = true,
},
[aux_sym_float_literal_token1] = {
.visible = false,
.named = false,
},
[aux_sym_float_literal_token2] = {
.visible = false,
.named = false,
},
[anon_sym_true] = {
.visible = true,
.named = false,
},
[anon_sym_false] = {
.visible = true,
.named = false,
},
[anon_sym_bool] = {
.visible = true,
.named = false,
},
[anon_sym_u32] = {
.visible = true,
.named = false,
},
[anon_sym_i32] = {
.visible = true,
.named = false,
},
[anon_sym_f32] = {
.visible = true,
.named = false,
},
[anon_sym_f16] = {
.visible = true,
.named = false,
},
[anon_sym_array] = {
.visible = true,
.named = false,
},
[anon_sym_ptr] = {
.visible = true,
.named = false,
},
[anon_sym_sampler] = {
.visible = true,
.named = false,
},
[anon_sym_sampler_comparison] = {
.visible = true,
.named = false,
},
[anon_sym_texture_depth_2d] = {
.visible = true,
.named = false,
},
[anon_sym_texture_depth_2d_array] = {
.visible = true,
.named = false,
},
[anon_sym_texture_depth_cube] = {
.visible = true,
.named = false,
},
[anon_sym_texture_depth_cube_array] = {
.visible = true,
.named = false,
},
[anon_sym_texture_depth_multisampled_2d] = {
.visible = true,
.named = false,
},
[anon_sym_texture_1d] = {
.visible = true,
.named = false,
},
[anon_sym_texture_2d] = {
.visible = true,
.named = false,
},
[anon_sym_texture_2d_array] = {
.visible = true,
.named = false,
},
[anon_sym_texture_3d] = {
.visible = true,
.named = false,
},
[anon_sym_texture_cube] = {
.visible = true,
.named = false,
},
[anon_sym_texture_cube_array] = {
.visible = true,
.named = false,
},
[anon_sym_texture_multisampled_2d] = {
.visible = true,
.named = false,
},
[anon_sym_texture_storage_1d] = {
.visible = true,
.named = false,
},
[anon_sym_texture_storage_2d] = {
.visible = true,
.named = false,
},
[anon_sym_texture_storage_2d_array] = {
.visible = true,
.named = false,
},
[anon_sym_texture_storage_3d] = {
.visible = true,
.named = false,
},
[anon_sym_vec2] = {
.visible = true,
.named = false,
},
[anon_sym_vec3] = {
.visible = true,
.named = false,
},
[anon_sym_vec4] = {
.visible = true,
.named = false,
},
[anon_sym_mat2x2] = {
.visible = true,
.named = false,
},
[anon_sym_mat2x3] = {
.visible = true,
.named = false,
},
[anon_sym_mat2x4] = {
.visible = true,
.named = false,
},
[anon_sym_mat3x2] = {
.visible = true,
.named = false,
},
[anon_sym_mat3x3] = {
.visible = true,
.named = false,
},
[anon_sym_mat3x4] = {
.visible = true,
.named = false,
},
[anon_sym_mat4x2] = {
.visible = true,
.named = false,
},
[anon_sym_mat4x3] = {
.visible = true,
.named = false,
},
[anon_sym_mat4x4] = {
.visible = true,
.named = false,
},
[anon_sym_rgba8unorm] = {
.visible = true,
.named = false,
},
[anon_sym_rgba8snorm] = {
.visible = true,
.named = false,
},
[anon_sym_rgba8uint] = {
.visible = true,
.named = false,
},
[anon_sym_rgba8sint] = {
.visible = true,
.named = false,
},
[anon_sym_rgba16uint] = {
.visible = true,
.named = false,
},
[anon_sym_rgba16sint] = {
.visible = true,
.named = false,
},
[anon_sym_rgba16float] = {
.visible = true,
.named = false,
},
[anon_sym_r32uint] = {
.visible = true,
.named = false,
},
[anon_sym_r32sint] = {
.visible = true,
.named = false,
},
[anon_sym_r32float] = {
.visible = true,
.named = false,
},
[anon_sym_rg32uint] = {
.visible = true,
.named = false,
},
[anon_sym_rg32sint] = {
.visible = true,
.named = false,
},
[anon_sym_rg32float] = {
.visible = true,
.named = false,
},
[anon_sym_rgba32uint] = {
.visible = true,
.named = false,
},
[anon_sym_rgba32sint] = {
.visible = true,
.named = false,
},
[anon_sym_rgba32float] = {
.visible = true,
.named = false,
},
[anon_sym_function] = {
.visible = true,
.named = false,
},
[anon_sym_private] = {
.visible = true,
.named = false,
},
[anon_sym_workgroup] = {
.visible = true,
.named = false,
},
[anon_sym_uniform] = {
.visible = true,
.named = false,
},
[anon_sym_storage] = {
.visible = true,
.named = false,
},
[anon_sym_read] = {
.visible = true,
.named = false,
},
[anon_sym_write] = {
.visible = true,
.named = false,
},
[anon_sym_read_write] = {
.visible = true,
.named = false,
},
[anon_sym_bitcast] = {
.visible = true,
.named = false,
},
[anon_sym_PIPE_PIPE] = {
.visible = true,
.named = false,
},
[anon_sym_AMP_AMP] = {
.visible = true,
.named = false,
},
[anon_sym_PIPE] = {
.visible = true,
.named = false,
},
[anon_sym_CARET] = {
.visible = true,
.named = false,
},
[anon_sym_AMP] = {
.visible = true,
.named = false,
},
[anon_sym_EQ_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_BANG_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_LT_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_GT_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_LT_LT] = {
.visible = true,
.named = false,
},
[anon_sym_GT_GT] = {
.visible = true,
.named = false,
},
[anon_sym_PLUS] = {
.visible = true,
.named = false,
},
[anon_sym_DASH] = {
.visible = true,
.named = false,
},
[anon_sym_STAR] = {
.visible = true,
.named = false,
},
[anon_sym_SLASH] = {
.visible = true,
.named = false,
},
[anon_sym_PERCENT] = {
.visible = true,
.named = false,
},
[anon_sym_BANG] = {
.visible = true,
.named = false,
},
[anon_sym_TILDE] = {
.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,
},
[sym_block_comment] = {
.visible = true,
.named = true,
},
[sym_source_file] = {
.visible = true,
.named = true,
},
[sym__declaration] = {
.visible = false,
.named = true,
},
[sym_global_variable_declaration] = {
.visible = true,
.named = true,
},
[sym_global_constant_declaration] = {
.visible = true,
.named = true,
},
[sym_type_alias_declaration] = {
.visible = true,
.named = true,
},
[sym_const_expression] = {
.visible = true,
.named = true,
},
[sym_function_declaration] = {
.visible = true,
.named = true,
},
[sym_function_return_type_declaration] = {
.visible = true,
.named = true,
},
[sym_struct_declaration] = {
.visible = true,
.named = true,
},
[sym_struct_member] = {
.visible = true,
.named = true,
},
[sym_enable_directive] = {
.visible = true,
.named = true,
},
[sym_attribute] = {
.visible = true,
.named = true,
},
[sym__literal_or_identifier] = {
.visible = false,
.named = true,
},
[sym_parameter_list] = {
.visible = true,
.named = true,
},
[sym_parameter] = {
.visible = true,
.named = true,
},
[sym__statement] = {
.visible = false,
.named = true,
},
[sym_compound_statement] = {
.visible = true,
.named = true,
},
[sym_assignment_statement] = {
.visible = true,
.named = true,
},
[sym_compound_assignment_operator] = {
.visible = true,
.named = true,
},
[sym_if_statement] = {
.visible = true,
.named = true,
},
[sym_else_statement] = {
.visible = true,
.named = true,
},
[sym_switch_statement] = {
.visible = true,
.named = true,
},
[sym_switch_body] = {
.visible = true,
.named = true,
},
[sym_case_selectors] = {
.visible = true,
.named = true,
},
[sym_case_compound_statement] = {
.visible = true,
.named = true,
},
[sym_fallthrough_statement] = {
.visible = true,
.named = true,
},
[sym_loop_statement] = {
.visible = true,
.named = true,
},
[sym_for_statement] = {
.visible = true,
.named = true,
},
[sym_for_header] = {
.visible = true,
.named = true,
},
[sym_while_statement] = {
.visible = true,
.named = true,
},
[sym_break_statement] = {
.visible = true,
.named = true,
},
[sym_break_if_statement] = {
.visible = true,
.named = true,
},
[sym_continue_statement] = {
.visible = true,
.named = true,
},
[sym_continuing_statement] = {
.visible = true,
.named = true,
},
[sym_continuing_compound_statement] = {
.visible = true,
.named = true,
},
[sym_return_statement] = {
.visible = true,
.named = true,
},
[sym_discard_statement] = {
.visible = true,
.named = true,
},
[sym_variable_statement] = {
.visible = true,
.named = true,
},
[sym_variable_declaration] = {
.visible = true,
.named = true,
},
[sym_variable_qualifier] = {
.visible = true,
.named = true,
},
[sym_variable_identifier_declaration] = {
.visible = true,
.named = true,
},
[sym_increment_statement] = {
.visible = true,
.named = true,
},
[sym_decrement_statement] = {
.visible = true,
.named = true,
},
[sym__expression] = {
.visible = false,
.named = true,
},
[sym_const_literal] = {
.visible = true,
.named = true,
},
[sym_float_literal] = {
.visible = true,
.named = true,
},
[sym_bool_literal] = {
.visible = true,
.named = true,
},
[sym_parenthesized_expression] = {
.visible = true,
.named = true,
},
[sym_type_constructor_or_function_call_expression] = {
.visible = true,
.named = true,
},
[sym_type_declaration] = {
.visible = true,
.named = true,
},
[sym__vec_prefix] = {
.visible = false,
.named = true,
},
[sym__mat_prefix] = {
.visible = false,
.named = true,
},
[sym_texel_format] = {
.visible = true,
.named = true,
},
[sym_address_space] = {
.visible = true,
.named = true,
},
[sym_access_mode] = {
.visible = true,
.named = true,
},
[sym_argument_list_expression] = {
.visible = true,
.named = true,
},
[sym_bitcast_expression] = {
.visible = true,
.named = true,
},
[sym_binary_expression] = {
.visible = true,
.named = true,
},
[sym_unary_expression] = {
.visible = true,
.named = true,
},
[sym_postfix_expression] = {
.visible = true,
.named = true,
},
[sym_subscript_expression] = {
.visible = true,
.named = true,
},
[sym_lhs_expression] = {
.visible = true,
.named = true,
},
[sym_composite_value_decomposition_expression] = {
.visible = true,
.named = true,
},
[aux_sym_source_file_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_source_file_repeat2] = {
.visible = false,
.named = false,
},
[aux_sym_global_variable_declaration_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_const_expresssion_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_struct_declaration_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_attribute_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_parameter_list_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_compound_statement_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_switch_statement_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_case_selectors_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_argument_list_expression_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_lhs_expression_repeat1] = {
.visible = false,
.named = false,
},
};
enum {
field_accessor = 1,
field_alternative = 2,
field_argument = 3,
field_body = 4,
field_condition = 5,
field_consequence = 6,
field_left = 7,
field_name = 8,
field_parameters = 9,
field_right = 10,
field_subscript = 11,
field_type = 12,
field_value = 13,
};
static const char * const ts_field_names[] = {
[0] = NULL,
[field_accessor] = "accessor",
[field_alternative] = "alternative",
[field_argument] = "argument",
[field_body] = "body",
[field_condition] = "condition",
[field_consequence] = "consequence",
[field_left] = "left",
[field_name] = "name",
[field_parameters] = "parameters",
[field_right] = "right",
[field_subscript] = "subscript",
[field_type] = "type",
[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 = 1},
[5] = {.index = 6, .length = 2},
[6] = {.index = 8, .length = 2},
[7] = {.index = 10, .length = 3},
[8] = {.index = 13, .length = 3},
[9] = {.index = 16, .length = 2},
[10] = {.index = 18, .length = 2},
[11] = {.index = 20, .length = 4},
[12] = {.index = 24, .length = 3},
[13] = {.index = 27, .length = 3},
[14] = {.index = 30, .length = 2},
[15] = {.index = 32, .length = 1},
[16] = {.index = 33, .length = 4},
[17] = {.index = 37, .length = 3},
};
static const TSFieldMapEntry ts_field_map_entries[] = {
[0] =
{field_name, 0},
{field_type, 2},
[2] =
{field_argument, 1},
[3] =
{field_body, 4},
{field_name, 1},
[5] =
{field_name, 1},
[6] =
{field_left, 0},
{field_right, 2},
[8] =
{field_accessor, 2},
{field_value, 0},
[10] =
{field_body, 5},
{field_name, 1},
{field_type, 4},
[13] =
{field_body, 5},
{field_name, 1},
{field_parameters, 3},
[16] =
{field_body, 5},
{field_name, 2},
[18] =
{field_subscript, 2},
{field_value, 0},
[20] =
{field_body, 6},
{field_name, 1},
{field_parameters, 3},
{field_type, 5},
[24] =
{field_body, 6},
{field_name, 2},
{field_type, 5},
[27] =
{field_body, 6},
{field_name, 2},
{field_parameters, 4},
[30] =
{field_condition, 1},
{field_consequence, 2},
[32] =
{field_condition, 1},
[33] =
{field_body, 7},
{field_name, 2},
{field_parameters, 4},
{field_type, 6},
[37] =
{field_alternative, 4},
{field_condition, 1},
{field_consequence, 2},
};
static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
[0] = {0},
};
static const uint16_t ts_non_terminal_alias_map[] = {
0,
};
static bool ts_lex(TSLexer *lexer, TSStateId state) {
START_LEXER();
eof = lexer->eof(lexer);
switch (state) {
case 0:
if (eof) ADVANCE(28);
if (lookahead == '!') ADVANCE(98);
if (lookahead == '%') ADVANCE(96);
if (lookahead == '&') ADVANCE(79);
if (lookahead == '(') ADVANCE(33);
if (lookahead == ')') ADVANCE(35);
if (lookahead == '*') ADVANCE(92);
if (lookahead == '+') ADVANCE(87);
if (lookahead == ',') ADVANCE(34);
if (lookahead == '-') ADVANCE(89);
if (lookahead == '.') ADVANCE(103);
if (lookahead == '/') ADVANCE(94);
if (lookahead == '0') ADVANCE(58);
if (lookahead == ':') ADVANCE(51);
if (lookahead == ';') ADVANCE(30);
if (lookahead == '<') ADVANCE(52);
if (lookahead == '=') ADVANCE(32);
if (lookahead == '>') ADVANCE(54);
if (lookahead == '@') ADVANCE(39);
if (lookahead == '[') ADVANCE(100);
if (lookahead == ']') ADVANCE(101);
if (lookahead == '^') ADVANCE(76);
if (lookahead == '_') ADVANCE(42);
if (lookahead == '{') ADVANCE(37);
if (lookahead == '|') ADVANCE(73);
if (lookahead == '}') ADVANCE(38);
if (lookahead == '~') ADVANCE(99);
if (lookahead == '\t' ||
lookahead == '\n' ||
lookahead == '\r' ||
lookahead == ' ' ||
lookahead == 160 ||
lookahead == 8203 ||
lookahead == 8288 ||
lookahead == 65279) SKIP(0)
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(59);
if (('A' <= lookahead && lookahead <= 'Z') ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(40);
END_STATE();
case 1:
if (lookahead == '!') ADVANCE(11);
if (lookahead == '%') ADVANCE(95);
if (lookahead == '&') ADVANCE(78);
if (lookahead == '(') ADVANCE(33);
if (lookahead == ')') ADVANCE(35);
if (lookahead == '*') ADVANCE(91);
if (lookahead == '+') ADVANCE(86);
if (lookahead == ',') ADVANCE(34);
if (lookahead == '-') ADVANCE(88);
if (lookahead == '.') ADVANCE(102);
if (lookahead == '/') ADVANCE(93);
if (lookahead == ':') ADVANCE(51);
if (lookahead == ';') ADVANCE(30);
if (lookahead == '<') ADVANCE(52);
if (lookahead == '=') ADVANCE(15);
if (lookahead == '>') ADVANCE(54);
if (lookahead == '[') ADVANCE(100);
if (lookahead == ']') ADVANCE(101);
if (lookahead == '^') ADVANCE(75);
if (lookahead == '{') ADVANCE(37);
if (lookahead == '|') ADVANCE(74);
if (lookahead == '\t' ||
lookahead == '\n' ||
lookahead == '\r' ||
lookahead == ' ' ||
lookahead == 160 ||
lookahead == 8203 ||
lookahead == 8288 ||
lookahead == 65279) SKIP(1)
END_STATE();
case 2:
if (lookahead == '%') ADVANCE(12);
if (lookahead == '&') ADVANCE(13);
if (lookahead == '(') ADVANCE(33);
if (lookahead == ')') ADVANCE(35);
if (lookahead == '*') ADVANCE(14);
if (lookahead == '+') ADVANCE(3);
if (lookahead == '-') ADVANCE(4);
if (lookahead == '.') ADVANCE(102);
if (lookahead == '/') ADVANCE(10);
if (lookahead == '0') ADVANCE(62);
if (lookahead == '=') ADVANCE(31);
if (lookahead == '[') ADVANCE(100);
if (lookahead == '^') ADVANCE(16);
if (lookahead == '_') ADVANCE(26);
if (lookahead == '{') ADVANCE(37);
if (lookahead == '|') ADVANCE(17);
if (lookahead == '\t' ||
lookahead == '\n' ||
lookahead == '\r' ||
lookahead == ' ' ||
lookahead == 160 ||
lookahead == 8203 ||
lookahead == 8288 ||
lookahead == 65279) SKIP(2)
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(63);
if (('A' <= lookahead && lookahead <= 'Z') ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(40);
END_STATE();
case 3:
if (lookahead == '+') ADVANCE(55);
if (lookahead == '=') ADVANCE(43);
END_STATE();
case 4:
if (lookahead == '-') ADVANCE(56);
if (lookahead == '0') ADVANCE(20);
if (lookahead == '=') ADVANCE(44);
if (lookahead == '>') ADVANCE(36);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(63);
END_STATE();
case 5:
if (lookahead == '.') ADVANCE(66);
if (lookahead == 'E' ||
lookahead == 'e') ADVANCE(18);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5);
END_STATE();
case 6:
if (lookahead == '.') ADVANCE(66);
if (lookahead == 'X' ||
lookahead == 'x') ADVANCE(8);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7);
END_STATE();
case 7:
if (lookahead == '.') ADVANCE(66);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7);
END_STATE();
case 8:
if (lookahead == '.') ADVANCE(24);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(61);
END_STATE();
case 9:
if (lookahead == '/') ADVANCE(29);
END_STATE();
case 10:
if (lookahead == '/') ADVANCE(29);
if (lookahead == '=') ADVANCE(46);
END_STATE();
case 11:
if (lookahead == '=') ADVANCE(81);
END_STATE();
case 12:
if (lookahead == '=') ADVANCE(47);
END_STATE();
case 13:
if (lookahead == '=') ADVANCE(48);
END_STATE();
case 14:
if (lookahead == '=') ADVANCE(45);
END_STATE();
case 15:
if (lookahead == '=') ADVANCE(80);
END_STATE();
case 16:
if (lookahead == '=') ADVANCE(50);
END_STATE();
case 17:
if (lookahead == '=') ADVANCE(49);
END_STATE();
case 18:
if (lookahead == '+' ||
lookahead == '-') ADVANCE(22);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(67);
END_STATE();
case 19:
if (lookahead == '+' ||
lookahead == '-') ADVANCE(23);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(69);
END_STATE();
case 20:
if (lookahead == 'X' ||
lookahead == 'x') ADVANCE(25);
END_STATE();
case 21:
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(66);
END_STATE();
case 22:
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(67);
END_STATE();
case 23:
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(69);
END_STATE();
case 24:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(70);
END_STATE();
case 25:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(64);
END_STATE();
case 26:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 27:
if (eof) ADVANCE(28);
if (lookahead == '!') ADVANCE(97);
if (lookahead == '&') ADVANCE(77);
if (lookahead == '(') ADVANCE(33);
if (lookahead == ')') ADVANCE(35);
if (lookahead == '*') ADVANCE(91);
if (lookahead == ',') ADVANCE(34);
if (lookahead == '-') ADVANCE(90);
if (lookahead == '.') ADVANCE(21);
if (lookahead == '/') ADVANCE(9);
if (lookahead == '0') ADVANCE(58);
if (lookahead == ':') ADVANCE(51);
if (lookahead == ';') ADVANCE(30);
if (lookahead == '=') ADVANCE(31);
if (lookahead == '>') ADVANCE(53);
if (lookahead == '@') ADVANCE(39);
if (lookahead == '_') ADVANCE(42);
if (lookahead == '{') ADVANCE(37);
if (lookahead == '}') ADVANCE(38);
if (lookahead == '~') ADVANCE(99);
if (lookahead == '\t' ||
lookahead == '\n' ||
lookahead == '\r' ||
lookahead == ' ' ||
lookahead == 160 ||
lookahead == 8203 ||
lookahead == 8288 ||
lookahead == 65279) SKIP(27)
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(59);
if (('A' <= lookahead && lookahead <= 'Z') ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(40);
END_STATE();
case 28:
ACCEPT_TOKEN(ts_builtin_sym_end);
END_STATE();
case 29:
ACCEPT_TOKEN(sym_line_comment);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(29);
END_STATE();
case 30:
ACCEPT_TOKEN(anon_sym_SEMI);
END_STATE();
case 31:
ACCEPT_TOKEN(anon_sym_EQ);
END_STATE();
case 32:
ACCEPT_TOKEN(anon_sym_EQ);
if (lookahead == '=') ADVANCE(80);
END_STATE();
case 33:
ACCEPT_TOKEN(anon_sym_LPAREN);
END_STATE();
case 34:
ACCEPT_TOKEN(anon_sym_COMMA);
END_STATE();
case 35:
ACCEPT_TOKEN(anon_sym_RPAREN);
END_STATE();
case 36:
ACCEPT_TOKEN(anon_sym_DASH_GT);
END_STATE();
case 37:
ACCEPT_TOKEN(anon_sym_LBRACE);
END_STATE();
case 38:
ACCEPT_TOKEN(anon_sym_RBRACE);
END_STATE();
case 39:
ACCEPT_TOKEN(anon_sym_AT);
END_STATE();
case 40:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == '_') ADVANCE(41);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 41:
ACCEPT_TOKEN(sym_identifier);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 42:
ACCEPT_TOKEN(anon_sym__);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
END_STATE();
case 43:
ACCEPT_TOKEN(anon_sym_PLUS_EQ);
END_STATE();
case 44:
ACCEPT_TOKEN(anon_sym_DASH_EQ);
END_STATE();
case 45:
ACCEPT_TOKEN(anon_sym_STAR_EQ);
END_STATE();
case 46:
ACCEPT_TOKEN(anon_sym_SLASH_EQ);
END_STATE();
case 47:
ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
END_STATE();
case 48:
ACCEPT_TOKEN(anon_sym_AMP_EQ);
END_STATE();
case 49:
ACCEPT_TOKEN(anon_sym_PIPE_EQ);
END_STATE();
case 50:
ACCEPT_TOKEN(anon_sym_CARET_EQ);
END_STATE();
case 51:
ACCEPT_TOKEN(anon_sym_COLON);
END_STATE();
case 52:
ACCEPT_TOKEN(anon_sym_LT);
if (lookahead == '<') ADVANCE(84);
if (lookahead == '=') ADVANCE(82);
END_STATE();
case 53:
ACCEPT_TOKEN(anon_sym_GT);
END_STATE();
case 54:
ACCEPT_TOKEN(anon_sym_GT);
if (lookahead == '=') ADVANCE(83);
if (lookahead == '>') ADVANCE(85);
END_STATE();
case 55:
ACCEPT_TOKEN(anon_sym_PLUS_PLUS);
END_STATE();
case 56:
ACCEPT_TOKEN(anon_sym_DASH_DASH);
END_STATE();
case 57:
ACCEPT_TOKEN(sym_int_literal);
END_STATE();
case 58:
ACCEPT_TOKEN(sym_int_literal);
if (lookahead == '.') ADVANCE(66);
if (lookahead == 'f') ADVANCE(65);
if (lookahead == 'E' ||
lookahead == 'e') ADVANCE(18);
if (lookahead == 'X' ||
lookahead == 'x') ADVANCE(8);
if (lookahead == 'i' ||
lookahead == 'u') ADVANCE(57);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5);
END_STATE();
case 59:
ACCEPT_TOKEN(sym_int_literal);
if (lookahead == '.') ADVANCE(66);
if (lookahead == 'f') ADVANCE(65);
if (lookahead == 'E' ||
lookahead == 'e') ADVANCE(18);
if (lookahead == 'i' ||
lookahead == 'u') ADVANCE(57);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(59);
END_STATE();
case 60:
ACCEPT_TOKEN(sym_int_literal);
if (lookahead == '.') ADVANCE(66);
if (lookahead == 'f') ADVANCE(65);
if (lookahead == 'i' ||
lookahead == 'u') ADVANCE(57);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(60);
END_STATE();
case 61:
ACCEPT_TOKEN(sym_int_literal);
if (lookahead == '.') ADVANCE(70);
if (lookahead == 'P' ||
lookahead == 'p') ADVANCE(19);
if (lookahead == 'i' ||
lookahead == 'u') ADVANCE(57);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(61);
END_STATE();
case 62:
ACCEPT_TOKEN(sym_int_literal);
if (lookahead == 'X' ||
lookahead == 'x') ADVANCE(25);
if (lookahead == 'i' ||
lookahead == 'u') ADVANCE(57);
END_STATE();
case 63:
ACCEPT_TOKEN(sym_int_literal);
if (lookahead == 'i' ||
lookahead == 'u') ADVANCE(57);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(63);
END_STATE();
case 64:
ACCEPT_TOKEN(sym_int_literal);
if (lookahead == 'i' ||
lookahead == 'u') ADVANCE(57);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(64);
END_STATE();
case 65:
ACCEPT_TOKEN(aux_sym_float_literal_token1);
END_STATE();
case 66:
ACCEPT_TOKEN(aux_sym_float_literal_token1);
if (lookahead == 'f') ADVANCE(65);
if (lookahead == 'E' ||
lookahead == 'e') ADVANCE(18);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(66);
END_STATE();
case 67:
ACCEPT_TOKEN(aux_sym_float_literal_token1);
if (lookahead == 'f') ADVANCE(65);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(67);
END_STATE();
case 68:
ACCEPT_TOKEN(aux_sym_float_literal_token2);
END_STATE();
case 69:
ACCEPT_TOKEN(aux_sym_float_literal_token2);
if (lookahead == 'f') ADVANCE(68);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(69);
END_STATE();
case 70:
ACCEPT_TOKEN(aux_sym_float_literal_token2);
if (lookahead == 'P' ||
lookahead == 'p') ADVANCE(19);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(70);
END_STATE();
case 71:
ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
END_STATE();
case 72:
ACCEPT_TOKEN(anon_sym_AMP_AMP);
END_STATE();
case 73:
ACCEPT_TOKEN(anon_sym_PIPE);
if (lookahead == '=') ADVANCE(49);
if (lookahead == '|') ADVANCE(71);
END_STATE();
case 74:
ACCEPT_TOKEN(anon_sym_PIPE);
if (lookahead == '|') ADVANCE(71);
END_STATE();
case 75:
ACCEPT_TOKEN(anon_sym_CARET);
END_STATE();
case 76:
ACCEPT_TOKEN(anon_sym_CARET);
if (lookahead == '=') ADVANCE(50);
END_STATE();
case 77:
ACCEPT_TOKEN(anon_sym_AMP);
END_STATE();
case 78:
ACCEPT_TOKEN(anon_sym_AMP);
if (lookahead == '&') ADVANCE(72);
END_STATE();
case 79:
ACCEPT_TOKEN(anon_sym_AMP);
if (lookahead == '&') ADVANCE(72);
if (lookahead == '=') ADVANCE(48);
END_STATE();
case 80:
ACCEPT_TOKEN(anon_sym_EQ_EQ);
END_STATE();
case 81:
ACCEPT_TOKEN(anon_sym_BANG_EQ);
END_STATE();
case 82:
ACCEPT_TOKEN(anon_sym_LT_EQ);
END_STATE();
case 83:
ACCEPT_TOKEN(anon_sym_GT_EQ);
END_STATE();
case 84:
ACCEPT_TOKEN(anon_sym_LT_LT);
END_STATE();
case 85:
ACCEPT_TOKEN(anon_sym_GT_GT);
END_STATE();
case 86:
ACCEPT_TOKEN(anon_sym_PLUS);
END_STATE();
case 87:
ACCEPT_TOKEN(anon_sym_PLUS);
if (lookahead == '+') ADVANCE(55);
if (lookahead == '=') ADVANCE(43);
END_STATE();
case 88:
ACCEPT_TOKEN(anon_sym_DASH);
END_STATE();
case 89:
ACCEPT_TOKEN(anon_sym_DASH);
if (lookahead == '.') ADVANCE(21);
if (lookahead == '0') ADVANCE(6);
if (lookahead == '=') ADVANCE(44);
if (lookahead == '>') ADVANCE(36);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(60);
END_STATE();
case 90:
ACCEPT_TOKEN(anon_sym_DASH);
if (lookahead == '.') ADVANCE(21);
if (lookahead == '0') ADVANCE(6);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(60);
END_STATE();
case 91:
ACCEPT_TOKEN(anon_sym_STAR);
END_STATE();
case 92:
ACCEPT_TOKEN(anon_sym_STAR);
if (lookahead == '=') ADVANCE(45);
END_STATE();
case 93:
ACCEPT_TOKEN(anon_sym_SLASH);
if (lookahead == '/') ADVANCE(29);
END_STATE();
case 94:
ACCEPT_TOKEN(anon_sym_SLASH);
if (lookahead == '/') ADVANCE(29);
if (lookahead == '=') ADVANCE(46);
END_STATE();
case 95:
ACCEPT_TOKEN(anon_sym_PERCENT);
END_STATE();
case 96:
ACCEPT_TOKEN(anon_sym_PERCENT);
if (lookahead == '=') ADVANCE(47);
END_STATE();
case 97:
ACCEPT_TOKEN(anon_sym_BANG);
END_STATE();
case 98:
ACCEPT_TOKEN(anon_sym_BANG);
if (lookahead == '=') ADVANCE(81);
END_STATE();
case 99:
ACCEPT_TOKEN(anon_sym_TILDE);
END_STATE();
case 100:
ACCEPT_TOKEN(anon_sym_LBRACK);
END_STATE();
case 101:
ACCEPT_TOKEN(anon_sym_RBRACK);
END_STATE();
case 102:
ACCEPT_TOKEN(anon_sym_DOT);
END_STATE();
case 103:
ACCEPT_TOKEN(anon_sym_DOT);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(66);
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 == 'a') ADVANCE(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 == 'i') ADVANCE(7);
if (lookahead == 'l') ADVANCE(8);
if (lookahead == 'm') ADVANCE(9);
if (lookahead == 'o') ADVANCE(10);
if (lookahead == 'p') ADVANCE(11);
if (lookahead == 'r') ADVANCE(12);
if (lookahead == 's') ADVANCE(13);
if (lookahead == 't') ADVANCE(14);
if (lookahead == 'u') ADVANCE(15);
if (lookahead == 'v') ADVANCE(16);
if (lookahead == 'w') ADVANCE(17);
if (lookahead == '\t' ||
lookahead == '\n' ||
lookahead == '\r' ||
lookahead == ' ' ||
lookahead == 160 ||
lookahead == 8203 ||
lookahead == 8288 ||
lookahead == 65279) SKIP(0)
END_STATE();
case 1:
if (lookahead == 'r') ADVANCE(18);
END_STATE();
case 2:
if (lookahead == 'i') ADVANCE(19);
if (lookahead == 'o') ADVANCE(20);
if (lookahead == 'r') ADVANCE(21);
END_STATE();
case 3:
if (lookahead == 'a') ADVANCE(22);
if (lookahead == 'o') ADVANCE(23);
END_STATE();
case 4:
if (lookahead == 'e') ADVANCE(24);
if (lookahead == 'i') ADVANCE(25);
END_STATE();
case 5:
if (lookahead == 'l') ADVANCE(26);
if (lookahead == 'n') ADVANCE(27);
END_STATE();
case 6:
if (lookahead == '1') ADVANCE(28);
if (lookahead == '3') ADVANCE(29);
if (lookahead == 'a') ADVANCE(30);
if (lookahead == 'n') ADVANCE(31);
if (lookahead == 'o') ADVANCE(32);
if (lookahead == 'u') ADVANCE(33);
END_STATE();
case 7:
if (lookahead == '3') ADVANCE(34);
if (lookahead == 'f') ADVANCE(35);
END_STATE();
case 8:
if (lookahead == 'e') ADVANCE(36);
if (lookahead == 'o') ADVANCE(37);
END_STATE();
case 9:
if (lookahead == 'a') ADVANCE(38);
END_STATE();
case 10:
if (lookahead == 'v') ADVANCE(39);
END_STATE();
case 11:
if (lookahead == 'r') ADVANCE(40);
if (lookahead == 't') ADVANCE(41);
END_STATE();
case 12:
if (lookahead == '3') ADVANCE(42);
if (lookahead == 'e') ADVANCE(43);
if (lookahead == 'g') ADVANCE(44);
END_STATE();
case 13:
if (lookahead == 'a') ADVANCE(45);
if (lookahead == 't') ADVANCE(46);
if (lookahead == 'w') ADVANCE(47);
END_STATE();
case 14:
if (lookahead == 'e') ADVANCE(48);
if (lookahead == 'r') ADVANCE(49);
if (lookahead == 'y') ADVANCE(50);
END_STATE();
case 15:
if (lookahead == '3') ADVANCE(51);
if (lookahead == 'n') ADVANCE(52);
END_STATE();
case 16:
if (lookahead == 'a') ADVANCE(53);
if (lookahead == 'e') ADVANCE(54);
END_STATE();
case 17:
if (lookahead == 'h') ADVANCE(55);
if (lookahead == 'o') ADVANCE(56);
if (lookahead == 'r') ADVANCE(57);
END_STATE();
case 18:
if (lookahead == 'r') ADVANCE(58);
END_STATE();
case 19:
if (lookahead == 't') ADVANCE(59);
END_STATE();
case 20:
if (lookahead == 'o') ADVANCE(60);
END_STATE();
case 21:
if (lookahead == 'e') ADVANCE(61);
END_STATE();
case 22:
if (lookahead == 's') ADVANCE(62);
END_STATE();
case 23:
if (lookahead == 'n') ADVANCE(63);
END_STATE();
case 24:
if (lookahead == 'f') ADVANCE(64);
END_STATE();
case 25:
if (lookahead == 's') ADVANCE(65);
END_STATE();
case 26:
if (lookahead == 's') ADVANCE(66);
END_STATE();
case 27:
if (lookahead == 'a') ADVANCE(67);
END_STATE();
case 28:
if (lookahead == '6') ADVANCE(68);
END_STATE();
case 29:
if (lookahead == '2') ADVANCE(69);
END_STATE();
case 30:
if (lookahead == 'l') ADVANCE(70);
END_STATE();
case 31:
ACCEPT_TOKEN(anon_sym_fn);
END_STATE();
case 32:
if (lookahead == 'r') ADVANCE(71);
END_STATE();
case 33:
if (lookahead == 'n') ADVANCE(72);
END_STATE();
case 34:
if (lookahead == '2') ADVANCE(73);
END_STATE();
case 35:
ACCEPT_TOKEN(anon_sym_if);
END_STATE();
case 36:
if (lookahead == 't') ADVANCE(74);
END_STATE();
case 37:
if (lookahead == 'o') ADVANCE(75);
END_STATE();
case 38:
if (lookahead == 't') ADVANCE(76);
END_STATE();
case 39:
if (lookahead == 'e') ADVANCE(77);
END_STATE();
case 40:
if (lookahead == 'i') ADVANCE(78);
END_STATE();
case 41:
if (lookahead == 'r') ADVANCE(79);
END_STATE();
case 42:
if (lookahead == '2') ADVANCE(80);
END_STATE();
case 43:
if (lookahead == 'a') ADVANCE(81);
if (lookahead == 't') ADVANCE(82);
END_STATE();
case 44:
if (lookahead == '3') ADVANCE(83);
if (lookahead == 'b') ADVANCE(84);
END_STATE();
case 45:
if (lookahead == 'm') ADVANCE(85);
END_STATE();
case 46:
if (lookahead == 'o') ADVANCE(86);
if (lookahead == 'r') ADVANCE(87);
END_STATE();
case 47:
if (lookahead == 'i') ADVANCE(88);
END_STATE();
case 48:
if (lookahead == 'x') ADVANCE(89);
END_STATE();
case 49:
if (lookahead == 'u') ADVANCE(90);
END_STATE();
case 50:
if (lookahead == 'p') ADVANCE(91);
END_STATE();
case 51:
if (lookahead == '2') ADVANCE(92);
END_STATE();
case 52:
if (lookahead == 'i') ADVANCE(93);
END_STATE();
case 53:
if (lookahead == 'r') ADVANCE(94);
END_STATE();
case 54:
if (lookahead == 'c') ADVANCE(95);
END_STATE();
case 55:
if (lookahead == 'i') ADVANCE(96);
END_STATE();
case 56:
if (lookahead == 'r') ADVANCE(97);
END_STATE();
case 57:
if (lookahead == 'i') ADVANCE(98);
END_STATE();
case 58:
if (lookahead == 'a') ADVANCE(99);
END_STATE();
case 59:
if (lookahead == 'c') ADVANCE(100);
END_STATE();
case 60:
if (lookahead == 'l') ADVANCE(101);
END_STATE();
case 61:
if (lookahead == 'a') ADVANCE(102);
END_STATE();
case 62:
if (lookahead == 'e') ADVANCE(103);
END_STATE();
case 63:
if (lookahead == 't') ADVANCE(104);
END_STATE();
case 64:
if (lookahead == 'a') ADVANCE(105);
END_STATE();
case 65:
if (lookahead == 'c') ADVANCE(106);
END_STATE();
case 66:
if (lookahead == 'e') ADVANCE(107);
END_STATE();
case 67:
if (lookahead == 'b') ADVANCE(108);
END_STATE();
case 68:
ACCEPT_TOKEN(anon_sym_f16);
END_STATE();
case 69:
ACCEPT_TOKEN(anon_sym_f32);
END_STATE();
case 70:
if (lookahead == 'l') ADVANCE(109);
if (lookahead == 's') ADVANCE(110);
END_STATE();
case 71:
ACCEPT_TOKEN(anon_sym_for);
END_STATE();
case 72:
if (lookahead == 'c') ADVANCE(111);
END_STATE();
case 73:
ACCEPT_TOKEN(anon_sym_i32);
END_STATE();
case 74:
ACCEPT_TOKEN(anon_sym_let);
END_STATE();
case 75:
if (lookahead == 'p') ADVANCE(112);
END_STATE();
case 76:
if (lookahead == '2') ADVANCE(113);
if (lookahead == '3') ADVANCE(114);
if (lookahead == '4') ADVANCE(115);
END_STATE();
case 77:
if (lookahead == 'r') ADVANCE(116);
END_STATE();
case 78:
if (lookahead == 'v') ADVANCE(117);
END_STATE();
case 79:
ACCEPT_TOKEN(anon_sym_ptr);
END_STATE();
case 80:
if (lookahead == 'f') ADVANCE(118);
if (lookahead == 's') ADVANCE(119);
if (lookahead == 'u') ADVANCE(120);
END_STATE();
case 81:
if (lookahead == 'd') ADVANCE(121);
END_STATE();
case 82:
if (lookahead == 'u') ADVANCE(122);
END_STATE();
case 83:
if (lookahead == '2') ADVANCE(123);
END_STATE();
case 84:
if (lookahead == 'a') ADVANCE(124);
END_STATE();
case 85:
if (lookahead == 'p') ADVANCE(125);
END_STATE();
case 86:
if (lookahead == 'r') ADVANCE(126);
END_STATE();
case 87:
if (lookahead == 'u') ADVANCE(127);
END_STATE();
case 88:
if (lookahead == 't') ADVANCE(128);
END_STATE();
case 89:
if (lookahead == 't') ADVANCE(129);
END_STATE();
case 90:
if (lookahead == 'e') ADVANCE(130);
END_STATE();
case 91:
if (lookahead == 'e') ADVANCE(131);
END_STATE();
case 92:
ACCEPT_TOKEN(anon_sym_u32);
END_STATE();
case 93:
if (lookahead == 'f') ADVANCE(132);
END_STATE();
case 94:
ACCEPT_TOKEN(anon_sym_var);
END_STATE();
case 95:
if (lookahead == '2') ADVANCE(133);
if (lookahead == '3') ADVANCE(134);
if (lookahead == '4') ADVANCE(135);
END_STATE();
case 96:
if (lookahead == 'l') ADVANCE(136);
END_STATE();
case 97:
if (lookahead == 'k') ADVANCE(137);
END_STATE();
case 98:
if (lookahead == 't') ADVANCE(138);
END_STATE();
case 99:
if (lookahead == 'y') ADVANCE(139);
END_STATE();
case 100:
if (lookahead == 'a') ADVANCE(140);
END_STATE();
case 101:
ACCEPT_TOKEN(anon_sym_bool);
END_STATE();
case 102:
if (lookahead == 'k') ADVANCE(141);
END_STATE();
case 103:
ACCEPT_TOKEN(anon_sym_case);
END_STATE();
case 104:
if (lookahead == 'i') ADVANCE(142);
END_STATE();
case 105:
if (lookahead == 'u') ADVANCE(143);
END_STATE();
case 106:
if (lookahead == 'a') ADVANCE(144);
END_STATE();
case 107:
ACCEPT_TOKEN(anon_sym_else);
END_STATE();
case 108:
if (lookahead == 'l') ADVANCE(145);
END_STATE();
case 109:
if (lookahead == 't') ADVANCE(146);
END_STATE();
case 110:
if (lookahead == 'e') ADVANCE(147);
END_STATE();
case 111:
if (lookahead == 't') ADVANCE(148);
END_STATE();
case 112:
ACCEPT_TOKEN(anon_sym_loop);
END_STATE();
case 113:
if (lookahead == 'x') ADVANCE(149);
END_STATE();
case 114:
if (lookahead == 'x') ADVANCE(150);
END_STATE();
case 115:
if (lookahead == 'x') ADVANCE(151);
END_STATE();
case 116:
if (lookahead == 'r') ADVANCE(152);
END_STATE();
case 117:
if (lookahead == 'a') ADVANCE(153);
END_STATE();
case 118:
if (lookahead == 'l') ADVANCE(154);
END_STATE();
case 119:
if (lookahead == 'i') ADVANCE(155);
END_STATE();
case 120:
if (lookahead == 'i') ADVANCE(156);
END_STATE();
case 121:
ACCEPT_TOKEN(anon_sym_read);
if (lookahead == '_') ADVANCE(157);
END_STATE();
case 122:
if (lookahead == 'r') ADVANCE(158);
END_STATE();
case 123:
if (lookahead == 'f') ADVANCE(159);
if (lookahead == 's') ADVANCE(160);
if (lookahead == 'u') ADVANCE(161);
END_STATE();
case 124:
if (lookahead == '1') ADVANCE(162);
if (lookahead == '3') ADVANCE(163);
if (lookahead == '8') ADVANCE(164);
END_STATE();
case 125:
if (lookahead == 'l') ADVANCE(165);
END_STATE();
case 126:
if (lookahead == 'a') ADVANCE(166);
END_STATE();
case 127:
if (lookahead == 'c') ADVANCE(167);
END_STATE();
case 128:
if (lookahead == 'c') ADVANCE(168);
END_STATE();
case 129:
if (lookahead == 'u') ADVANCE(169);
END_STATE();
case 130:
ACCEPT_TOKEN(anon_sym_true);
END_STATE();
case 131:
ACCEPT_TOKEN(anon_sym_type);
END_STATE();
case 132:
if (lookahead == 'o') ADVANCE(170);
END_STATE();
case 133:
ACCEPT_TOKEN(anon_sym_vec2);
END_STATE();
case 134:
ACCEPT_TOKEN(anon_sym_vec3);
END_STATE();
case 135:
ACCEPT_TOKEN(anon_sym_vec4);
END_STATE();
case 136:
if (lookahead == 'e') ADVANCE(171);
END_STATE();
case 137:
if (lookahead == 'g') ADVANCE(172);
END_STATE();
case 138:
if (lookahead == 'e') ADVANCE(173);
END_STATE();
case 139:
ACCEPT_TOKEN(anon_sym_array);
END_STATE();
case 140:
if (lookahead == 's') ADVANCE(174);
END_STATE();
case 141:
ACCEPT_TOKEN(anon_sym_break);
END_STATE();
case 142:
if (lookahead == 'n') ADVANCE(175);
END_STATE();
case 143:
if (lookahead == 'l') ADVANCE(176);
END_STATE();
case 144:
if (lookahead == 'r') ADVANCE(177);
END_STATE();
case 145:
if (lookahead == 'e') ADVANCE(178);
END_STATE();
case 146:
if (lookahead == 'h') ADVANCE(179);
END_STATE();
case 147:
ACCEPT_TOKEN(anon_sym_false);
END_STATE();
case 148:
if (lookahead == 'i') ADVANCE(180);
END_STATE();
case 149:
if (lookahead == '2') ADVANCE(181);
if (lookahead == '3') ADVANCE(182);
if (lookahead == '4') ADVANCE(183);
END_STATE();
case 150:
if (lookahead == '2') ADVANCE(184);
if (lookahead == '3') ADVANCE(185);
if (lookahead == '4') ADVANCE(186);
END_STATE();
case 151:
if (lookahead == '2') ADVANCE(187);
if (lookahead == '3') ADVANCE(188);
if (lookahead == '4') ADVANCE(189);
END_STATE();
case 152:
if (lookahead == 'i') ADVANCE(190);
END_STATE();
case 153:
if (lookahead == 't') ADVANCE(191);
END_STATE();
case 154:
if (lookahead == 'o') ADVANCE(192);
END_STATE();
case 155:
if (lookahead == 'n') ADVANCE(193);
END_STATE();
case 156:
if (lookahead == 'n') ADVANCE(194);
END_STATE();
case 157:
if (lookahead == 'w') ADVANCE(195);
END_STATE();
case 158:
if (lookahead == 'n') ADVANCE(196);
END_STATE();
case 159:
if (lookahead == 'l') ADVANCE(197);
END_STATE();
case 160:
if (lookahead == 'i') ADVANCE(198);
END_STATE();
case 161:
if (lookahead == 'i') ADVANCE(199);
END_STATE();
case 162:
if (lookahead == '6') ADVANCE(200);
END_STATE();
case 163:
if (lookahead == '2') ADVANCE(201);
END_STATE();
case 164:
if (lookahead == 's') ADVANCE(202);
if (lookahead == 'u') ADVANCE(203);
END_STATE();
case 165:
if (lookahead == 'e') ADVANCE(204);
END_STATE();
case 166:
if (lookahead == 'g') ADVANCE(205);
END_STATE();
case 167:
if (lookahead == 't') ADVANCE(206);
END_STATE();
case 168:
if (lookahead == 'h') ADVANCE(207);
END_STATE();
case 169:
if (lookahead == 'r') ADVANCE(208);
END_STATE();
case 170:
if (lookahead == 'r') ADVANCE(209);
END_STATE();
case 171:
ACCEPT_TOKEN(anon_sym_while);
END_STATE();
case 172:
if (lookahead == 'r') ADVANCE(210);
END_STATE();
case 173:
ACCEPT_TOKEN(anon_sym_write);
END_STATE();
case 174:
if (lookahead == 't') ADVANCE(211);
END_STATE();
case 175:
if (lookahead == 'u') ADVANCE(212);
END_STATE();
case 176:
if (lookahead == 't') ADVANCE(213);
END_STATE();
case 177:
if (lookahead == 'd') ADVANCE(214);
END_STATE();
case 178:
ACCEPT_TOKEN(anon_sym_enable);
END_STATE();
case 179:
if (lookahead == 'r') ADVANCE(215);
END_STATE();
case 180:
if (lookahead == 'o') ADVANCE(216);
END_STATE();
case 181:
ACCEPT_TOKEN(anon_sym_mat2x2);
END_STATE();
case 182:
ACCEPT_TOKEN(anon_sym_mat2x3);
END_STATE();
case 183:
ACCEPT_TOKEN(anon_sym_mat2x4);
END_STATE();
case 184:
ACCEPT_TOKEN(anon_sym_mat3x2);
END_STATE();
case 185:
ACCEPT_TOKEN(anon_sym_mat3x3);
END_STATE();
case 186:
ACCEPT_TOKEN(anon_sym_mat3x4);
END_STATE();
case 187:
ACCEPT_TOKEN(anon_sym_mat4x2);
END_STATE();
case 188:
ACCEPT_TOKEN(anon_sym_mat4x3);
END_STATE();
case 189:
ACCEPT_TOKEN(anon_sym_mat4x4);
END_STATE();
case 190:
if (lookahead == 'd') ADVANCE(217);
END_STATE();
case 191:
if (lookahead == 'e') ADVANCE(218);
END_STATE();
case 192:
if (lookahead == 'a') ADVANCE(219);
END_STATE();
case 193:
if (lookahead == 't') ADVANCE(220);
END_STATE();
case 194:
if (lookahead == 't') ADVANCE(221);
END_STATE();
case 195:
if (lookahead == 'r') ADVANCE(222);
END_STATE();
case 196:
ACCEPT_TOKEN(anon_sym_return);
END_STATE();
case 197:
if (lookahead == 'o') ADVANCE(223);
END_STATE();
case 198:
if (lookahead == 'n') ADVANCE(224);
END_STATE();
case 199:
if (lookahead == 'n') ADVANCE(225);
END_STATE();
case 200:
if (lookahead == 'f') ADVANCE(226);
if (lookahead == 's') ADVANCE(227);
if (lookahead == 'u') ADVANCE(228);
END_STATE();
case 201:
if (lookahead == 'f') ADVANCE(229);
if (lookahead == 's') ADVANCE(230);
if (lookahead == 'u') ADVANCE(231);
END_STATE();
case 202:
if (lookahead == 'i') ADVANCE(232);
if (lookahead == 'n') ADVANCE(233);
END_STATE();
case 203:
if (lookahead == 'i') ADVANCE(234);
if (lookahead == 'n') ADVANCE(235);
END_STATE();
case 204:
if (lookahead == 'r') ADVANCE(236);
END_STATE();
case 205:
if (lookahead == 'e') ADVANCE(237);
END_STATE();
case 206:
ACCEPT_TOKEN(anon_sym_struct);
END_STATE();
case 207:
ACCEPT_TOKEN(anon_sym_switch);
END_STATE();
case 208:
if (lookahead == 'e') ADVANCE(238);
END_STATE();
case 209:
if (lookahead == 'm') ADVANCE(239);
END_STATE();
case 210:
if (lookahead == 'o') ADVANCE(240);
END_STATE();
case 211:
ACCEPT_TOKEN(anon_sym_bitcast);
END_STATE();
case 212:
if (lookahead == 'e') ADVANCE(241);
if (lookahead == 'i') ADVANCE(242);
END_STATE();
case 213:
ACCEPT_TOKEN(anon_sym_default);
END_STATE();
case 214:
ACCEPT_TOKEN(anon_sym_discard);
END_STATE();
case 215:
if (lookahead == 'o') ADVANCE(243);
END_STATE();
case 216:
if (lookahead == 'n') ADVANCE(244);
END_STATE();
case 217:
if (lookahead == 'e') ADVANCE(245);
END_STATE();
case 218:
ACCEPT_TOKEN(anon_sym_private);
END_STATE();
case 219:
if (lookahead == 't') ADVANCE(246);
END_STATE();
case 220:
ACCEPT_TOKEN(anon_sym_r32sint);
END_STATE();
case 221:
ACCEPT_TOKEN(anon_sym_r32uint);
END_STATE();
case 222:
if (lookahead == 'i') ADVANCE(247);
END_STATE();
case 223:
if (lookahead == 'a') ADVANCE(248);
END_STATE();
case 224:
if (lookahead == 't') ADVANCE(249);
END_STATE();
case 225:
if (lookahead == 't') ADVANCE(250);
END_STATE();
case 226:
if (lookahead == 'l') ADVANCE(251);
END_STATE();
case 227:
if (lookahead == 'i') ADVANCE(252);
END_STATE();
case 228:
if (lookahead == 'i') ADVANCE(253);
END_STATE();
case 229:
if (lookahead == 'l') ADVANCE(254);
END_STATE();
case 230:
if (lookahead == 'i') ADVANCE(255);
END_STATE();
case 231:
if (lookahead == 'i') ADVANCE(256);
END_STATE();
case 232:
if (lookahead == 'n') ADVANCE(257);
END_STATE();
case 233:
if (lookahead == 'o') ADVANCE(258);
END_STATE();
case 234:
if (lookahead == 'n') ADVANCE(259);
END_STATE();
case 235:
if (lookahead == 'o') ADVANCE(260);
END_STATE();
case 236:
ACCEPT_TOKEN(anon_sym_sampler);
if (lookahead == '_') ADVANCE(261);
END_STATE();
case 237:
ACCEPT_TOKEN(anon_sym_storage);
END_STATE();
case 238:
if (lookahead == '_') ADVANCE(262);
END_STATE();
case 239:
ACCEPT_TOKEN(anon_sym_uniform);
END_STATE();
case 240:
if (lookahead == 'u') ADVANCE(263);
END_STATE();
case 241:
ACCEPT_TOKEN(anon_sym_continue);
END_STATE();
case 242:
if (lookahead == 'n') ADVANCE(264);
END_STATE();
case 243:
if (lookahead == 'u') ADVANCE(265);
END_STATE();
case 244:
ACCEPT_TOKEN(anon_sym_function);
END_STATE();
case 245:
ACCEPT_TOKEN(anon_sym_override);
END_STATE();
case 246:
ACCEPT_TOKEN(anon_sym_r32float);
END_STATE();
case 247:
if (lookahead == 't') ADVANCE(266);
END_STATE();
case 248:
if (lookahead == 't') ADVANCE(267);
END_STATE();
case 249:
ACCEPT_TOKEN(anon_sym_rg32sint);
END_STATE();
case 250:
ACCEPT_TOKEN(anon_sym_rg32uint);
END_STATE();
case 251:
if (lookahead == 'o') ADVANCE(268);
END_STATE();
case 252:
if (lookahead == 'n') ADVANCE(269);
END_STATE();
case 253:
if (lookahead == 'n') ADVANCE(270);
END_STATE();
case 254:
if (lookahead == 'o') ADVANCE(271);
END_STATE();
case 255:
if (lookahead == 'n') ADVANCE(272);
END_STATE();
case 256:
if (lookahead == 'n') ADVANCE(273);
END_STATE();
case 257:
if (lookahead == 't') ADVANCE(274);
END_STATE();
case 258:
if (lookahead == 'r') ADVANCE(275);
END_STATE();
case 259:
if (lookahead == 't') ADVANCE(276);
END_STATE();
case 260:
if (lookahead == 'r') ADVANCE(277);
END_STATE();
case 261:
if (lookahead == 'c') ADVANCE(278);
END_STATE();
case 262:
if (lookahead == '1') ADVANCE(279);
if (lookahead == '2') ADVANCE(280);
if (lookahead == '3') ADVANCE(281);
if (lookahead == 'c') ADVANCE(282);
if (lookahead == 'd') ADVANCE(283);
if (lookahead == 'm') ADVANCE(284);
if (lookahead == 's') ADVANCE(285);
END_STATE();
case 263:
if (lookahead == 'p') ADVANCE(286);
END_STATE();
case 264:
if (lookahead == 'g') ADVANCE(287);
END_STATE();
case 265:
if (lookahead == 'g') ADVANCE(288);
END_STATE();
case 266:
if (lookahead == 'e') ADVANCE(289);
END_STATE();
case 267:
ACCEPT_TOKEN(anon_sym_rg32float);
END_STATE();
case 268:
if (lookahead == 'a') ADVANCE(290);
END_STATE();
case 269:
if (lookahead == 't') ADVANCE(291);
END_STATE();
case 270:
if (lookahead == 't') ADVANCE(292);
END_STATE();
case 271:
if (lookahead == 'a') ADVANCE(293);
END_STATE();
case 272:
if (lookahead == 't') ADVANCE(294);
END_STATE();
case 273:
if (lookahead == 't') ADVANCE(295);
END_STATE();
case 274:
ACCEPT_TOKEN(anon_sym_rgba8sint);
END_STATE();
case 275:
if (lookahead == 'm') ADVANCE(296);
END_STATE();
case 276:
ACCEPT_TOKEN(anon_sym_rgba8uint);
END_STATE();
case 277:
if (lookahead == 'm') ADVANCE(297);
END_STATE();
case 278:
if (lookahead == 'o') ADVANCE(298);
END_STATE();
case 279:
if (lookahead == 'd') ADVANCE(299);
END_STATE();
case 280:
if (lookahead == 'd') ADVANCE(300);
END_STATE();
case 281:
if (lookahead == 'd') ADVANCE(301);
END_STATE();
case 282:
if (lookahead == 'u') ADVANCE(302);
END_STATE();
case 283:
if (lookahead == 'e') ADVANCE(303);
END_STATE();
case 284:
if (lookahead == 'u') ADVANCE(304);
END_STATE();
case 285:
if (lookahead == 't') ADVANCE(305);
END_STATE();
case 286:
ACCEPT_TOKEN(anon_sym_workgroup);
END_STATE();
case 287:
ACCEPT_TOKEN(anon_sym_continuing);
END_STATE();
case 288:
if (lookahead == 'h') ADVANCE(306);
END_STATE();
case 289:
ACCEPT_TOKEN(anon_sym_read_write);
END_STATE();
case 290:
if (lookahead == 't') ADVANCE(307);
END_STATE();
case 291:
ACCEPT_TOKEN(anon_sym_rgba16sint);
END_STATE();
case 292:
ACCEPT_TOKEN(anon_sym_rgba16uint);
END_STATE();
case 293:
if (lookahead == 't') ADVANCE(308);
END_STATE();
case 294:
ACCEPT_TOKEN(anon_sym_rgba32sint);
END_STATE();
case 295:
ACCEPT_TOKEN(anon_sym_rgba32uint);
END_STATE();
case 296:
ACCEPT_TOKEN(anon_sym_rgba8snorm);
END_STATE();
case 297:
ACCEPT_TOKEN(anon_sym_rgba8unorm);
END_STATE();
case 298:
if (lookahead == 'm') ADVANCE(309);
END_STATE();
case 299:
ACCEPT_TOKEN(anon_sym_texture_1d);
END_STATE();
case 300:
ACCEPT_TOKEN(anon_sym_texture_2d);
if (lookahead == '_') ADVANCE(310);
END_STATE();
case 301:
ACCEPT_TOKEN(anon_sym_texture_3d);
END_STATE();
case 302:
if (lookahead == 'b') ADVANCE(311);
END_STATE();
case 303:
if (lookahead == 'p') ADVANCE(312);
END_STATE();
case 304:
if (lookahead == 'l') ADVANCE(313);
END_STATE();
case 305:
if (lookahead == 'o') ADVANCE(314);
END_STATE();
case 306:
ACCEPT_TOKEN(anon_sym_fallthrough);
END_STATE();
case 307:
ACCEPT_TOKEN(anon_sym_rgba16float);
END_STATE();
case 308:
ACCEPT_TOKEN(anon_sym_rgba32float);
END_STATE();
case 309:
if (lookahead == 'p') ADVANCE(315);
END_STATE();
case 310:
if (lookahead == 'a') ADVANCE(316);
END_STATE();
case 311:
if (lookahead == 'e') ADVANCE(317);
END_STATE();
case 312:
if (lookahead == 't') ADVANCE(318);
END_STATE();
case 313:
if (lookahead == 't') ADVANCE(319);
END_STATE();
case 314:
if (lookahead == 'r') ADVANCE(320);
END_STATE();
case 315:
if (lookahead == 'a') ADVANCE(321);
END_STATE();
case 316:
if (lookahead == 'r') ADVANCE(322);
END_STATE();
case 317:
ACCEPT_TOKEN(anon_sym_texture_cube);
if (lookahead == '_') ADVANCE(323);
END_STATE();
case 318:
if (lookahead == 'h') ADVANCE(324);
END_STATE();
case 319:
if (lookahead == 'i') ADVANCE(325);
END_STATE();
case 320:
if (lookahead == 'a') ADVANCE(326);
END_STATE();
case 321:
if (lookahead == 'r') ADVANCE(327);
END_STATE();
case 322:
if (lookahead == 'r') ADVANCE(328);
END_STATE();
case 323:
if (lookahead == 'a') ADVANCE(329);
END_STATE();
case 324:
if (lookahead == '_') ADVANCE(330);
END_STATE();
case 325:
if (lookahead == 's') ADVANCE(331);
END_STATE();
case 326:
if (lookahead == 'g') ADVANCE(332);
END_STATE();
case 327:
if (lookahead == 'i') ADVANCE(333);
END_STATE();
case 328:
if (lookahead == 'a') ADVANCE(334);
END_STATE();
case 329:
if (lookahead == 'r') ADVANCE(335);
END_STATE();
case 330:
if (lookahead == '2') ADVANCE(336);
if (lookahead == 'c') ADVANCE(337);
if (lookahead == 'm') ADVANCE(338);
END_STATE();
case 331:
if (lookahead == 'a') ADVANCE(339);
END_STATE();
case 332:
if (lookahead == 'e') ADVANCE(340);
END_STATE();
case 333:
if (lookahead == 's') ADVANCE(341);
END_STATE();
case 334:
if (lookahead == 'y') ADVANCE(342);
END_STATE();
case 335:
if (lookahead == 'r') ADVANCE(343);
END_STATE();
case 336:
if (lookahead == 'd') ADVANCE(344);
END_STATE();
case 337:
if (lookahead == 'u') ADVANCE(345);
END_STATE();
case 338:
if (lookahead == 'u') ADVANCE(346);
END_STATE();
case 339:
if (lookahead == 'm') ADVANCE(347);
END_STATE();
case 340:
if (lookahead == '_') ADVANCE(348);
END_STATE();
case 341:
if (lookahead == 'o') ADVANCE(349);
END_STATE();
case 342:
ACCEPT_TOKEN(anon_sym_texture_2d_array);
END_STATE();
case 343:
if (lookahead == 'a') ADVANCE(350);
END_STATE();
case 344:
ACCEPT_TOKEN(anon_sym_texture_depth_2d);
if (lookahead == '_') ADVANCE(351);
END_STATE();
case 345:
if (lookahead == 'b') ADVANCE(352);
END_STATE();
case 346:
if (lookahead == 'l') ADVANCE(353);
END_STATE();
case 347:
if (lookahead == 'p') ADVANCE(354);
END_STATE();
case 348:
if (lookahead == '1') ADVANCE(355);
if (lookahead == '2') ADVANCE(356);
if (lookahead == '3') ADVANCE(357);
END_STATE();
case 349:
if (lookahead == 'n') ADVANCE(358);
END_STATE();
case 350:
if (lookahead == 'y') ADVANCE(359);
END_STATE();
case 351:
if (lookahead == 'a') ADVANCE(360);
END_STATE();
case 352:
if (lookahead == 'e') ADVANCE(361);
END_STATE();
case 353:
if (lookahead == 't') ADVANCE(362);
END_STATE();
case 354:
if (lookahead == 'l') ADVANCE(363);
END_STATE();
case 355:
if (lookahead == 'd') ADVANCE(364);
END_STATE();
case 356:
if (lookahead == 'd') ADVANCE(365);
END_STATE();
case 357:
if (lookahead == 'd') ADVANCE(366);
END_STATE();
case 358:
ACCEPT_TOKEN(anon_sym_sampler_comparison);
END_STATE();
case 359:
ACCEPT_TOKEN(anon_sym_texture_cube_array);
END_STATE();
case 360:
if (lookahead == 'r') ADVANCE(367);
END_STATE();
case 361:
ACCEPT_TOKEN(anon_sym_texture_depth_cube);
if (lookahead == '_') ADVANCE(368);
END_STATE();
case 362:
if (lookahead == 'i') ADVANCE(369);
END_STATE();
case 363:
if (lookahead == 'e') ADVANCE(370);
END_STATE();
case 364:
ACCEPT_TOKEN(anon_sym_texture_storage_1d);
END_STATE();
case 365:
ACCEPT_TOKEN(anon_sym_texture_storage_2d);
if (lookahead == '_') ADVANCE(371);
END_STATE();
case 366:
ACCEPT_TOKEN(anon_sym_texture_storage_3d);
END_STATE();
case 367:
if (lookahead == 'r') ADVANCE(372);
END_STATE();
case 368:
if (lookahead == 'a') ADVANCE(373);
END_STATE();
case 369:
if (lookahead == 's') ADVANCE(374);
END_STATE();
case 370:
if (lookahead == 'd') ADVANCE(375);
END_STATE();
case 371:
if (lookahead == 'a') ADVANCE(376);
END_STATE();
case 372:
if (lookahead == 'a') ADVANCE(377);
END_STATE();
case 373:
if (lookahead == 'r') ADVANCE(378);
END_STATE();
case 374:
if (lookahead == 'a') ADVANCE(379);
END_STATE();
case 375:
if (lookahead == '_') ADVANCE(380);
END_STATE();
case 376:
if (lookahead == 'r') ADVANCE(381);
END_STATE();
case 377:
if (lookahead == 'y') ADVANCE(382);
END_STATE();
case 378:
if (lookahead == 'r') ADVANCE(383);
END_STATE();
case 379:
if (lookahead == 'm') ADVANCE(384);
END_STATE();
case 380:
if (lookahead == '2') ADVANCE(385);
END_STATE();
case 381:
if (lookahead == 'r') ADVANCE(386);
END_STATE();
case 382:
ACCEPT_TOKEN(anon_sym_texture_depth_2d_array);
END_STATE();
case 383:
if (lookahead == 'a') ADVANCE(387);
END_STATE();
case 384:
if (lookahead == 'p') ADVANCE(388);
END_STATE();
case 385:
if (lookahead == 'd') ADVANCE(389);
END_STATE();
case 386:
if (lookahead == 'a') ADVANCE(390);
END_STATE();
case 387:
if (lookahead == 'y') ADVANCE(391);
END_STATE();
case 388:
if (lookahead == 'l') ADVANCE(392);
END_STATE();
case 389:
ACCEPT_TOKEN(anon_sym_texture_multisampled_2d);
END_STATE();
case 390:
if (lookahead == 'y') ADVANCE(393);
END_STATE();
case 391:
ACCEPT_TOKEN(anon_sym_texture_depth_cube_array);
END_STATE();
case 392:
if (lookahead == 'e') ADVANCE(394);
END_STATE();
case 393:
ACCEPT_TOKEN(anon_sym_texture_storage_2d_array);
END_STATE();
case 394:
if (lookahead == 'd') ADVANCE(395);
END_STATE();
case 395:
if (lookahead == '_') ADVANCE(396);
END_STATE();
case 396:
if (lookahead == '2') ADVANCE(397);
END_STATE();
case 397:
if (lookahead == 'd') ADVANCE(398);
END_STATE();
case 398:
ACCEPT_TOKEN(anon_sym_texture_depth_multisampled_2d);
END_STATE();
default:
return false;
}
}
static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[0] = {.lex_state = 0, .external_lex_state = 1},
[1] = {.lex_state = 0, .external_lex_state = 1},
[2] = {.lex_state = 27, .external_lex_state = 1},
[3] = {.lex_state = 27, .external_lex_state = 1},
[4] = {.lex_state = 27, .external_lex_state = 1},
[5] = {.lex_state = 27, .external_lex_state = 1},
[6] = {.lex_state = 27, .external_lex_state = 1},
[7] = {.lex_state = 27, .external_lex_state = 1},
[8] = {.lex_state = 27, .external_lex_state = 1},
[9] = {.lex_state = 27, .external_lex_state = 1},
[10] = {.lex_state = 27, .external_lex_state = 1},
[11] = {.lex_state = 27, .external_lex_state = 1},
[12] = {.lex_state = 27, .external_lex_state = 1},
[13] = {.lex_state = 27, .external_lex_state = 1},
[14] = {.lex_state = 27, .external_lex_state = 1},
[15] = {.lex_state = 27, .external_lex_state = 1},
[16] = {.lex_state = 27, .external_lex_state = 1},
[17] = {.lex_state = 27, .external_lex_state = 1},
[18] = {.lex_state = 27, .external_lex_state = 1},
[19] = {.lex_state = 27, .external_lex_state = 1},
[20] = {.lex_state = 27, .external_lex_state = 1},
[21] = {.lex_state = 27, .external_lex_state = 1},
[22] = {.lex_state = 27, .external_lex_state = 1},
[23] = {.lex_state = 27, .external_lex_state = 1},
[24] = {.lex_state = 27, .external_lex_state = 1},
[25] = {.lex_state = 27, .external_lex_state = 1},
[26] = {.lex_state = 27, .external_lex_state = 1},
[27] = {.lex_state = 27, .external_lex_state = 1},
[28] = {.lex_state = 27, .external_lex_state = 1},
[29] = {.lex_state = 27, .external_lex_state = 1},
[30] = {.lex_state = 27, .external_lex_state = 1},
[31] = {.lex_state = 27, .external_lex_state = 1},
[32] = {.lex_state = 27, .external_lex_state = 1},
[33] = {.lex_state = 27, .external_lex_state = 1},
[34] = {.lex_state = 27, .external_lex_state = 1},
[35] = {.lex_state = 27, .external_lex_state = 1},
[36] = {.lex_state = 27, .external_lex_state = 1},
[37] = {.lex_state = 27, .external_lex_state = 1},
[38] = {.lex_state = 27, .external_lex_state = 1},
[39] = {.lex_state = 27, .external_lex_state = 1},
[40] = {.lex_state = 27, .external_lex_state = 1},
[41] = {.lex_state = 27, .external_lex_state = 1},
[42] = {.lex_state = 27, .external_lex_state = 1},
[43] = {.lex_state = 27, .external_lex_state = 1},
[44] = {.lex_state = 27, .external_lex_state = 1},
[45] = {.lex_state = 27, .external_lex_state = 1},
[46] = {.lex_state = 27, .external_lex_state = 1},
[47] = {.lex_state = 0, .external_lex_state = 1},
[48] = {.lex_state = 27, .external_lex_state = 1},
[49] = {.lex_state = 0, .external_lex_state = 1},
[50] = {.lex_state = 0, .external_lex_state = 1},
[51] = {.lex_state = 27, .external_lex_state = 1},
[52] = {.lex_state = 0, .external_lex_state = 1},
[53] = {.lex_state = 0, .external_lex_state = 1},
[54] = {.lex_state = 0, .external_lex_state = 1},
[55] = {.lex_state = 0, .external_lex_state = 1},
[56] = {.lex_state = 0, .external_lex_state = 1},
[57] = {.lex_state = 0, .external_lex_state = 1},
[58] = {.lex_state = 0, .external_lex_state = 1},
[59] = {.lex_state = 0, .external_lex_state = 1},
[60] = {.lex_state = 0, .external_lex_state = 1},
[61] = {.lex_state = 0, .external_lex_state = 1},
[62] = {.lex_state = 27, .external_lex_state = 1},
[63] = {.lex_state = 27, .external_lex_state = 1},
[64] = {.lex_state = 27, .external_lex_state = 1},
[65] = {.lex_state = 27, .external_lex_state = 1},
[66] = {.lex_state = 27, .external_lex_state = 1},
[67] = {.lex_state = 27, .external_lex_state = 1},
[68] = {.lex_state = 27, .external_lex_state = 1},
[69] = {.lex_state = 27, .external_lex_state = 1},
[70] = {.lex_state = 27, .external_lex_state = 1},
[71] = {.lex_state = 27, .external_lex_state = 1},
[72] = {.lex_state = 27, .external_lex_state = 1},
[73] = {.lex_state = 1, .external_lex_state = 1},
[74] = {.lex_state = 1, .external_lex_state = 1},
[75] = {.lex_state = 1, .external_lex_state = 1},
[76] = {.lex_state = 1, .external_lex_state = 1},
[77] = {.lex_state = 1, .external_lex_state = 1},
[78] = {.lex_state = 1, .external_lex_state = 1},
[79] = {.lex_state = 1, .external_lex_state = 1},
[80] = {.lex_state = 1, .external_lex_state = 1},
[81] = {.lex_state = 1, .external_lex_state = 1},
[82] = {.lex_state = 1, .external_lex_state = 1},
[83] = {.lex_state = 1, .external_lex_state = 1},
[84] = {.lex_state = 1, .external_lex_state = 1},
[85] = {.lex_state = 1, .external_lex_state = 1},
[86] = {.lex_state = 1, .external_lex_state = 1},
[87] = {.lex_state = 1, .external_lex_state = 1},
[88] = {.lex_state = 1, .external_lex_state = 1},
[89] = {.lex_state = 1, .external_lex_state = 1},
[90] = {.lex_state = 1, .external_lex_state = 1},
[91] = {.lex_state = 1, .external_lex_state = 1},
[92] = {.lex_state = 1, .external_lex_state = 1},
[93] = {.lex_state = 1, .external_lex_state = 1},
[94] = {.lex_state = 1, .external_lex_state = 1},
[95] = {.lex_state = 1, .external_lex_state = 1},
[96] = {.lex_state = 1, .external_lex_state = 1},
[97] = {.lex_state = 0, .external_lex_state = 1},
[98] = {.lex_state = 1, .external_lex_state = 1},
[99] = {.lex_state = 1, .external_lex_state = 1},
[100] = {.lex_state = 1, .external_lex_state = 1},
[101] = {.lex_state = 27, .external_lex_state = 1},
[102] = {.lex_state = 1, .external_lex_state = 1},
[103] = {.lex_state = 27, .external_lex_state = 1},
[104] = {.lex_state = 1, .external_lex_state = 1},
[105] = {.lex_state = 1, .external_lex_state = 1},
[106] = {.lex_state = 1, .external_lex_state = 1},
[107] = {.lex_state = 1, .external_lex_state = 1},
[108] = {.lex_state = 1, .external_lex_state = 1},
[109] = {.lex_state = 1, .external_lex_state = 1},
[110] = {.lex_state = 1, .external_lex_state = 1},
[111] = {.lex_state = 27, .external_lex_state = 1},
[112] = {.lex_state = 1, .external_lex_state = 1},
[113] = {.lex_state = 1, .external_lex_state = 1},
[114] = {.lex_state = 1, .external_lex_state = 1},
[115] = {.lex_state = 1, .external_lex_state = 1},
[116] = {.lex_state = 1, .external_lex_state = 1},
[117] = {.lex_state = 1, .external_lex_state = 1},
[118] = {.lex_state = 1, .external_lex_state = 1},
[119] = {.lex_state = 1, .external_lex_state = 1},
[120] = {.lex_state = 27, .external_lex_state = 1},
[121] = {.lex_state = 27, .external_lex_state = 1},
[122] = {.lex_state = 27, .external_lex_state = 1},
[123] = {.lex_state = 27, .external_lex_state = 1},
[124] = {.lex_state = 27, .external_lex_state = 1},
[125] = {.lex_state = 27, .external_lex_state = 1},
[126] = {.lex_state = 27, .external_lex_state = 1},
[127] = {.lex_state = 27, .external_lex_state = 1},
[128] = {.lex_state = 27, .external_lex_state = 1},
[129] = {.lex_state = 27, .external_lex_state = 1},
[130] = {.lex_state = 27, .external_lex_state = 1},
[131] = {.lex_state = 27, .external_lex_state = 1},
[132] = {.lex_state = 0, .external_lex_state = 1},
[133] = {.lex_state = 0, .external_lex_state = 1},
[134] = {.lex_state = 0, .external_lex_state = 1},
[135] = {.lex_state = 0, .external_lex_state = 1},
[136] = {.lex_state = 2, .external_lex_state = 1},
[137] = {.lex_state = 2, .external_lex_state = 1},
[138] = {.lex_state = 2, .external_lex_state = 1},
[139] = {.lex_state = 2, .external_lex_state = 1},
[140] = {.lex_state = 2, .external_lex_state = 1},
[141] = {.lex_state = 2, .external_lex_state = 1},
[142] = {.lex_state = 2, .external_lex_state = 1},
[143] = {.lex_state = 2, .external_lex_state = 1},
[144] = {.lex_state = 2, .external_lex_state = 1},
[145] = {.lex_state = 2, .external_lex_state = 1},
[146] = {.lex_state = 2, .external_lex_state = 1},
[147] = {.lex_state = 2, .external_lex_state = 1},
[148] = {.lex_state = 2, .external_lex_state = 1},
[149] = {.lex_state = 2, .external_lex_state = 1},
[150] = {.lex_state = 2, .external_lex_state = 1},
[151] = {.lex_state = 2, .external_lex_state = 1},
[152] = {.lex_state = 2, .external_lex_state = 1},
[153] = {.lex_state = 2, .external_lex_state = 1},
[154] = {.lex_state = 2, .external_lex_state = 1},
[155] = {.lex_state = 0, .external_lex_state = 1},
[156] = {.lex_state = 2, .external_lex_state = 1},
[157] = {.lex_state = 27, .external_lex_state = 1},
[158] = {.lex_state = 27, .external_lex_state = 1},
[159] = {.lex_state = 0, .external_lex_state = 1},
[160] = {.lex_state = 0, .external_lex_state = 1},
[161] = {.lex_state = 0, .external_lex_state = 1},
[162] = {.lex_state = 0, .external_lex_state = 1},
[163] = {.lex_state = 0, .external_lex_state = 1},
[164] = {.lex_state = 0, .external_lex_state = 1},
[165] = {.lex_state = 0, .external_lex_state = 1},
[166] = {.lex_state = 0, .external_lex_state = 1},
[167] = {.lex_state = 0, .external_lex_state = 1},
[168] = {.lex_state = 0, .external_lex_state = 1},
[169] = {.lex_state = 0, .external_lex_state = 1},
[170] = {.lex_state = 0, .external_lex_state = 1},
[171] = {.lex_state = 0, .external_lex_state = 1},
[172] = {.lex_state = 0, .external_lex_state = 1},
[173] = {.lex_state = 27, .external_lex_state = 1},
[174] = {.lex_state = 0, .external_lex_state = 1},
[175] = {.lex_state = 27, .external_lex_state = 1},
[176] = {.lex_state = 27, .external_lex_state = 1},
[177] = {.lex_state = 27, .external_lex_state = 1},
[178] = {.lex_state = 27, .external_lex_state = 1},
[179] = {.lex_state = 27, .external_lex_state = 1},
[180] = {.lex_state = 0, .external_lex_state = 1},
[181] = {.lex_state = 0, .external_lex_state = 1},
[182] = {.lex_state = 0, .external_lex_state = 1},
[183] = {.lex_state = 27, .external_lex_state = 1},
[184] = {.lex_state = 27, .external_lex_state = 1},
[185] = {.lex_state = 27, .external_lex_state = 1},
[186] = {.lex_state = 0, .external_lex_state = 1},
[187] = {.lex_state = 0, .external_lex_state = 1},
[188] = {.lex_state = 0, .external_lex_state = 1},
[189] = {.lex_state = 0, .external_lex_state = 1},
[190] = {.lex_state = 0, .external_lex_state = 1},
[191] = {.lex_state = 27, .external_lex_state = 1},
[192] = {.lex_state = 27, .external_lex_state = 1},
[193] = {.lex_state = 0, .external_lex_state = 1},
[194] = {.lex_state = 0, .external_lex_state = 1},
[195] = {.lex_state = 27, .external_lex_state = 1},
[196] = {.lex_state = 27, .external_lex_state = 1},
[197] = {.lex_state = 0, .external_lex_state = 1},
[198] = {.lex_state = 27, .external_lex_state = 1},
[199] = {.lex_state = 27, .external_lex_state = 1},
[200] = {.lex_state = 0, .external_lex_state = 1},
[201] = {.lex_state = 0, .external_lex_state = 1},
[202] = {.lex_state = 27, .external_lex_state = 1},
[203] = {.lex_state = 0, .external_lex_state = 1},
[204] = {.lex_state = 0, .external_lex_state = 1},
[205] = {.lex_state = 0, .external_lex_state = 1},
[206] = {.lex_state = 0, .external_lex_state = 1},
[207] = {.lex_state = 2, .external_lex_state = 1},
[208] = {.lex_state = 0, .external_lex_state = 1},
[209] = {.lex_state = 2, .external_lex_state = 1},
[210] = {.lex_state = 0, .external_lex_state = 1},
[211] = {.lex_state = 0, .external_lex_state = 1},
[212] = {.lex_state = 0, .external_lex_state = 1},
[213] = {.lex_state = 27, .external_lex_state = 1},
[214] = {.lex_state = 2, .external_lex_state = 1},
[215] = {.lex_state = 2, .external_lex_state = 1},
[216] = {.lex_state = 0, .external_lex_state = 1},
[217] = {.lex_state = 27, .external_lex_state = 1},
[218] = {.lex_state = 0, .external_lex_state = 1},
[219] = {.lex_state = 27, .external_lex_state = 1},
[220] = {.lex_state = 0, .external_lex_state = 1},
[221] = {.lex_state = 0, .external_lex_state = 1},
[222] = {.lex_state = 0, .external_lex_state = 1},
[223] = {.lex_state = 27, .external_lex_state = 1},
[224] = {.lex_state = 0, .external_lex_state = 1},
[225] = {.lex_state = 0, .external_lex_state = 1},
[226] = {.lex_state = 0, .external_lex_state = 1},
[227] = {.lex_state = 27, .external_lex_state = 1},
[228] = {.lex_state = 0, .external_lex_state = 1},
[229] = {.lex_state = 0, .external_lex_state = 1},
[230] = {.lex_state = 0, .external_lex_state = 1},
[231] = {.lex_state = 0, .external_lex_state = 1},
[232] = {.lex_state = 0, .external_lex_state = 1},
[233] = {.lex_state = 0, .external_lex_state = 1},
[234] = {.lex_state = 0, .external_lex_state = 1},
[235] = {.lex_state = 0, .external_lex_state = 1},
[236] = {.lex_state = 0, .external_lex_state = 1},
[237] = {.lex_state = 0, .external_lex_state = 1},
[238] = {.lex_state = 0, .external_lex_state = 1},
[239] = {.lex_state = 0, .external_lex_state = 1},
[240] = {.lex_state = 27, .external_lex_state = 1},
[241] = {.lex_state = 27, .external_lex_state = 1},
[242] = {.lex_state = 0, .external_lex_state = 1},
[243] = {.lex_state = 27, .external_lex_state = 1},
[244] = {.lex_state = 27, .external_lex_state = 1},
[245] = {.lex_state = 0, .external_lex_state = 1},
[246] = {.lex_state = 27, .external_lex_state = 1},
[247] = {.lex_state = 0, .external_lex_state = 1},
[248] = {.lex_state = 0, .external_lex_state = 1},
[249] = {.lex_state = 27, .external_lex_state = 1},
[250] = {.lex_state = 0, .external_lex_state = 1},
[251] = {.lex_state = 0, .external_lex_state = 1},
[252] = {.lex_state = 0, .external_lex_state = 1},
[253] = {.lex_state = 0, .external_lex_state = 1},
[254] = {.lex_state = 27, .external_lex_state = 1},
[255] = {.lex_state = 27, .external_lex_state = 1},
[256] = {.lex_state = 0, .external_lex_state = 1},
[257] = {.lex_state = 0, .external_lex_state = 1},
[258] = {.lex_state = 0, .external_lex_state = 1},
[259] = {.lex_state = 0, .external_lex_state = 1},
[260] = {.lex_state = 0, .external_lex_state = 1},
[261] = {.lex_state = 0, .external_lex_state = 1},
[262] = {.lex_state = 0, .external_lex_state = 1},
[263] = {.lex_state = 0, .external_lex_state = 1},
[264] = {.lex_state = 0, .external_lex_state = 1},
[265] = {.lex_state = 0, .external_lex_state = 1},
[266] = {.lex_state = 27, .external_lex_state = 1},
[267] = {.lex_state = 2, .external_lex_state = 1},
[268] = {.lex_state = 0, .external_lex_state = 1},
[269] = {.lex_state = 0, .external_lex_state = 1},
[270] = {.lex_state = 0, .external_lex_state = 1},
[271] = {.lex_state = 0, .external_lex_state = 1},
[272] = {.lex_state = 0, .external_lex_state = 1},
[273] = {.lex_state = 27, .external_lex_state = 1},
[274] = {.lex_state = 27, .external_lex_state = 1},
[275] = {.lex_state = 0, .external_lex_state = 1},
[276] = {.lex_state = 0, .external_lex_state = 1},
[277] = {.lex_state = 0, .external_lex_state = 1},
[278] = {.lex_state = 27, .external_lex_state = 1},
[279] = {.lex_state = 0, .external_lex_state = 1},
[280] = {.lex_state = 0, .external_lex_state = 1},
[281] = {.lex_state = 27, .external_lex_state = 1},
[282] = {.lex_state = 0, .external_lex_state = 1},
[283] = {.lex_state = 0, .external_lex_state = 1},
[284] = {.lex_state = 0, .external_lex_state = 1},
[285] = {.lex_state = 0, .external_lex_state = 1},
[286] = {.lex_state = 0, .external_lex_state = 1},
[287] = {.lex_state = 0, .external_lex_state = 1},
[288] = {.lex_state = 0, .external_lex_state = 1},
[289] = {.lex_state = 27, .external_lex_state = 1},
[290] = {.lex_state = 0, .external_lex_state = 1},
[291] = {.lex_state = 0, .external_lex_state = 1},
[292] = {.lex_state = 0, .external_lex_state = 1},
[293] = {.lex_state = 0, .external_lex_state = 1},
[294] = {.lex_state = 0, .external_lex_state = 1},
[295] = {.lex_state = 0, .external_lex_state = 1},
[296] = {.lex_state = 0, .external_lex_state = 1},
[297] = {.lex_state = 0, .external_lex_state = 1},
[298] = {.lex_state = 0, .external_lex_state = 1},
[299] = {.lex_state = 0, .external_lex_state = 1},
[300] = {.lex_state = 0, .external_lex_state = 1},
[301] = {.lex_state = 0, .external_lex_state = 1},
[302] = {.lex_state = 0, .external_lex_state = 1},
[303] = {.lex_state = 27, .external_lex_state = 1},
[304] = {.lex_state = 0, .external_lex_state = 1},
[305] = {.lex_state = 0, .external_lex_state = 1},
[306] = {.lex_state = 0, .external_lex_state = 1},
[307] = {.lex_state = 0, .external_lex_state = 1},
[308] = {.lex_state = 0, .external_lex_state = 1},
[309] = {.lex_state = 0, .external_lex_state = 1},
[310] = {.lex_state = 0, .external_lex_state = 1},
[311] = {.lex_state = 0, .external_lex_state = 1},
[312] = {.lex_state = 0, .external_lex_state = 1},
[313] = {.lex_state = 0, .external_lex_state = 1},
[314] = {.lex_state = 0, .external_lex_state = 1},
[315] = {.lex_state = 0, .external_lex_state = 1},
[316] = {.lex_state = 0, .external_lex_state = 1},
[317] = {.lex_state = 0, .external_lex_state = 1},
[318] = {.lex_state = 27, .external_lex_state = 1},
[319] = {.lex_state = 27, .external_lex_state = 1},
[320] = {.lex_state = 0, .external_lex_state = 1},
[321] = {.lex_state = 27, .external_lex_state = 1},
[322] = {.lex_state = 0, .external_lex_state = 1},
[323] = {.lex_state = 0, .external_lex_state = 1},
[324] = {.lex_state = 0, .external_lex_state = 1},
[325] = {.lex_state = 27, .external_lex_state = 1},
[326] = {.lex_state = 27, .external_lex_state = 1},
[327] = {.lex_state = 0, .external_lex_state = 1},
[328] = {.lex_state = 0, .external_lex_state = 1},
[329] = {.lex_state = 0, .external_lex_state = 1},
[330] = {.lex_state = 27, .external_lex_state = 1},
[331] = {.lex_state = 0, .external_lex_state = 1},
[332] = {.lex_state = 0, .external_lex_state = 1},
[333] = {.lex_state = 0, .external_lex_state = 1},
[334] = {.lex_state = 27, .external_lex_state = 1},
[335] = {.lex_state = 0, .external_lex_state = 1},
[336] = {.lex_state = 0, .external_lex_state = 1},
[337] = {.lex_state = 0, .external_lex_state = 1},
[338] = {.lex_state = 0, .external_lex_state = 1},
[339] = {.lex_state = 0, .external_lex_state = 1},
[340] = {.lex_state = 0, .external_lex_state = 1},
[341] = {.lex_state = 0, .external_lex_state = 1},
[342] = {.lex_state = 0, .external_lex_state = 1},
[343] = {.lex_state = 0, .external_lex_state = 1},
[344] = {.lex_state = 0, .external_lex_state = 1},
[345] = {.lex_state = 0, .external_lex_state = 1},
[346] = {.lex_state = 0, .external_lex_state = 1},
[347] = {.lex_state = 0, .external_lex_state = 1},
[348] = {.lex_state = 0, .external_lex_state = 1},
[349] = {.lex_state = 0, .external_lex_state = 1},
[350] = {.lex_state = 0, .external_lex_state = 1},
[351] = {.lex_state = 0, .external_lex_state = 1},
[352] = {.lex_state = 0, .external_lex_state = 1},
[353] = {.lex_state = 0, .external_lex_state = 1},
[354] = {.lex_state = 0, .external_lex_state = 1},
[355] = {.lex_state = 0, .external_lex_state = 1},
[356] = {.lex_state = 0, .external_lex_state = 1},
[357] = {.lex_state = 0, .external_lex_state = 1},
[358] = {.lex_state = 0, .external_lex_state = 1},
[359] = {.lex_state = 27, .external_lex_state = 1},
};
enum {
ts_external_token_block_comment = 0,
};
static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
[ts_external_token_block_comment] = sym_block_comment,
};
static const bool ts_external_scanner_states[2][EXTERNAL_TOKEN_COUNT] = {
[1] = {
[ts_external_token_block_comment] = true,
},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[0] = {
[ts_builtin_sym_end] = ACTIONS(1),
[sym_identifier] = ACTIONS(1),
[sym_line_comment] = ACTIONS(3),
[anon_sym_SEMI] = ACTIONS(1),
[anon_sym_EQ] = ACTIONS(1),
[anon_sym_let] = ACTIONS(1),
[anon_sym_override] = ACTIONS(1),
[anon_sym_LPAREN] = ACTIONS(1),
[anon_sym_COMMA] = ACTIONS(1),
[anon_sym_RPAREN] = ACTIONS(1),
[anon_sym_type] = ACTIONS(1),
[anon_sym_fn] = ACTIONS(1),
[anon_sym_DASH_GT] = ACTIONS(1),
[anon_sym_struct] = ACTIONS(1),
[anon_sym_LBRACE] = ACTIONS(1),
[anon_sym_RBRACE] = ACTIONS(1),
[anon_sym_enable] = ACTIONS(1),
[anon_sym_AT] = ACTIONS(1),
[anon_sym__] = 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_AMP_EQ] = ACTIONS(1),
[anon_sym_PIPE_EQ] = ACTIONS(1),
[anon_sym_CARET_EQ] = ACTIONS(1),
[anon_sym_if] = ACTIONS(1),
[anon_sym_else] = ACTIONS(1),
[anon_sym_switch] = ACTIONS(1),
[anon_sym_case] = ACTIONS(1),
[anon_sym_COLON] = ACTIONS(1),
[anon_sym_default] = ACTIONS(1),
[anon_sym_fallthrough] = ACTIONS(1),
[anon_sym_loop] = ACTIONS(1),
[anon_sym_for] = ACTIONS(1),
[anon_sym_while] = ACTIONS(1),
[anon_sym_break] = ACTIONS(1),
[anon_sym_continue] = ACTIONS(1),
[anon_sym_continuing] = ACTIONS(1),
[anon_sym_return] = ACTIONS(1),
[anon_sym_discard] = ACTIONS(1),
[anon_sym_var] = ACTIONS(1),
[anon_sym_LT] = ACTIONS(1),
[anon_sym_GT] = ACTIONS(1),
[anon_sym_PLUS_PLUS] = ACTIONS(1),
[sym_int_literal] = ACTIONS(1),
[aux_sym_float_literal_token1] = ACTIONS(1),
[aux_sym_float_literal_token2] = ACTIONS(1),
[anon_sym_true] = ACTIONS(1),
[anon_sym_false] = ACTIONS(1),
[anon_sym_bool] = ACTIONS(1),
[anon_sym_u32] = ACTIONS(1),
[anon_sym_i32] = ACTIONS(1),
[anon_sym_f32] = ACTIONS(1),
[anon_sym_f16] = ACTIONS(1),
[anon_sym_array] = ACTIONS(1),
[anon_sym_ptr] = ACTIONS(1),
[anon_sym_sampler] = ACTIONS(1),
[anon_sym_sampler_comparison] = ACTIONS(1),
[anon_sym_texture_depth_2d] = ACTIONS(1),
[anon_sym_texture_depth_2d_array] = ACTIONS(1),
[anon_sym_texture_depth_cube] = ACTIONS(1),
[anon_sym_texture_depth_cube_array] = ACTIONS(1),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(1),
[anon_sym_texture_1d] = ACTIONS(1),
[anon_sym_texture_2d] = ACTIONS(1),
[anon_sym_texture_2d_array] = ACTIONS(1),
[anon_sym_texture_3d] = ACTIONS(1),
[anon_sym_texture_cube] = ACTIONS(1),
[anon_sym_texture_cube_array] = ACTIONS(1),
[anon_sym_texture_multisampled_2d] = ACTIONS(1),
[anon_sym_texture_storage_1d] = ACTIONS(1),
[anon_sym_texture_storage_2d] = ACTIONS(1),
[anon_sym_texture_storage_2d_array] = ACTIONS(1),
[anon_sym_texture_storage_3d] = ACTIONS(1),
[anon_sym_vec2] = ACTIONS(1),
[anon_sym_vec3] = ACTIONS(1),
[anon_sym_vec4] = ACTIONS(1),
[anon_sym_mat2x2] = ACTIONS(1),
[anon_sym_mat2x3] = ACTIONS(1),
[anon_sym_mat2x4] = ACTIONS(1),
[anon_sym_mat3x2] = ACTIONS(1),
[anon_sym_mat3x3] = ACTIONS(1),
[anon_sym_mat3x4] = ACTIONS(1),
[anon_sym_mat4x2] = ACTIONS(1),
[anon_sym_mat4x3] = ACTIONS(1),
[anon_sym_mat4x4] = ACTIONS(1),
[anon_sym_rgba8unorm] = ACTIONS(1),
[anon_sym_rgba8snorm] = ACTIONS(1),
[anon_sym_rgba8uint] = ACTIONS(1),
[anon_sym_rgba8sint] = ACTIONS(1),
[anon_sym_rgba16uint] = ACTIONS(1),
[anon_sym_rgba16sint] = ACTIONS(1),
[anon_sym_rgba16float] = ACTIONS(1),
[anon_sym_r32uint] = ACTIONS(1),
[anon_sym_r32sint] = ACTIONS(1),
[anon_sym_r32float] = ACTIONS(1),
[anon_sym_rg32uint] = ACTIONS(1),
[anon_sym_rg32sint] = ACTIONS(1),
[anon_sym_rg32float] = ACTIONS(1),
[anon_sym_rgba32uint] = ACTIONS(1),
[anon_sym_rgba32sint] = ACTIONS(1),
[anon_sym_rgba32float] = ACTIONS(1),
[anon_sym_function] = ACTIONS(1),
[anon_sym_private] = ACTIONS(1),
[anon_sym_workgroup] = ACTIONS(1),
[anon_sym_uniform] = ACTIONS(1),
[anon_sym_storage] = ACTIONS(1),
[anon_sym_read] = ACTIONS(1),
[anon_sym_write] = ACTIONS(1),
[anon_sym_read_write] = ACTIONS(1),
[anon_sym_bitcast] = ACTIONS(1),
[anon_sym_PIPE_PIPE] = ACTIONS(1),
[anon_sym_AMP_AMP] = ACTIONS(1),
[anon_sym_PIPE] = ACTIONS(1),
[anon_sym_CARET] = ACTIONS(1),
[anon_sym_AMP] = ACTIONS(1),
[anon_sym_EQ_EQ] = ACTIONS(1),
[anon_sym_BANG_EQ] = ACTIONS(1),
[anon_sym_LT_EQ] = ACTIONS(1),
[anon_sym_GT_EQ] = ACTIONS(1),
[anon_sym_LT_LT] = ACTIONS(1),
[anon_sym_GT_GT] = ACTIONS(1),
[anon_sym_PLUS] = ACTIONS(1),
[anon_sym_DASH] = ACTIONS(1),
[anon_sym_STAR] = ACTIONS(1),
[anon_sym_SLASH] = ACTIONS(1),
[anon_sym_PERCENT] = ACTIONS(1),
[anon_sym_BANG] = ACTIONS(1),
[anon_sym_TILDE] = ACTIONS(1),
[anon_sym_LBRACK] = ACTIONS(1),
[anon_sym_RBRACK] = ACTIONS(1),
[anon_sym_DOT] = ACTIONS(1),
[sym_block_comment] = ACTIONS(3),
},
[1] = {
[sym_source_file] = STATE(347),
[sym__declaration] = STATE(133),
[sym_global_variable_declaration] = STATE(342),
[sym_global_constant_declaration] = STATE(342),
[sym_type_alias_declaration] = STATE(342),
[sym_function_declaration] = STATE(133),
[sym_struct_declaration] = STATE(133),
[sym_enable_directive] = STATE(97),
[sym_attribute] = STATE(182),
[sym_variable_declaration] = STATE(243),
[aux_sym_source_file_repeat1] = STATE(97),
[aux_sym_source_file_repeat2] = STATE(133),
[aux_sym_global_variable_declaration_repeat1] = STATE(182),
[ts_builtin_sym_end] = ACTIONS(5),
[sym_line_comment] = ACTIONS(3),
[anon_sym_SEMI] = ACTIONS(7),
[anon_sym_let] = ACTIONS(9),
[anon_sym_override] = ACTIONS(11),
[anon_sym_type] = ACTIONS(13),
[anon_sym_fn] = ACTIONS(15),
[anon_sym_struct] = ACTIONS(17),
[anon_sym_enable] = ACTIONS(19),
[anon_sym_AT] = ACTIONS(21),
[anon_sym_var] = ACTIONS(23),
[sym_block_comment] = ACTIONS(3),
},
[2] = {
[sym__expression] = STATE(104),
[sym_const_literal] = STATE(104),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(104),
[sym_type_constructor_or_function_call_expression] = STATE(104),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(104),
[sym_binary_expression] = STATE(104),
[sym_unary_expression] = STATE(104),
[sym_subscript_expression] = STATE(104),
[sym_composite_value_decomposition_expression] = STATE(104),
[aux_sym_argument_list_expression_repeat1] = STATE(6),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[anon_sym_RPAREN] = ACTIONS(29),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[3] = {
[sym__expression] = STATE(116),
[sym_const_literal] = STATE(116),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(116),
[sym_type_constructor_or_function_call_expression] = STATE(116),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(116),
[sym_binary_expression] = STATE(116),
[sym_unary_expression] = STATE(116),
[sym_subscript_expression] = STATE(116),
[sym_composite_value_decomposition_expression] = STATE(116),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_SEMI] = ACTIONS(55),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[4] = {
[sym__expression] = STATE(106),
[sym_const_literal] = STATE(106),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(106),
[sym_type_constructor_or_function_call_expression] = STATE(106),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(106),
[sym_binary_expression] = STATE(106),
[sym_unary_expression] = STATE(106),
[sym_subscript_expression] = STATE(106),
[sym_composite_value_decomposition_expression] = STATE(106),
[aux_sym_argument_list_expression_repeat1] = STATE(4),
[sym_identifier] = ACTIONS(57),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(60),
[sym_int_literal] = ACTIONS(63),
[aux_sym_float_literal_token1] = ACTIONS(66),
[aux_sym_float_literal_token2] = ACTIONS(66),
[anon_sym_true] = ACTIONS(69),
[anon_sym_false] = ACTIONS(69),
[anon_sym_bool] = ACTIONS(72),
[anon_sym_u32] = ACTIONS(72),
[anon_sym_i32] = ACTIONS(72),
[anon_sym_f32] = ACTIONS(72),
[anon_sym_f16] = ACTIONS(72),
[anon_sym_array] = ACTIONS(75),
[anon_sym_ptr] = ACTIONS(78),
[anon_sym_sampler] = ACTIONS(72),
[anon_sym_sampler_comparison] = ACTIONS(72),
[anon_sym_texture_depth_2d] = ACTIONS(72),
[anon_sym_texture_depth_2d_array] = ACTIONS(72),
[anon_sym_texture_depth_cube] = ACTIONS(72),
[anon_sym_texture_depth_cube_array] = ACTIONS(72),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(72),
[anon_sym_texture_1d] = ACTIONS(81),
[anon_sym_texture_2d] = ACTIONS(81),
[anon_sym_texture_2d_array] = ACTIONS(81),
[anon_sym_texture_3d] = ACTIONS(81),
[anon_sym_texture_cube] = ACTIONS(81),
[anon_sym_texture_cube_array] = ACTIONS(81),
[anon_sym_texture_multisampled_2d] = ACTIONS(81),
[anon_sym_texture_storage_1d] = ACTIONS(84),
[anon_sym_texture_storage_2d] = ACTIONS(84),
[anon_sym_texture_storage_2d_array] = ACTIONS(84),
[anon_sym_texture_storage_3d] = ACTIONS(84),
[anon_sym_vec2] = ACTIONS(87),
[anon_sym_vec3] = ACTIONS(87),
[anon_sym_vec4] = ACTIONS(87),
[anon_sym_mat2x2] = ACTIONS(87),
[anon_sym_mat2x3] = ACTIONS(87),
[anon_sym_mat2x4] = ACTIONS(87),
[anon_sym_mat3x2] = ACTIONS(87),
[anon_sym_mat3x3] = ACTIONS(87),
[anon_sym_mat3x4] = ACTIONS(87),
[anon_sym_mat4x2] = ACTIONS(87),
[anon_sym_mat4x3] = ACTIONS(87),
[anon_sym_mat4x4] = ACTIONS(87),
[anon_sym_bitcast] = ACTIONS(90),
[anon_sym_AMP] = ACTIONS(93),
[anon_sym_DASH] = ACTIONS(96),
[anon_sym_STAR] = ACTIONS(93),
[anon_sym_BANG] = ACTIONS(93),
[anon_sym_TILDE] = ACTIONS(93),
[sym_block_comment] = ACTIONS(3),
},
[5] = {
[sym__expression] = STATE(110),
[sym_const_literal] = STATE(110),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(110),
[sym_type_constructor_or_function_call_expression] = STATE(110),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(110),
[sym_binary_expression] = STATE(110),
[sym_unary_expression] = STATE(110),
[sym_subscript_expression] = STATE(110),
[sym_composite_value_decomposition_expression] = STATE(110),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_SEMI] = ACTIONS(99),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[6] = {
[sym__expression] = STATE(99),
[sym_const_literal] = STATE(99),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(99),
[sym_type_constructor_or_function_call_expression] = STATE(99),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(99),
[sym_binary_expression] = STATE(99),
[sym_unary_expression] = STATE(99),
[sym_subscript_expression] = STATE(99),
[sym_composite_value_decomposition_expression] = STATE(99),
[aux_sym_argument_list_expression_repeat1] = STATE(4),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[7] = {
[sym__expression] = STATE(117),
[sym_const_literal] = STATE(117),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(117),
[sym_type_constructor_or_function_call_expression] = STATE(117),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(117),
[sym_binary_expression] = STATE(117),
[sym_unary_expression] = STATE(117),
[sym_subscript_expression] = STATE(117),
[sym_composite_value_decomposition_expression] = STATE(117),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_SEMI] = ACTIONS(101),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[8] = {
[sym__expression] = STATE(113),
[sym_const_literal] = STATE(113),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(113),
[sym_type_constructor_or_function_call_expression] = STATE(113),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(113),
[sym_binary_expression] = STATE(113),
[sym_unary_expression] = STATE(113),
[sym_subscript_expression] = STATE(113),
[sym_composite_value_decomposition_expression] = STATE(113),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[9] = {
[sym__expression] = STATE(92),
[sym_const_literal] = STATE(92),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(92),
[sym_type_constructor_or_function_call_expression] = STATE(92),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(92),
[sym_binary_expression] = STATE(92),
[sym_unary_expression] = STATE(92),
[sym_subscript_expression] = STATE(92),
[sym_composite_value_decomposition_expression] = STATE(92),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[10] = {
[sym__expression] = STATE(98),
[sym_const_literal] = STATE(98),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(98),
[sym_type_constructor_or_function_call_expression] = STATE(98),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(98),
[sym_binary_expression] = STATE(98),
[sym_unary_expression] = STATE(98),
[sym_subscript_expression] = STATE(98),
[sym_composite_value_decomposition_expression] = STATE(98),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[11] = {
[sym__expression] = STATE(118),
[sym_const_literal] = STATE(118),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(118),
[sym_type_constructor_or_function_call_expression] = STATE(118),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(118),
[sym_binary_expression] = STATE(118),
[sym_unary_expression] = STATE(118),
[sym_subscript_expression] = STATE(118),
[sym_composite_value_decomposition_expression] = STATE(118),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[12] = {
[sym__expression] = STATE(87),
[sym_const_literal] = STATE(87),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(87),
[sym_type_constructor_or_function_call_expression] = STATE(87),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(87),
[sym_binary_expression] = STATE(87),
[sym_unary_expression] = STATE(87),
[sym_subscript_expression] = STATE(87),
[sym_composite_value_decomposition_expression] = STATE(87),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[13] = {
[sym__expression] = STATE(100),
[sym_const_literal] = STATE(100),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(100),
[sym_type_constructor_or_function_call_expression] = STATE(100),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(100),
[sym_binary_expression] = STATE(100),
[sym_unary_expression] = STATE(100),
[sym_subscript_expression] = STATE(100),
[sym_composite_value_decomposition_expression] = STATE(100),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[14] = {
[sym__expression] = STATE(93),
[sym_const_literal] = STATE(93),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(93),
[sym_type_constructor_or_function_call_expression] = STATE(93),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(93),
[sym_binary_expression] = STATE(93),
[sym_unary_expression] = STATE(93),
[sym_subscript_expression] = STATE(93),
[sym_composite_value_decomposition_expression] = STATE(93),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[15] = {
[sym__expression] = STATE(84),
[sym_const_literal] = STATE(84),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(84),
[sym_type_constructor_or_function_call_expression] = STATE(84),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(84),
[sym_binary_expression] = STATE(84),
[sym_unary_expression] = STATE(84),
[sym_subscript_expression] = STATE(84),
[sym_composite_value_decomposition_expression] = STATE(84),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[16] = {
[sym__expression] = STATE(81),
[sym_const_literal] = STATE(81),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(81),
[sym_type_constructor_or_function_call_expression] = STATE(81),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(81),
[sym_binary_expression] = STATE(81),
[sym_unary_expression] = STATE(81),
[sym_subscript_expression] = STATE(81),
[sym_composite_value_decomposition_expression] = STATE(81),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[17] = {
[sym__expression] = STATE(112),
[sym_const_literal] = STATE(112),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(112),
[sym_type_constructor_or_function_call_expression] = STATE(112),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(112),
[sym_binary_expression] = STATE(112),
[sym_unary_expression] = STATE(112),
[sym_subscript_expression] = STATE(112),
[sym_composite_value_decomposition_expression] = STATE(112),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[18] = {
[sym__expression] = STATE(107),
[sym_const_literal] = STATE(107),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(107),
[sym_type_constructor_or_function_call_expression] = STATE(107),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(107),
[sym_binary_expression] = STATE(107),
[sym_unary_expression] = STATE(107),
[sym_subscript_expression] = STATE(107),
[sym_composite_value_decomposition_expression] = STATE(107),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[19] = {
[sym__expression] = STATE(108),
[sym_const_literal] = STATE(108),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(108),
[sym_type_constructor_or_function_call_expression] = STATE(108),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(108),
[sym_binary_expression] = STATE(108),
[sym_unary_expression] = STATE(108),
[sym_subscript_expression] = STATE(108),
[sym_composite_value_decomposition_expression] = STATE(108),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[20] = {
[sym__expression] = STATE(109),
[sym_const_literal] = STATE(109),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(109),
[sym_type_constructor_or_function_call_expression] = STATE(109),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(109),
[sym_binary_expression] = STATE(109),
[sym_unary_expression] = STATE(109),
[sym_subscript_expression] = STATE(109),
[sym_composite_value_decomposition_expression] = STATE(109),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[21] = {
[sym__expression] = STATE(105),
[sym_const_literal] = STATE(105),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(105),
[sym_type_constructor_or_function_call_expression] = STATE(105),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(105),
[sym_binary_expression] = STATE(105),
[sym_unary_expression] = STATE(105),
[sym_subscript_expression] = STATE(105),
[sym_composite_value_decomposition_expression] = STATE(105),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[22] = {
[sym__expression] = STATE(79),
[sym_const_literal] = STATE(79),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(79),
[sym_type_constructor_or_function_call_expression] = STATE(79),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(79),
[sym_binary_expression] = STATE(79),
[sym_unary_expression] = STATE(79),
[sym_subscript_expression] = STATE(79),
[sym_composite_value_decomposition_expression] = STATE(79),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[23] = {
[sym__expression] = STATE(94),
[sym_const_literal] = STATE(94),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(94),
[sym_type_constructor_or_function_call_expression] = STATE(94),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(94),
[sym_binary_expression] = STATE(94),
[sym_unary_expression] = STATE(94),
[sym_subscript_expression] = STATE(94),
[sym_composite_value_decomposition_expression] = STATE(94),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[24] = {
[sym__expression] = STATE(88),
[sym_const_literal] = STATE(88),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(88),
[sym_type_constructor_or_function_call_expression] = STATE(88),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(88),
[sym_binary_expression] = STATE(88),
[sym_unary_expression] = STATE(88),
[sym_subscript_expression] = STATE(88),
[sym_composite_value_decomposition_expression] = STATE(88),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[25] = {
[sym__expression] = STATE(102),
[sym_const_literal] = STATE(102),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(102),
[sym_type_constructor_or_function_call_expression] = STATE(102),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(102),
[sym_binary_expression] = STATE(102),
[sym_unary_expression] = STATE(102),
[sym_subscript_expression] = STATE(102),
[sym_composite_value_decomposition_expression] = STATE(102),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[26] = {
[sym__expression] = STATE(119),
[sym_const_literal] = STATE(119),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(119),
[sym_type_constructor_or_function_call_expression] = STATE(119),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(119),
[sym_binary_expression] = STATE(119),
[sym_unary_expression] = STATE(119),
[sym_subscript_expression] = STATE(119),
[sym_composite_value_decomposition_expression] = STATE(119),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[27] = {
[sym__expression] = STATE(91),
[sym_const_literal] = STATE(91),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(91),
[sym_type_constructor_or_function_call_expression] = STATE(91),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(91),
[sym_binary_expression] = STATE(91),
[sym_unary_expression] = STATE(91),
[sym_subscript_expression] = STATE(91),
[sym_composite_value_decomposition_expression] = STATE(91),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[28] = {
[sym__expression] = STATE(114),
[sym_const_literal] = STATE(114),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(114),
[sym_type_constructor_or_function_call_expression] = STATE(114),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(114),
[sym_binary_expression] = STATE(114),
[sym_unary_expression] = STATE(114),
[sym_subscript_expression] = STATE(114),
[sym_composite_value_decomposition_expression] = STATE(114),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[29] = {
[sym__expression] = STATE(115),
[sym_const_literal] = STATE(115),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(115),
[sym_type_constructor_or_function_call_expression] = STATE(115),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(115),
[sym_binary_expression] = STATE(115),
[sym_unary_expression] = STATE(115),
[sym_subscript_expression] = STATE(115),
[sym_composite_value_decomposition_expression] = STATE(115),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[30] = {
[sym__expression] = STATE(78),
[sym_const_literal] = STATE(78),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(78),
[sym_type_constructor_or_function_call_expression] = STATE(78),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(78),
[sym_binary_expression] = STATE(78),
[sym_unary_expression] = STATE(78),
[sym_subscript_expression] = STATE(78),
[sym_composite_value_decomposition_expression] = STATE(78),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
[31] = {
[sym__expression] = STATE(83),
[sym_const_literal] = STATE(83),
[sym_float_literal] = STATE(75),
[sym_bool_literal] = STATE(75),
[sym_parenthesized_expression] = STATE(83),
[sym_type_constructor_or_function_call_expression] = STATE(83),
[sym_type_declaration] = STATE(280),
[sym__vec_prefix] = STATE(218),
[sym__mat_prefix] = STATE(218),
[sym_bitcast_expression] = STATE(83),
[sym_binary_expression] = STATE(83),
[sym_unary_expression] = STATE(83),
[sym_subscript_expression] = STATE(83),
[sym_composite_value_decomposition_expression] = STATE(83),
[sym_identifier] = ACTIONS(25),
[sym_line_comment] = ACTIONS(3),
[anon_sym_LPAREN] = ACTIONS(27),
[sym_int_literal] = ACTIONS(31),
[aux_sym_float_literal_token1] = ACTIONS(33),
[aux_sym_float_literal_token2] = ACTIONS(33),
[anon_sym_true] = ACTIONS(35),
[anon_sym_false] = ACTIONS(35),
[anon_sym_bool] = ACTIONS(37),
[anon_sym_u32] = ACTIONS(37),
[anon_sym_i32] = ACTIONS(37),
[anon_sym_f32] = ACTIONS(37),
[anon_sym_f16] = ACTIONS(37),
[anon_sym_array] = ACTIONS(39),
[anon_sym_ptr] = ACTIONS(41),
[anon_sym_sampler] = ACTIONS(37),
[anon_sym_sampler_comparison] = ACTIONS(37),
[anon_sym_texture_depth_2d] = ACTIONS(37),
[anon_sym_texture_depth_2d_array] = ACTIONS(37),
[anon_sym_texture_depth_cube] = ACTIONS(37),
[anon_sym_texture_depth_cube_array] = ACTIONS(37),
[anon_sym_texture_depth_multisampled_2d] = ACTIONS(37),
[anon_sym_texture_1d] = ACTIONS(43),
[anon_sym_texture_2d] = ACTIONS(43),
[anon_sym_texture_2d_array] = ACTIONS(43),
[anon_sym_texture_3d] = ACTIONS(43),
[anon_sym_texture_cube] = ACTIONS(43),
[anon_sym_texture_cube_array] = ACTIONS(43),
[anon_sym_texture_multisampled_2d] = ACTIONS(43),
[anon_sym_texture_storage_1d] = ACTIONS(45),
[anon_sym_texture_storage_2d] = ACTIONS(45),
[anon_sym_texture_storage_2d_array] = ACTIONS(45),
[anon_sym_texture_storage_3d] = ACTIONS(45),
[anon_sym_vec2] = ACTIONS(47),
[anon_sym_vec3] = ACTIONS(47),
[anon_sym_vec4] = ACTIONS(47),
[anon_sym_mat2x2] = ACTIONS(47),
[anon_sym_mat2x3] = ACTIONS(47),
[anon_sym_mat2x4] = ACTIONS(47),
[anon_sym_mat3x2] = ACTIONS(47),
[anon_sym_mat3x3] = ACTIONS(47),
[anon_sym_mat3x4] = ACTIONS(47),
[anon_sym_mat4x2] = ACTIONS(47),
[anon_sym_mat4x3] = ACTIONS(47),
[anon_sym_mat4x4] = ACTIONS(47),
[anon_sym_bitcast] = ACTIONS(49),
[anon_sym_AMP] = ACTIONS(51),
[anon_sym_DASH] = ACTIONS(53),
[anon_sym_STAR] = ACTIONS(51),
[anon_sym_BANG] = ACTIONS(51),
[anon_sym_TILDE] = ACTIONS(51),
[sym_block_comment] = ACTIONS(3),
},
};
static const uint16_t ts_small_parse_table[] = {
[0] = 21,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
ACTIONS(103), 1,
sym_identifier,
ACTIONS(105), 1,
anon_sym_SEMI,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
STATE(280), 1,
sym_type_declaration,
STATE(307), 1,
sym_for_header,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(218), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
STATE(308), 5,
sym_assignment_statement,
sym_variable_statement,
sym_increment_statement,
sym_decrement_statement,
sym_type_constructor_or_function_call_expression,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(37), 12,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
ACTIONS(47), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[102] = 17,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
ACTIONS(103), 1,
sym_identifier,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(117), 1,
anon_sym_RPAREN,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(280), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(218), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
STATE(338), 4,
sym_assignment_statement,
sym_increment_statement,
sym_decrement_statement,
sym_type_constructor_or_function_call_expression,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(37), 12,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
ACTIONS(47), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[191] = 17,
ACTIONS(31), 1,
sym_int_literal,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
ACTIONS(119), 1,
anon_sym_RPAREN,
STATE(39), 1,
aux_sym_const_expresssion_repeat1,
STATE(224), 1,
sym_const_literal,
STATE(245), 1,
sym_const_expression,
STATE(295), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(35), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[280] = 17,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
ACTIONS(103), 1,
sym_identifier,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(123), 1,
anon_sym_RPAREN,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(280), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(218), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
STATE(349), 4,
sym_assignment_statement,
sym_increment_statement,
sym_decrement_statement,
sym_type_constructor_or_function_call_expression,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(37), 12,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
ACTIONS(47), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[369] = 17,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
ACTIONS(103), 1,
sym_identifier,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(125), 1,
anon_sym_RPAREN,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(280), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(218), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
STATE(320), 4,
sym_assignment_statement,
sym_increment_statement,
sym_decrement_statement,
sym_type_constructor_or_function_call_expression,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(37), 12,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
ACTIONS(47), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[458] = 4,
ACTIONS(131), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(129), 7,
anon_sym_LPAREN,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
anon_sym_AMP,
anon_sym_STAR,
anon_sym_BANG,
anon_sym_TILDE,
ACTIONS(127), 43,
sym_identifier,
sym_int_literal,
anon_sym_true,
anon_sym_false,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
anon_sym_bitcast,
anon_sym_DASH,
[520] = 16,
ACTIONS(136), 1,
sym_int_literal,
ACTIONS(145), 1,
anon_sym_array,
ACTIONS(148), 1,
anon_sym_ptr,
STATE(38), 1,
aux_sym_const_expresssion_repeat1,
STATE(224), 1,
sym_const_literal,
STATE(295), 1,
sym_type_declaration,
STATE(316), 1,
sym_const_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(139), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(142), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(154), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(151), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(157), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(133), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[606] = 16,
ACTIONS(31), 1,
sym_int_literal,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(38), 1,
aux_sym_const_expresssion_repeat1,
STATE(224), 1,
sym_const_literal,
STATE(269), 1,
sym_const_expression,
STATE(295), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(35), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[692] = 4,
ACTIONS(160), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(129), 7,
anon_sym_LPAREN,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
anon_sym_AMP,
anon_sym_STAR,
anon_sym_BANG,
anon_sym_TILDE,
ACTIONS(127), 43,
sym_identifier,
sym_int_literal,
anon_sym_true,
anon_sym_false,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
anon_sym_bitcast,
anon_sym_DASH,
[754] = 15,
ACTIONS(31), 1,
sym_int_literal,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(224), 1,
sym_const_literal,
STATE(291), 1,
sym_const_expression,
STATE(295), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(35), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[837] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(129), 7,
anon_sym_LPAREN,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
anon_sym_AMP,
anon_sym_STAR,
anon_sym_BANG,
anon_sym_TILDE,
ACTIONS(127), 43,
sym_identifier,
sym_int_literal,
anon_sym_true,
anon_sym_false,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
anon_sym_bitcast,
anon_sym_DASH,
[896] = 15,
ACTIONS(31), 1,
sym_int_literal,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(224), 1,
sym_const_literal,
STATE(295), 1,
sym_type_declaration,
STATE(297), 1,
sym_const_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(35), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[979] = 15,
ACTIONS(31), 1,
sym_int_literal,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(224), 1,
sym_const_literal,
STATE(295), 1,
sym_type_declaration,
STATE(311), 1,
sym_const_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(35), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[1062] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(164), 7,
anon_sym_LPAREN,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
anon_sym_AMP,
anon_sym_STAR,
anon_sym_BANG,
anon_sym_TILDE,
ACTIONS(162), 43,
sym_identifier,
sym_int_literal,
anon_sym_true,
anon_sym_false,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
anon_sym_bitcast,
anon_sym_DASH,
[1121] = 4,
ACTIONS(168), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(170), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(166), 41,
sym_identifier,
sym_int_literal,
anon_sym_true,
anon_sym_false,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[1176] = 4,
ACTIONS(174), 1,
anon_sym_AT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(47), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
ACTIONS(172), 41,
anon_sym_override,
anon_sym_fn,
sym_identifier,
anon_sym_var,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[1231] = 4,
ACTIONS(177), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(170), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(166), 41,
sym_identifier,
sym_int_literal,
anon_sym_true,
anon_sym_false,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[1286] = 11,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(294), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(47), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[1355] = 11,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(301), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(49), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[1424] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(170), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(166), 41,
sym_identifier,
sym_int_literal,
anon_sym_true,
anon_sym_false,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[1476] = 4,
ACTIONS(181), 1,
anon_sym_LPAREN,
ACTIONS(183), 1,
anon_sym_AT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(179), 41,
anon_sym_override,
anon_sym_fn,
sym_identifier,
anon_sym_var,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[1530] = 3,
ACTIONS(187), 1,
anon_sym_AT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(185), 41,
anon_sym_override,
anon_sym_fn,
sym_identifier,
anon_sym_var,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[1581] = 3,
ACTIONS(191), 1,
anon_sym_AT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(189), 41,
anon_sym_override,
anon_sym_fn,
sym_identifier,
anon_sym_var,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[1632] = 3,
ACTIONS(195), 1,
anon_sym_AT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(193), 41,
anon_sym_override,
anon_sym_fn,
sym_identifier,
anon_sym_var,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_array,
anon_sym_ptr,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
[1683] = 9,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(198), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[1745] = 9,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(330), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[1807] = 9,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(359), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[1869] = 9,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(255), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[1931] = 9,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(288), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[1993] = 9,
ACTIONS(39), 1,
anon_sym_array,
ACTIONS(41), 1,
anon_sym_ptr,
STATE(240), 1,
sym_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(293), 2,
sym__vec_prefix,
sym__mat_prefix,
ACTIONS(45), 4,
anon_sym_texture_storage_1d,
anon_sym_texture_storage_2d,
anon_sym_texture_storage_2d_array,
anon_sym_texture_storage_3d,
ACTIONS(43), 7,
anon_sym_texture_1d,
anon_sym_texture_2d,
anon_sym_texture_2d_array,
anon_sym_texture_3d,
anon_sym_texture_cube,
anon_sym_texture_cube_array,
anon_sym_texture_multisampled_2d,
ACTIONS(121), 12,
anon_sym_vec2,
anon_sym_vec3,
anon_sym_vec4,
anon_sym_mat2x2,
anon_sym_mat2x3,
anon_sym_mat2x4,
anon_sym_mat3x2,
anon_sym_mat3x3,
anon_sym_mat3x4,
anon_sym_mat4x2,
anon_sym_mat4x3,
anon_sym_mat4x4,
ACTIONS(37), 13,
sym_identifier,
anon_sym_bool,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
anon_sym_sampler,
anon_sym_sampler_comparison,
anon_sym_texture_depth_2d,
anon_sym_texture_depth_2d_array,
anon_sym_texture_depth_cube,
anon_sym_texture_depth_cube_array,
anon_sym_texture_depth_multisampled_2d,
[2055] = 25,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
ACTIONS(197), 1,
sym_identifier,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(201), 1,
anon_sym_RBRACE,
ACTIONS(203), 1,
anon_sym_if,
ACTIONS(205), 1,
anon_sym_switch,
ACTIONS(207), 1,
anon_sym_fallthrough,
ACTIONS(209), 1,
anon_sym_loop,
ACTIONS(211), 1,
anon_sym_for,
ACTIONS(213), 1,
anon_sym_while,
ACTIONS(215), 1,
anon_sym_break,
ACTIONS(217), 1,
anon_sym_continue,
ACTIONS(219), 1,
anon_sym_return,
ACTIONS(221), 1,
anon_sym_discard,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
STATE(333), 1,
sym_fallthrough_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(66), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2147] = 25,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
ACTIONS(197), 1,
sym_identifier,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(203), 1,
anon_sym_if,
ACTIONS(205), 1,
anon_sym_switch,
ACTIONS(209), 1,
anon_sym_loop,
ACTIONS(211), 1,
anon_sym_for,
ACTIONS(213), 1,
anon_sym_while,
ACTIONS(215), 1,
anon_sym_break,
ACTIONS(217), 1,
anon_sym_continue,
ACTIONS(219), 1,
anon_sym_return,
ACTIONS(221), 1,
anon_sym_discard,
ACTIONS(223), 1,
anon_sym_RBRACE,
ACTIONS(225), 1,
anon_sym_continuing,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
STATE(298), 1,
sym_continuing_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(64), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2239] = 24,
ACTIONS(227), 1,
sym_identifier,
ACTIONS(230), 1,
anon_sym_let,
ACTIONS(233), 1,
anon_sym_LPAREN,
ACTIONS(236), 1,
anon_sym_LBRACE,
ACTIONS(239), 1,
anon_sym_RBRACE,
ACTIONS(241), 1,
anon_sym__,
ACTIONS(244), 1,
anon_sym_if,
ACTIONS(247), 1,
anon_sym_switch,
ACTIONS(252), 1,
anon_sym_loop,
ACTIONS(255), 1,
anon_sym_for,
ACTIONS(258), 1,
anon_sym_while,
ACTIONS(261), 1,
anon_sym_break,
ACTIONS(264), 1,
anon_sym_continue,
ACTIONS(267), 1,
anon_sym_return,
ACTIONS(270), 1,
anon_sym_discard,
ACTIONS(273), 1,
anon_sym_var,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(250), 2,
anon_sym_fallthrough,
anon_sym_continuing,
ACTIONS(276), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(64), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2329] = 25,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
ACTIONS(197), 1,
sym_identifier,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(203), 1,
anon_sym_if,
ACTIONS(205), 1,
anon_sym_switch,
ACTIONS(209), 1,
anon_sym_loop,
ACTIONS(211), 1,
anon_sym_for,
ACTIONS(213), 1,
anon_sym_while,
ACTIONS(215), 1,
anon_sym_break,
ACTIONS(217), 1,
anon_sym_continue,
ACTIONS(219), 1,
anon_sym_return,
ACTIONS(221), 1,
anon_sym_discard,
ACTIONS(225), 1,
anon_sym_continuing,
ACTIONS(279), 1,
anon_sym_RBRACE,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
STATE(309), 1,
sym_continuing_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(63), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2421] = 25,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
ACTIONS(197), 1,
sym_identifier,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(203), 1,
anon_sym_if,
ACTIONS(205), 1,
anon_sym_switch,
ACTIONS(207), 1,
anon_sym_fallthrough,
ACTIONS(209), 1,
anon_sym_loop,
ACTIONS(211), 1,
anon_sym_for,
ACTIONS(213), 1,
anon_sym_while,
ACTIONS(215), 1,
anon_sym_break,
ACTIONS(217), 1,
anon_sym_continue,
ACTIONS(219), 1,
anon_sym_return,
ACTIONS(221), 1,
anon_sym_discard,
ACTIONS(281), 1,
anon_sym_RBRACE,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
STATE(346), 1,
sym_fallthrough_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(64), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2513] = 24,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
ACTIONS(197), 1,
sym_identifier,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(203), 1,
anon_sym_if,
ACTIONS(205), 1,
anon_sym_switch,
ACTIONS(209), 1,
anon_sym_loop,
ACTIONS(211), 1,
anon_sym_for,
ACTIONS(213), 1,
anon_sym_while,
ACTIONS(217), 1,
anon_sym_continue,
ACTIONS(219), 1,
anon_sym_return,
ACTIONS(221), 1,
anon_sym_discard,
ACTIONS(283), 1,
anon_sym_RBRACE,
ACTIONS(285), 1,
anon_sym_break,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
STATE(337), 1,
sym_break_if_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(64), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2602] = 24,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
ACTIONS(197), 1,
sym_identifier,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(203), 1,
anon_sym_if,
ACTIONS(205), 1,
anon_sym_switch,
ACTIONS(209), 1,
anon_sym_loop,
ACTIONS(211), 1,
anon_sym_for,
ACTIONS(213), 1,
anon_sym_while,
ACTIONS(217), 1,
anon_sym_continue,
ACTIONS(219), 1,
anon_sym_return,
ACTIONS(221), 1,
anon_sym_discard,
ACTIONS(285), 1,
anon_sym_break,
ACTIONS(287), 1,
anon_sym_RBRACE,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
STATE(317), 1,
sym_break_if_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(67), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2691] = 23,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
ACTIONS(197), 1,
sym_identifier,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(203), 1,
anon_sym_if,
ACTIONS(205), 1,
anon_sym_switch,
ACTIONS(209), 1,
anon_sym_loop,
ACTIONS(211), 1,
anon_sym_for,
ACTIONS(213), 1,
anon_sym_while,
ACTIONS(215), 1,
anon_sym_break,
ACTIONS(217), 1,
anon_sym_continue,
ACTIONS(219), 1,
anon_sym_return,
ACTIONS(221), 1,
anon_sym_discard,
ACTIONS(289), 1,
anon_sym_RBRACE,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(70), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2777] = 23,
ACTIONS(107), 1,
anon_sym_let,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(111), 1,
anon_sym__,
ACTIONS(113), 1,
anon_sym_var,
ACTIONS(197), 1,
sym_identifier,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(203), 1,
anon_sym_if,
ACTIONS(205), 1,
anon_sym_switch,
ACTIONS(209), 1,
anon_sym_loop,
ACTIONS(211), 1,
anon_sym_for,
ACTIONS(213), 1,
anon_sym_while,
ACTIONS(215), 1,
anon_sym_break,
ACTIONS(217), 1,
anon_sym_continue,
ACTIONS(219), 1,
anon_sym_return,
ACTIONS(221), 1,
anon_sym_discard,
ACTIONS(291), 1,
anon_sym_RBRACE,
STATE(154), 1,
sym_lhs_expression,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(246), 1,
sym_variable_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
STATE(340), 3,
sym_assignment_statement,
sym_return_statement,
sym_variable_statement,
STATE(64), 13,
sym__statement,
sym_compound_statement,
sym_if_statement,
sym_switch_statement,
sym_loop_statement,
sym_for_statement,
sym_while_statement,
sym_break_statement,
sym_continue_statement,
sym_discard_statement,
sym_increment_statement,
sym_decrement_statement,
aux_sym_compound_statement_repeat1,
[2863] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(293), 8,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AT,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(295), 20,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_else,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[2900] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(297), 8,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AT,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(299), 20,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_else,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[2937] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(303), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(301), 21,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_COLON,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[2972] = 4,
ACTIONS(307), 1,
anon_sym_LPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(309), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(305), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3009] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(313), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(311), 21,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_COLON,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3044] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(317), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(315), 21,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_COLON,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3079] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(321), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(319), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3113] = 13,
ACTIONS(327), 1,
anon_sym_PIPE,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(323), 8,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_RBRACK,
[3167] = 7,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(327), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
ACTIONS(323), 16,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_RBRACK,
[3209] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(349), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(347), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3243] = 8,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(327), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
ACTIONS(323), 14,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_RBRACK,
[3287] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(353), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(351), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3321] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(357), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(355), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3355] = 11,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(327), 2,
anon_sym_PIPE,
anon_sym_AMP,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(323), 10,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_RBRACK,
[3405] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(361), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(359), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3439] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(365), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(363), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3473] = 9,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(327), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
ACTIONS(323), 12,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_RBRACK,
[3519] = 5,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(327), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(323), 18,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_RBRACK,
[3557] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(369), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(367), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3591] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(373), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(371), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3625] = 15,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(323), 6,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_RBRACK,
[3683] = 14,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(323), 7,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_RBRACK,
[3739] = 12,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(327), 2,
anon_sym_PIPE,
anon_sym_AMP,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(323), 8,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_RBRACK,
[3791] = 14,
ACTIONS(327), 1,
anon_sym_PIPE,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(323), 7,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_RBRACK,
[3847] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(383), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(381), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3881] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(387), 5,
anon_sym_LT,
anon_sym_GT,
anon_sym_PIPE,
anon_sym_AMP,
anon_sym_SLASH,
ACTIONS(385), 20,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_CARET,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
anon_sym_LT_LT,
anon_sym_GT_GT,
anon_sym_PLUS,
anon_sym_DASH,
anon_sym_STAR,
anon_sym_PERCENT,
anon_sym_LBRACK,
anon_sym_RBRACK,
anon_sym_DOT,
[3915] = 16,
ACTIONS(9), 1,
anon_sym_let,
ACTIONS(11), 1,
anon_sym_override,
ACTIONS(13), 1,
anon_sym_type,
ACTIONS(15), 1,
anon_sym_fn,
ACTIONS(17), 1,
anon_sym_struct,
ACTIONS(19), 1,
anon_sym_enable,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(23), 1,
anon_sym_var,
ACTIONS(389), 1,
ts_builtin_sym_end,
ACTIONS(391), 1,
anon_sym_SEMI,
STATE(243), 1,
sym_variable_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(155), 2,
sym_enable_directive,
aux_sym_source_file_repeat1,
STATE(182), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
STATE(342), 3,
sym_global_variable_declaration,
sym_global_constant_declaration,
sym_type_alias_declaration,
STATE(134), 4,
sym__declaration,
sym_function_declaration,
sym_struct_declaration,
aux_sym_source_file_repeat2,
[3972] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
ACTIONS(393), 2,
anon_sym_SEMI,
anon_sym_RPAREN,
[4029] = 17,
ACTIONS(160), 1,
anon_sym_RPAREN,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(397), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4088] = 17,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
STATE(123), 1,
sym_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4147] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(401), 7,
anon_sym_SEMI,
anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(399), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[4178] = 17,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
STATE(111), 1,
sym_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4237] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(405), 7,
anon_sym_SEMI,
anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(403), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[4268] = 17,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(407), 1,
anon_sym_COMMA,
ACTIONS(409), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4327] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(411), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4383] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(413), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4439] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(415), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4495] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(417), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4551] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(419), 1,
anon_sym_LBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4607] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(421), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4663] = 4,
ACTIONS(427), 1,
anon_sym_else,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(425), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(423), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[4695] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(429), 1,
anon_sym_RBRACK,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4751] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(431), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4807] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(433), 1,
anon_sym_RBRACK,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4863] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(435), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4919] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(437), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[4975] = 16,
ACTIONS(99), 1,
anon_sym_SEMI,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[5031] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(439), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[5087] = 16,
ACTIONS(329), 1,
anon_sym_AMP,
ACTIONS(341), 1,
anon_sym_SLASH,
ACTIONS(343), 1,
anon_sym_LBRACK,
ACTIONS(345), 1,
anon_sym_DOT,
ACTIONS(375), 1,
anon_sym_AMP_AMP,
ACTIONS(377), 1,
anon_sym_PIPE,
ACTIONS(379), 1,
anon_sym_CARET,
ACTIONS(395), 1,
anon_sym_PIPE_PIPE,
ACTIONS(441), 1,
anon_sym_RBRACK,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(325), 2,
anon_sym_LT,
anon_sym_GT,
ACTIONS(331), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
ACTIONS(333), 2,
anon_sym_LT_EQ,
anon_sym_GT_EQ,
ACTIONS(335), 2,
anon_sym_LT_LT,
anon_sym_GT_GT,
ACTIONS(337), 2,
anon_sym_PLUS,
anon_sym_DASH,
ACTIONS(339), 2,
anon_sym_STAR,
anon_sym_PERCENT,
[5143] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(445), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(443), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5172] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(449), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(447), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5201] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(453), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(451), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5230] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(457), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(455), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5259] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(461), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(459), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5288] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(465), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(463), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5317] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(469), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(467), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5346] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(473), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(471), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5375] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(477), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(475), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5404] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(481), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(479), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5433] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(485), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(483), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5462] = 3,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(489), 5,
anon_sym_LPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_AMP,
anon_sym_STAR,
ACTIONS(487), 15,
anon_sym_let,
sym_identifier,
anon_sym__,
anon_sym_if,
anon_sym_switch,
anon_sym_fallthrough,
anon_sym_loop,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_continuing,
anon_sym_return,
anon_sym_discard,
anon_sym_var,
[5491] = 14,
ACTIONS(491), 1,
ts_builtin_sym_end,
ACTIONS(493), 1,
anon_sym_SEMI,
ACTIONS(496), 1,
anon_sym_let,
ACTIONS(499), 1,
anon_sym_override,
ACTIONS(502), 1,
anon_sym_type,
ACTIONS(505), 1,
anon_sym_fn,
ACTIONS(508), 1,
anon_sym_struct,
ACTIONS(511), 1,
anon_sym_AT,
ACTIONS(514), 1,
anon_sym_var,
STATE(243), 1,
sym_variable_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(182), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
STATE(342), 3,
sym_global_variable_declaration,
sym_global_constant_declaration,
sym_type_alias_declaration,
STATE(132), 4,
sym__declaration,
sym_function_declaration,
sym_struct_declaration,
aux_sym_source_file_repeat2,
[5541] = 14,
ACTIONS(9), 1,
anon_sym_let,
ACTIONS(11), 1,
anon_sym_override,
ACTIONS(13), 1,
anon_sym_type,
ACTIONS(15), 1,
anon_sym_fn,
ACTIONS(17), 1,
anon_sym_struct,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(23), 1,
anon_sym_var,
ACTIONS(389), 1,
ts_builtin_sym_end,
ACTIONS(517), 1,
anon_sym_SEMI,
STATE(243), 1,
sym_variable_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(182), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
STATE(342), 3,
sym_global_variable_declaration,
sym_global_constant_declaration,
sym_type_alias_declaration,
STATE(132), 4,
sym__declaration,
sym_function_declaration,
sym_struct_declaration,
aux_sym_source_file_repeat2,
[5591] = 14,
ACTIONS(9), 1,
anon_sym_let,
ACTIONS(11), 1,
anon_sym_override,
ACTIONS(13), 1,
anon_sym_type,
ACTIONS(15), 1,
anon_sym_fn,
ACTIONS(17), 1,
anon_sym_struct,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(23), 1,
anon_sym_var,
ACTIONS(517), 1,
anon_sym_SEMI,
ACTIONS(519), 1,
ts_builtin_sym_end,
STATE(243), 1,
sym_variable_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(182), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
STATE(342), 3,
sym_global_variable_declaration,
sym_global_constant_declaration,
sym_type_alias_declaration,
STATE(132), 4,
sym__declaration,
sym_function_declaration,
sym_struct_declaration,
aux_sym_source_file_repeat2,
[5641] = 3,
STATE(335), 1,
sym_texel_format,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(521), 16,
anon_sym_rgba8unorm,
anon_sym_rgba8snorm,
anon_sym_rgba8uint,
anon_sym_rgba8sint,
anon_sym_rgba16uint,
anon_sym_rgba16sint,
anon_sym_rgba16float,
anon_sym_r32uint,
anon_sym_r32sint,
anon_sym_r32float,
anon_sym_rg32uint,
anon_sym_rg32sint,
anon_sym_rg32float,
anon_sym_rgba32uint,
anon_sym_rgba32sint,
anon_sym_rgba32float,
[5667] = 3,
STATE(144), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(523), 14,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
anon_sym_LBRACK,
anon_sym_DOT,
[5691] = 5,
ACTIONS(527), 1,
anon_sym_LBRACK,
ACTIONS(529), 1,
anon_sym_DOT,
STATE(153), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(525), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5719] = 5,
ACTIONS(531), 1,
anon_sym_LBRACK,
ACTIONS(533), 1,
anon_sym_DOT,
STATE(145), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(523), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5747] = 5,
ACTIONS(527), 1,
anon_sym_LBRACK,
ACTIONS(529), 1,
anon_sym_DOT,
STATE(156), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(535), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5775] = 6,
ACTIONS(307), 1,
anon_sym_LPAREN,
ACTIONS(527), 1,
anon_sym_LBRACK,
ACTIONS(529), 1,
anon_sym_DOT,
STATE(153), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(525), 11,
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_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5805] = 5,
ACTIONS(527), 1,
anon_sym_LBRACK,
ACTIONS(529), 1,
anon_sym_DOT,
STATE(152), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(537), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5833] = 3,
STATE(148), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(539), 14,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
anon_sym_LBRACK,
anon_sym_DOT,
[5857] = 5,
ACTIONS(531), 1,
anon_sym_LBRACK,
ACTIONS(533), 1,
anon_sym_DOT,
STATE(146), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(539), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5885] = 3,
STATE(150), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(539), 14,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
anon_sym_LBRACK,
anon_sym_DOT,
[5909] = 5,
ACTIONS(527), 1,
anon_sym_LBRACK,
ACTIONS(529), 1,
anon_sym_DOT,
STATE(150), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(539), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5937] = 5,
ACTIONS(527), 1,
anon_sym_LBRACK,
ACTIONS(529), 1,
anon_sym_DOT,
STATE(149), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(541), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5965] = 5,
ACTIONS(527), 1,
anon_sym_LBRACK,
ACTIONS(529), 1,
anon_sym_DOT,
STATE(151), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(543), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[5993] = 3,
STATE(149), 1,
sym_postfix_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(541), 14,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
anon_sym_LBRACK,
anon_sym_DOT,
[6017] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(545), 14,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
anon_sym_LBRACK,
anon_sym_DOT,
[6038] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(541), 14,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
anon_sym_LBRACK,
anon_sym_DOT,
[6059] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(547), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[6078] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(543), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[6097] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(535), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[6116] = 6,
ACTIONS(549), 1,
anon_sym_EQ,
ACTIONS(553), 1,
anon_sym_PLUS_PLUS,
ACTIONS(555), 1,
anon_sym_DASH_DASH,
STATE(10), 1,
sym_compound_assignment_operator,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(551), 8,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
[6143] = 4,
ACTIONS(559), 1,
anon_sym_enable,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(155), 2,
sym_enable_directive,
aux_sym_source_file_repeat1,
ACTIONS(557), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6166] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(537), 12,
anon_sym_EQ,
anon_sym_RPAREN,
anon_sym_PLUS_EQ,
anon_sym_DASH_EQ,
anon_sym_STAR_EQ,
anon_sym_SLASH_EQ,
anon_sym_PERCENT_EQ,
anon_sym_AMP_EQ,
anon_sym_PIPE_EQ,
anon_sym_CARET_EQ,
anon_sym_PLUS_PLUS,
anon_sym_DASH_DASH,
[6185] = 7,
ACTIONS(31), 1,
sym_int_literal,
STATE(236), 1,
sym_const_literal,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(562), 2,
anon_sym_LBRACE,
anon_sym_COLON,
ACTIONS(564), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
[6212] = 7,
ACTIONS(31), 1,
sym_int_literal,
STATE(236), 1,
sym_const_literal,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(564), 2,
anon_sym_true,
anon_sym_false,
ACTIONS(566), 2,
anon_sym_LBRACE,
anon_sym_COLON,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
[6239] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(568), 10,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_enable,
anon_sym_AT,
anon_sym_var,
[6256] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(570), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6272] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(572), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6288] = 9,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(574), 1,
sym_identifier,
ACTIONS(576), 1,
anon_sym_RPAREN,
STATE(187), 1,
aux_sym_parameter_list_repeat1,
STATE(275), 1,
sym_variable_identifier_declaration,
STATE(276), 1,
sym_parameter,
STATE(305), 1,
sym_parameter_list,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(194), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6318] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(578), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6334] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(580), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6350] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(582), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6366] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(584), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6382] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(586), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6398] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(588), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6414] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(590), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6430] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(592), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6446] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(594), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6462] = 9,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(574), 1,
sym_identifier,
ACTIONS(596), 1,
anon_sym_RPAREN,
STATE(187), 1,
aux_sym_parameter_list_repeat1,
STATE(275), 1,
sym_variable_identifier_declaration,
STATE(276), 1,
sym_parameter,
STATE(339), 1,
sym_parameter_list,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(194), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6492] = 7,
ACTIONS(31), 1,
sym_int_literal,
STATE(204), 1,
sym_const_literal,
STATE(221), 1,
sym_case_selectors,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(564), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
[6518] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(598), 9,
ts_builtin_sym_end,
anon_sym_SEMI,
anon_sym_let,
anon_sym_override,
anon_sym_type,
anon_sym_fn,
anon_sym_struct,
anon_sym_AT,
anon_sym_var,
[6534] = 6,
ACTIONS(31), 1,
sym_int_literal,
STATE(236), 1,
sym_const_literal,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
ACTIONS(564), 2,
anon_sym_true,
anon_sym_false,
STATE(75), 2,
sym_float_literal,
sym_bool_literal,
[6557] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(307), 8,
anon_sym_SEMI,
anon_sym_EQ,
anon_sym_LPAREN,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_GT,
[6572] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(600), 8,
anon_sym_SEMI,
anon_sym_EQ,
anon_sym_LPAREN,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_GT,
[6587] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(602), 8,
anon_sym_SEMI,
anon_sym_EQ,
anon_sym_LPAREN,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_GT,
[6602] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(604), 8,
anon_sym_SEMI,
anon_sym_EQ,
anon_sym_LPAREN,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_GT,
[6617] = 7,
ACTIONS(606), 1,
sym_identifier,
ACTIONS(609), 1,
anon_sym_AT,
STATE(180), 1,
aux_sym_struct_declaration_repeat1,
STATE(271), 1,
sym_variable_identifier_declaration,
STATE(328), 1,
sym_struct_member,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(197), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6641] = 7,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(574), 1,
sym_identifier,
STATE(186), 1,
aux_sym_struct_declaration_repeat1,
STATE(271), 1,
sym_variable_identifier_declaration,
STATE(272), 1,
sym_struct_member,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(197), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6665] = 7,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(23), 1,
anon_sym_var,
ACTIONS(612), 1,
anon_sym_override,
ACTIONS(614), 1,
anon_sym_fn,
STATE(266), 1,
sym_variable_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(47), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6689] = 6,
ACTIONS(616), 1,
sym_identifier,
ACTIONS(618), 1,
sym_int_literal,
STATE(185), 1,
aux_sym_attribute_repeat1,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
STATE(282), 2,
sym__literal_or_identifier,
sym_float_literal,
[6711] = 6,
ACTIONS(620), 1,
sym_identifier,
ACTIONS(622), 1,
sym_int_literal,
STATE(183), 1,
aux_sym_attribute_repeat1,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(33), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
STATE(270), 2,
sym__literal_or_identifier,
sym_float_literal,
[6733] = 6,
ACTIONS(624), 1,
sym_identifier,
ACTIONS(627), 1,
sym_int_literal,
STATE(185), 1,
aux_sym_attribute_repeat1,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(630), 2,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
STATE(285), 2,
sym__literal_or_identifier,
sym_float_literal,
[6755] = 7,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(574), 1,
sym_identifier,
STATE(180), 1,
aux_sym_struct_declaration_repeat1,
STATE(260), 1,
sym_struct_member,
STATE(271), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(197), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6779] = 7,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(574), 1,
sym_identifier,
STATE(188), 1,
aux_sym_parameter_list_repeat1,
STATE(262), 1,
sym_parameter,
STATE(275), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(194), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6803] = 7,
ACTIONS(633), 1,
sym_identifier,
ACTIONS(636), 1,
anon_sym_AT,
STATE(188), 1,
aux_sym_parameter_list_repeat1,
STATE(275), 1,
sym_variable_identifier_declaration,
STATE(329), 1,
sym_parameter,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(194), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6827] = 3,
STATE(327), 1,
sym_address_space,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(639), 5,
anon_sym_function,
anon_sym_private,
anon_sym_workgroup,
anon_sym_uniform,
anon_sym_storage,
[6842] = 3,
STATE(274), 1,
sym_address_space,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(639), 5,
anon_sym_function,
anon_sym_private,
anon_sym_workgroup,
anon_sym_uniform,
anon_sym_storage,
[6857] = 6,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(641), 1,
sym_identifier,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(287), 1,
sym_lhs_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
[6878] = 6,
ACTIONS(109), 1,
anon_sym_LPAREN,
ACTIONS(641), 1,
sym_identifier,
STATE(202), 1,
aux_sym_lhs_expression_repeat1,
STATE(306), 1,
sym_lhs_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(115), 2,
anon_sym_AMP,
anon_sym_STAR,
[6899] = 5,
ACTIONS(643), 1,
anon_sym_RBRACE,
ACTIONS(645), 1,
anon_sym_case,
ACTIONS(648), 1,
anon_sym_default,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(193), 2,
sym_switch_body,
aux_sym_switch_statement_repeat1,
[6917] = 5,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(574), 1,
sym_identifier,
STATE(263), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(47), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6935] = 4,
ACTIONS(653), 1,
anon_sym_RPAREN,
ACTIONS(655), 1,
sym_int_literal,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(651), 3,
sym_identifier,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
[6951] = 4,
ACTIONS(655), 1,
sym_int_literal,
ACTIONS(657), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(651), 3,
sym_identifier,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
[6967] = 5,
ACTIONS(21), 1,
anon_sym_AT,
ACTIONS(574), 1,
sym_identifier,
STATE(261), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(47), 2,
sym_attribute,
aux_sym_global_variable_declaration_repeat1,
[6985] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(659), 5,
anon_sym_SEMI,
anon_sym_EQ,
anon_sym_COMMA,
anon_sym_RPAREN,
anon_sym_RBRACE,
[6997] = 4,
STATE(199), 1,
aux_sym_lhs_expression_repeat1,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(661), 2,
anon_sym_LPAREN,
sym_identifier,
ACTIONS(663), 2,
anon_sym_AMP,
anon_sym_STAR,
[7013] = 5,
ACTIONS(666), 1,
anon_sym_RBRACE,
ACTIONS(668), 1,
anon_sym_case,
ACTIONS(670), 1,
anon_sym_default,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(193), 2,
sym_switch_body,
aux_sym_switch_statement_repeat1,
[7031] = 5,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(672), 1,
anon_sym_if,
STATE(121), 1,
sym_else_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(129), 2,
sym_compound_statement,
sym_if_statement,
[7049] = 5,
ACTIONS(674), 1,
sym_identifier,
ACTIONS(676), 1,
anon_sym_LPAREN,
STATE(199), 1,
aux_sym_lhs_expression_repeat1,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(678), 2,
anon_sym_AMP,
anon_sym_STAR,
[7067] = 4,
ACTIONS(680), 1,
anon_sym_read,
STATE(326), 1,
sym_access_mode,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(682), 2,
anon_sym_write,
anon_sym_read_write,
[7082] = 4,
ACTIONS(684), 1,
anon_sym_COMMA,
STATE(212), 1,
aux_sym_case_selectors_repeat1,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(686), 2,
anon_sym_LBRACE,
anon_sym_COLON,
[7097] = 4,
ACTIONS(668), 1,
anon_sym_case,
ACTIONS(670), 1,
anon_sym_default,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
STATE(200), 2,
sym_switch_body,
aux_sym_switch_statement_repeat1,
[7112] = 5,
ACTIONS(688), 1,
sym_identifier,
ACTIONS(690), 1,
anon_sym_LT,
STATE(253), 1,
sym_variable_qualifier,
STATE(254), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7129] = 5,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(692), 1,
anon_sym_DASH_GT,
STATE(171), 1,
sym_compound_statement,
STATE(277), 1,
sym_function_return_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7146] = 4,
ACTIONS(694), 1,
anon_sym_COMMA,
STATE(208), 1,
aux_sym_case_selectors_repeat1,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(697), 2,
anon_sym_LBRACE,
anon_sym_COLON,
[7161] = 5,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(692), 1,
anon_sym_DASH_GT,
STATE(163), 1,
sym_compound_statement,
STATE(247), 1,
sym_function_return_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7178] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(699), 4,
anon_sym_u32,
anon_sym_i32,
anon_sym_f32,
anon_sym_f16,
[7189] = 4,
ACTIONS(680), 1,
anon_sym_read,
STATE(303), 1,
sym_access_mode,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(682), 2,
anon_sym_write,
anon_sym_read_write,
[7204] = 4,
ACTIONS(701), 1,
anon_sym_COMMA,
STATE(208), 1,
aux_sym_case_selectors_repeat1,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(562), 2,
anon_sym_LBRACE,
anon_sym_COLON,
[7219] = 3,
ACTIONS(655), 1,
sym_int_literal,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(651), 3,
sym_identifier,
aux_sym_float_literal_token1,
aux_sym_float_literal_token2,
[7232] = 5,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(692), 1,
anon_sym_DASH_GT,
STATE(166), 1,
sym_compound_statement,
STATE(264), 1,
sym_function_return_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7249] = 5,
ACTIONS(199), 1,
anon_sym_LBRACE,
ACTIONS(692), 1,
anon_sym_DASH_GT,
STATE(165), 1,
sym_compound_statement,
STATE(259), 1,
sym_function_return_type_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7266] = 4,
ACTIONS(680), 1,
anon_sym_read,
STATE(319), 1,
sym_access_mode,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(682), 2,
anon_sym_write,
anon_sym_read_write,
[7281] = 4,
ACTIONS(703), 1,
anon_sym_SEMI,
ACTIONS(705), 1,
anon_sym_EQ,
ACTIONS(707), 1,
anon_sym_COLON,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7295] = 4,
ACTIONS(709), 1,
anon_sym_LPAREN,
ACTIONS(711), 1,
anon_sym_LT,
STATE(82), 1,
sym_argument_list_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7309] = 3,
ACTIONS(707), 1,
anon_sym_COLON,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(713), 2,
anon_sym_SEMI,
anon_sym_EQ,
[7321] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(715), 3,
anon_sym_RBRACE,
anon_sym_case,
anon_sym_default,
[7331] = 4,
ACTIONS(717), 1,
anon_sym_LBRACE,
ACTIONS(719), 1,
anon_sym_COLON,
STATE(229), 1,
sym_case_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7345] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(721), 3,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
[7355] = 3,
ACTIONS(707), 1,
anon_sym_COLON,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(723), 2,
anon_sym_SEMI,
anon_sym_EQ,
[7367] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(725), 3,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
[7377] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(727), 3,
anon_sym_RBRACE,
anon_sym_case,
anon_sym_default,
[7387] = 4,
ACTIONS(717), 1,
anon_sym_LBRACE,
ACTIONS(729), 1,
anon_sym_COLON,
STATE(220), 1,
sym_case_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7401] = 4,
ACTIONS(707), 1,
anon_sym_COLON,
ACTIONS(731), 1,
anon_sym_SEMI,
ACTIONS(733), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7415] = 3,
ACTIONS(737), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(735), 2,
anon_sym_AT,
sym_identifier,
[7427] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(739), 3,
anon_sym_RBRACE,
anon_sym_case,
anon_sym_default,
[7437] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(741), 3,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
[7447] = 3,
ACTIONS(745), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(743), 2,
anon_sym_AT,
sym_identifier,
[7459] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(747), 3,
anon_sym_RBRACE,
anon_sym_case,
anon_sym_default,
[7469] = 3,
ACTIONS(749), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(743), 2,
anon_sym_AT,
sym_identifier,
[7481] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(751), 3,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
[7491] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(753), 3,
anon_sym_RBRACE,
anon_sym_case,
anon_sym_default,
[7501] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(697), 3,
anon_sym_COMMA,
anon_sym_LBRACE,
anon_sym_COLON,
[7511] = 3,
ACTIONS(755), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(735), 2,
anon_sym_AT,
sym_identifier,
[7523] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(757), 3,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
[7533] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(759), 3,
anon_sym_RBRACE,
anon_sym_case,
anon_sym_default,
[7543] = 3,
ACTIONS(761), 1,
anon_sym_COMMA,
ACTIONS(763), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7554] = 3,
ACTIONS(731), 1,
anon_sym_SEMI,
ACTIONS(733), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7565] = 3,
ACTIONS(765), 1,
sym_identifier,
STATE(249), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7576] = 3,
ACTIONS(767), 1,
anon_sym_SEMI,
ACTIONS(769), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7587] = 3,
ACTIONS(707), 1,
anon_sym_COLON,
ACTIONS(771), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7598] = 3,
ACTIONS(773), 1,
anon_sym_COMMA,
ACTIONS(775), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7609] = 3,
ACTIONS(777), 1,
anon_sym_SEMI,
ACTIONS(779), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7620] = 3,
ACTIONS(199), 1,
anon_sym_LBRACE,
STATE(164), 1,
sym_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7631] = 3,
ACTIONS(717), 1,
anon_sym_LBRACE,
STATE(235), 1,
sym_case_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7642] = 3,
ACTIONS(703), 1,
anon_sym_SEMI,
ACTIONS(705), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7653] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(743), 2,
anon_sym_AT,
sym_identifier,
[7662] = 3,
ACTIONS(781), 1,
sym_identifier,
STATE(289), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7673] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(735), 2,
anon_sym_AT,
sym_identifier,
[7682] = 3,
ACTIONS(783), 1,
sym_identifier,
STATE(278), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7693] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(713), 2,
anon_sym_SEMI,
anon_sym_EQ,
[7702] = 3,
ACTIONS(785), 1,
anon_sym_COMMA,
ACTIONS(787), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7713] = 3,
ACTIONS(789), 1,
anon_sym_SEMI,
ACTIONS(791), 1,
anon_sym_if,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7724] = 3,
ACTIONS(793), 1,
sym_identifier,
STATE(241), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7735] = 3,
ACTIONS(795), 1,
sym_identifier,
STATE(334), 1,
sym_variable_identifier_declaration,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7746] = 3,
ACTIONS(199), 1,
anon_sym_LBRACE,
STATE(170), 1,
sym_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7757] = 3,
ACTIONS(755), 1,
anon_sym_RBRACE,
ACTIONS(797), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7768] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(799), 2,
anon_sym_COMMA,
anon_sym_RBRACE,
[7777] = 3,
ACTIONS(749), 1,
anon_sym_RPAREN,
ACTIONS(801), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7788] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(803), 2,
anon_sym_COMMA,
anon_sym_RPAREN,
[7797] = 3,
ACTIONS(199), 1,
anon_sym_LBRACE,
STATE(168), 1,
sym_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7808] = 3,
ACTIONS(717), 1,
anon_sym_LBRACE,
STATE(229), 1,
sym_case_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7819] = 3,
ACTIONS(805), 1,
anon_sym_SEMI,
ACTIONS(807), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7830] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(809), 2,
sym_identifier,
sym_int_literal,
[7839] = 3,
ACTIONS(811), 1,
anon_sym_LBRACE,
STATE(296), 1,
sym_continuing_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7850] = 3,
ACTIONS(168), 1,
anon_sym_RPAREN,
ACTIONS(813), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7861] = 3,
ACTIONS(815), 1,
anon_sym_COMMA,
ACTIONS(817), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7872] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(819), 2,
anon_sym_COMMA,
anon_sym_RBRACE,
[7881] = 3,
ACTIONS(821), 1,
anon_sym_COMMA,
ACTIONS(823), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7892] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(825), 2,
anon_sym_COMMA,
anon_sym_GT,
[7901] = 3,
ACTIONS(827), 1,
anon_sym_COMMA,
ACTIONS(829), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7912] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(831), 2,
anon_sym_COMMA,
anon_sym_RPAREN,
[7921] = 3,
ACTIONS(833), 1,
anon_sym_COMMA,
ACTIONS(835), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7932] = 3,
ACTIONS(199), 1,
anon_sym_LBRACE,
STATE(174), 1,
sym_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7943] = 2,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
ACTIONS(723), 2,
anon_sym_SEMI,
anon_sym_EQ,
[7952] = 3,
ACTIONS(199), 1,
anon_sym_LBRACE,
STATE(127), 1,
sym_compound_statement,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7963] = 3,
ACTIONS(709), 1,
anon_sym_LPAREN,
STATE(82), 1,
sym_argument_list_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7974] = 3,
ACTIONS(707), 1,
anon_sym_COLON,
ACTIONS(837), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7985] = 3,
ACTIONS(657), 1,
anon_sym_RPAREN,
ACTIONS(839), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[7996] = 3,
ACTIONS(27), 1,
anon_sym_LPAREN,
STATE(89), 1,
sym_parenthesized_expression,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8007] = 2,
ACTIONS(841), 1,
anon_sym_LT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8015] = 2,
ACTIONS(843), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8023] = 2,
ACTIONS(845), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8031] = 2,
ACTIONS(847), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8039] = 2,
ACTIONS(849), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8047] = 2,
ACTIONS(837), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8055] = 2,
ACTIONS(851), 1,
anon_sym_LT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8063] = 2,
ACTIONS(415), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8071] = 2,
ACTIONS(853), 1,
anon_sym_LPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8079] = 2,
ACTIONS(711), 1,
anon_sym_LT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8087] = 2,
ACTIONS(855), 1,
anon_sym_LBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8095] = 2,
ACTIONS(857), 1,
anon_sym_LPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8103] = 2,
ACTIONS(859), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8111] = 2,
ACTIONS(861), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8119] = 2,
ACTIONS(863), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8127] = 2,
ACTIONS(865), 1,
anon_sym_LT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8135] = 2,
ACTIONS(867), 1,
anon_sym_LT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8143] = 2,
ACTIONS(869), 1,
anon_sym_LBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8151] = 2,
ACTIONS(871), 1,
anon_sym_LT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8159] = 2,
ACTIONS(873), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8167] = 2,
ACTIONS(707), 1,
anon_sym_COLON,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8175] = 2,
ACTIONS(875), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8183] = 2,
ACTIONS(877), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8191] = 2,
ACTIONS(879), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8199] = 2,
ACTIONS(881), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8207] = 2,
ACTIONS(223), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8215] = 2,
ACTIONS(883), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8223] = 2,
ACTIONS(885), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8231] = 2,
ACTIONS(887), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8239] = 2,
ACTIONS(889), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8247] = 2,
ACTIONS(891), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8255] = 2,
ACTIONS(893), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8263] = 2,
ACTIONS(895), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8271] = 2,
ACTIONS(283), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8279] = 2,
ACTIONS(897), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8287] = 2,
ACTIONS(787), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8295] = 2,
ACTIONS(117), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8303] = 2,
ACTIONS(549), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8311] = 2,
ACTIONS(899), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8319] = 2,
ACTIONS(901), 1,
anon_sym_LBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8327] = 2,
ACTIONS(903), 1,
anon_sym_LPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8335] = 2,
ACTIONS(905), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8343] = 2,
ACTIONS(907), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8351] = 2,
ACTIONS(909), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8359] = 2,
ACTIONS(911), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8367] = 2,
ACTIONS(913), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8375] = 2,
ACTIONS(763), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8383] = 2,
ACTIONS(915), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8391] = 2,
ACTIONS(917), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8399] = 2,
ACTIONS(281), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8407] = 2,
ACTIONS(771), 1,
anon_sym_EQ,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8415] = 2,
ACTIONS(919), 1,
anon_sym_COMMA,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8423] = 2,
ACTIONS(921), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8431] = 2,
ACTIONS(923), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8439] = 2,
ACTIONS(123), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8447] = 2,
ACTIONS(925), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8455] = 2,
ACTIONS(927), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8463] = 2,
ACTIONS(929), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8471] = 2,
ACTIONS(931), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8479] = 2,
ACTIONS(933), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8487] = 2,
ACTIONS(935), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8495] = 2,
ACTIONS(789), 1,
anon_sym_SEMI,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8503] = 2,
ACTIONS(937), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8511] = 2,
ACTIONS(939), 1,
ts_builtin_sym_end,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8519] = 2,
ACTIONS(941), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8527] = 2,
ACTIONS(943), 1,
anon_sym_RPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8535] = 2,
ACTIONS(945), 1,
anon_sym_LPAREN,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8543] = 2,
ACTIONS(947), 1,
anon_sym_LBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8551] = 2,
ACTIONS(949), 1,
anon_sym_RBRACE,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8559] = 2,
ACTIONS(951), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8567] = 2,
ACTIONS(953), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8575] = 2,
ACTIONS(955), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8583] = 2,
ACTIONS(957), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8591] = 2,
ACTIONS(959), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8599] = 2,
ACTIONS(961), 1,
sym_identifier,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
[8607] = 2,
ACTIONS(963), 1,
anon_sym_GT,
ACTIONS(3), 2,
sym_block_comment,
sym_line_comment,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(32)] = 0,
[SMALL_STATE(33)] = 102,
[SMALL_STATE(34)] = 191,
[SMALL_STATE(35)] = 280,
[SMALL_STATE(36)] = 369,
[SMALL_STATE(37)] = 458,
[SMALL_STATE(38)] = 520,
[SMALL_STATE(39)] = 606,
[SMALL_STATE(40)] = 692,
[SMALL_STATE(41)] = 754,
[SMALL_STATE(42)] = 837,
[SMALL_STATE(43)] = 896,
[SMALL_STATE(44)] = 979,
[SMALL_STATE(45)] = 1062,
[SMALL_STATE(46)] = 1121,
[SMALL_STATE(47)] = 1176,
[SMALL_STATE(48)] = 1231,
[SMALL_STATE(49)] = 1286,
[SMALL_STATE(50)] = 1355,
[SMALL_STATE(51)] = 1424,
[SMALL_STATE(52)] = 1476,
[SMALL_STATE(53)] = 1530,
[SMALL_STATE(54)] = 1581,
[SMALL_STATE(55)] = 1632,
[SMALL_STATE(56)] = 1683,
[SMALL_STATE(57)] = 1745,
[SMALL_STATE(58)] = 1807,
[SMALL_STATE(59)] = 1869,
[SMALL_STATE(60)] = 1931,
[SMALL_STATE(61)] = 1993,
[SMALL_STATE(62)] = 2055,
[SMALL_STATE(63)] = 2147,
[SMALL_STATE(64)] = 2239,
[SMALL_STATE(65)] = 2329,
[SMALL_STATE(66)] = 2421,
[SMALL_STATE(67)] = 2513,
[SMALL_STATE(68)] = 2602,
[SMALL_STATE(69)] = 2691,
[SMALL_STATE(70)] = 2777,
[SMALL_STATE(71)] = 2863,
[SMALL_STATE(72)] = 2900,
[SMALL_STATE(73)] = 2937,
[SMALL_STATE(74)] = 2972,
[SMALL_STATE(75)] = 3009,
[SMALL_STATE(76)] = 3044,
[SMALL_STATE(77)] = 3079,
[SMALL_STATE(78)] = 3113,
[SMALL_STATE(79)] = 3167,
[SMALL_STATE(80)] = 3209,
[SMALL_STATE(81)] = 3243,
[SMALL_STATE(82)] = 3287,
[SMALL_STATE(83)] = 3321,
[SMALL_STATE(84)] = 3355,
[SMALL_STATE(85)] = 3405,
[SMALL_STATE(86)] = 3439,
[SMALL_STATE(87)] = 3473,
[SMALL_STATE(88)] = 3519,
[SMALL_STATE(89)] = 3557,
[SMALL_STATE(90)] = 3591,
[SMALL_STATE(91)] = 3625,
[SMALL_STATE(92)] = 3683,
[SMALL_STATE(93)] = 3739,
[SMALL_STATE(94)] = 3791,
[SMALL_STATE(95)] = 3847,
[SMALL_STATE(96)] = 3881,
[SMALL_STATE(97)] = 3915,
[SMALL_STATE(98)] = 3972,
[SMALL_STATE(99)] = 4029,
[SMALL_STATE(100)] = 4088,
[SMALL_STATE(101)] = 4147,
[SMALL_STATE(102)] = 4178,
[SMALL_STATE(103)] = 4237,
[SMALL_STATE(104)] = 4268,
[SMALL_STATE(105)] = 4327,
[SMALL_STATE(106)] = 4383,
[SMALL_STATE(107)] = 4439,
[SMALL_STATE(108)] = 4495,
[SMALL_STATE(109)] = 4551,
[SMALL_STATE(110)] = 4607,
[SMALL_STATE(111)] = 4663,
[SMALL_STATE(112)] = 4695,
[SMALL_STATE(113)] = 4751,
[SMALL_STATE(114)] = 4807,
[SMALL_STATE(115)] = 4863,
[SMALL_STATE(116)] = 4919,
[SMALL_STATE(117)] = 4975,
[SMALL_STATE(118)] = 5031,
[SMALL_STATE(119)] = 5087,
[SMALL_STATE(120)] = 5143,
[SMALL_STATE(121)] = 5172,
[SMALL_STATE(122)] = 5201,
[SMALL_STATE(123)] = 5230,
[SMALL_STATE(124)] = 5259,
[SMALL_STATE(125)] = 5288,
[SMALL_STATE(126)] = 5317,
[SMALL_STATE(127)] = 5346,
[SMALL_STATE(128)] = 5375,
[SMALL_STATE(129)] = 5404,
[SMALL_STATE(130)] = 5433,
[SMALL_STATE(131)] = 5462,
[SMALL_STATE(132)] = 5491,
[SMALL_STATE(133)] = 5541,
[SMALL_STATE(134)] = 5591,
[SMALL_STATE(135)] = 5641,
[SMALL_STATE(136)] = 5667,
[SMALL_STATE(137)] = 5691,
[SMALL_STATE(138)] = 5719,
[SMALL_STATE(139)] = 5747,
[SMALL_STATE(140)] = 5775,
[SMALL_STATE(141)] = 5805,
[SMALL_STATE(142)] = 5833,
[SMALL_STATE(143)] = 5857,
[SMALL_STATE(144)] = 5885,
[SMALL_STATE(145)] = 5909,
[SMALL_STATE(146)] = 5937,
[SMALL_STATE(147)] = 5965,
[SMALL_STATE(148)] = 5993,
[SMALL_STATE(149)] = 6017,
[SMALL_STATE(150)] = 6038,
[SMALL_STATE(151)] = 6059,
[SMALL_STATE(152)] = 6078,
[SMALL_STATE(153)] = 6097,
[SMALL_STATE(154)] = 6116,
[SMALL_STATE(155)] = 6143,
[SMALL_STATE(156)] = 6166,
[SMALL_STATE(157)] = 6185,
[SMALL_STATE(158)] = 6212,
[SMALL_STATE(159)] = 6239,
[SMALL_STATE(160)] = 6256,
[SMALL_STATE(161)] = 6272,
[SMALL_STATE(162)] = 6288,
[SMALL_STATE(163)] = 6318,
[SMALL_STATE(164)] = 6334,
[SMALL_STATE(165)] = 6350,
[SMALL_STATE(166)] = 6366,
[SMALL_STATE(167)] = 6382,
[SMALL_STATE(168)] = 6398,
[SMALL_STATE(169)] = 6414,
[SMALL_STATE(170)] = 6430,
[SMALL_STATE(171)] = 6446,
[SMALL_STATE(172)] = 6462,
[SMALL_STATE(173)] = 6492,
[SMALL_STATE(174)] = 6518,
[SMALL_STATE(175)] = 6534,
[SMALL_STATE(176)] = 6557,
[SMALL_STATE(177)] = 6572,
[SMALL_STATE(178)] = 6587,
[SMALL_STATE(179)] = 6602,
[SMALL_STATE(180)] = 6617,
[SMALL_STATE(181)] = 6641,
[SMALL_STATE(182)] = 6665,
[SMALL_STATE(183)] = 6689,
[SMALL_STATE(184)] = 6711,
[SMALL_STATE(185)] = 6733,
[SMALL_STATE(186)] = 6755,
[SMALL_STATE(187)] = 6779,
[SMALL_STATE(188)] = 6803,
[SMALL_STATE(189)] = 6827,
[SMALL_STATE(190)] = 6842,
[SMALL_STATE(191)] = 6857,
[SMALL_STATE(192)] = 6878,
[SMALL_STATE(193)] = 6899,
[SMALL_STATE(194)] = 6917,
[SMALL_STATE(195)] = 6935,
[SMALL_STATE(196)] = 6951,
[SMALL_STATE(197)] = 6967,
[SMALL_STATE(198)] = 6985,
[SMALL_STATE(199)] = 6997,
[SMALL_STATE(200)] = 7013,
[SMALL_STATE(201)] = 7031,
[SMALL_STATE(202)] = 7049,
[SMALL_STATE(203)] = 7067,
[SMALL_STATE(204)] = 7082,
[SMALL_STATE(205)] = 7097,
[SMALL_STATE(206)] = 7112,
[SMALL_STATE(207)] = 7129,
[SMALL_STATE(208)] = 7146,
[SMALL_STATE(209)] = 7161,
[SMALL_STATE(210)] = 7178,
[SMALL_STATE(211)] = 7189,
[SMALL_STATE(212)] = 7204,
[SMALL_STATE(213)] = 7219,
[SMALL_STATE(214)] = 7232,
[SMALL_STATE(215)] = 7249,
[SMALL_STATE(216)] = 7266,
[SMALL_STATE(217)] = 7281,
[SMALL_STATE(218)] = 7295,
[SMALL_STATE(219)] = 7309,
[SMALL_STATE(220)] = 7321,
[SMALL_STATE(221)] = 7331,
[SMALL_STATE(222)] = 7345,
[SMALL_STATE(223)] = 7355,
[SMALL_STATE(224)] = 7367,
[SMALL_STATE(225)] = 7377,
[SMALL_STATE(226)] = 7387,
[SMALL_STATE(227)] = 7401,
[SMALL_STATE(228)] = 7415,
[SMALL_STATE(229)] = 7427,
[SMALL_STATE(230)] = 7437,
[SMALL_STATE(231)] = 7447,
[SMALL_STATE(232)] = 7459,
[SMALL_STATE(233)] = 7469,
[SMALL_STATE(234)] = 7481,
[SMALL_STATE(235)] = 7491,
[SMALL_STATE(236)] = 7501,
[SMALL_STATE(237)] = 7511,
[SMALL_STATE(238)] = 7523,
[SMALL_STATE(239)] = 7533,
[SMALL_STATE(240)] = 7543,
[SMALL_STATE(241)] = 7554,
[SMALL_STATE(242)] = 7565,
[SMALL_STATE(243)] = 7576,
[SMALL_STATE(244)] = 7587,
[SMALL_STATE(245)] = 7598,
[SMALL_STATE(246)] = 7609,
[SMALL_STATE(247)] = 7620,
[SMALL_STATE(248)] = 7631,
[SMALL_STATE(249)] = 7642,
[SMALL_STATE(250)] = 7653,
[SMALL_STATE(251)] = 7662,
[SMALL_STATE(252)] = 7673,
[SMALL_STATE(253)] = 7682,
[SMALL_STATE(254)] = 7693,
[SMALL_STATE(255)] = 7702,
[SMALL_STATE(256)] = 7713,
[SMALL_STATE(257)] = 7724,
[SMALL_STATE(258)] = 7735,
[SMALL_STATE(259)] = 7746,
[SMALL_STATE(260)] = 7757,
[SMALL_STATE(261)] = 7768,
[SMALL_STATE(262)] = 7777,
[SMALL_STATE(263)] = 7788,
[SMALL_STATE(264)] = 7797,
[SMALL_STATE(265)] = 7808,
[SMALL_STATE(266)] = 7819,
[SMALL_STATE(267)] = 7830,
[SMALL_STATE(268)] = 7839,
[SMALL_STATE(269)] = 7850,
[SMALL_STATE(270)] = 7861,
[SMALL_STATE(271)] = 7872,
[SMALL_STATE(272)] = 7881,
[SMALL_STATE(273)] = 7892,
[SMALL_STATE(274)] = 7901,
[SMALL_STATE(275)] = 7912,
[SMALL_STATE(276)] = 7921,
[SMALL_STATE(277)] = 7932,
[SMALL_STATE(278)] = 7943,
[SMALL_STATE(279)] = 7952,
[SMALL_STATE(280)] = 7963,
[SMALL_STATE(281)] = 7974,
[SMALL_STATE(282)] = 7985,
[SMALL_STATE(283)] = 7996,
[SMALL_STATE(284)] = 8007,
[SMALL_STATE(285)] = 8015,
[SMALL_STATE(286)] = 8023,
[SMALL_STATE(287)] = 8031,
[SMALL_STATE(288)] = 8039,
[SMALL_STATE(289)] = 8047,
[SMALL_STATE(290)] = 8055,
[SMALL_STATE(291)] = 8063,
[SMALL_STATE(292)] = 8071,
[SMALL_STATE(293)] = 8079,
[SMALL_STATE(294)] = 8087,
[SMALL_STATE(295)] = 8095,
[SMALL_STATE(296)] = 8103,
[SMALL_STATE(297)] = 8111,
[SMALL_STATE(298)] = 8119,
[SMALL_STATE(299)] = 8127,
[SMALL_STATE(300)] = 8135,
[SMALL_STATE(301)] = 8143,
[SMALL_STATE(302)] = 8151,
[SMALL_STATE(303)] = 8159,
[SMALL_STATE(304)] = 8167,
[SMALL_STATE(305)] = 8175,
[SMALL_STATE(306)] = 8183,
[SMALL_STATE(307)] = 8191,
[SMALL_STATE(308)] = 8199,
[SMALL_STATE(309)] = 8207,
[SMALL_STATE(310)] = 8215,
[SMALL_STATE(311)] = 8223,
[SMALL_STATE(312)] = 8231,
[SMALL_STATE(313)] = 8239,
[SMALL_STATE(314)] = 8247,
[SMALL_STATE(315)] = 8255,
[SMALL_STATE(316)] = 8263,
[SMALL_STATE(317)] = 8271,
[SMALL_STATE(318)] = 8279,
[SMALL_STATE(319)] = 8287,
[SMALL_STATE(320)] = 8295,
[SMALL_STATE(321)] = 8303,
[SMALL_STATE(322)] = 8311,
[SMALL_STATE(323)] = 8319,
[SMALL_STATE(324)] = 8327,
[SMALL_STATE(325)] = 8335,
[SMALL_STATE(326)] = 8343,
[SMALL_STATE(327)] = 8351,
[SMALL_STATE(328)] = 8359,
[SMALL_STATE(329)] = 8367,
[SMALL_STATE(330)] = 8375,
[SMALL_STATE(331)] = 8383,
[SMALL_STATE(332)] = 8391,
[SMALL_STATE(333)] = 8399,
[SMALL_STATE(334)] = 8407,
[SMALL_STATE(335)] = 8415,
[SMALL_STATE(336)] = 8423,
[SMALL_STATE(337)] = 8431,
[SMALL_STATE(338)] = 8439,
[SMALL_STATE(339)] = 8447,
[SMALL_STATE(340)] = 8455,
[SMALL_STATE(341)] = 8463,
[SMALL_STATE(342)] = 8471,
[SMALL_STATE(343)] = 8479,
[SMALL_STATE(344)] = 8487,
[SMALL_STATE(345)] = 8495,
[SMALL_STATE(346)] = 8503,
[SMALL_STATE(347)] = 8511,
[SMALL_STATE(348)] = 8519,
[SMALL_STATE(349)] = 8527,
[SMALL_STATE(350)] = 8535,
[SMALL_STATE(351)] = 8543,
[SMALL_STATE(352)] = 8551,
[SMALL_STATE(353)] = 8559,
[SMALL_STATE(354)] = 8567,
[SMALL_STATE(355)] = 8575,
[SMALL_STATE(356)] = 8583,
[SMALL_STATE(357)] = 8591,
[SMALL_STATE(358)] = 8599,
[SMALL_STATE(359)] = 8607,
};
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 = true}}, SHIFT(133),
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258),
[11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
[13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358),
[15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356),
[17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355),
[19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354),
[21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353),
[23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
[25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74),
[27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
[29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
[31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75),
[33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
[35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73),
[37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176),
[39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302),
[41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300),
[43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284),
[45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299),
[47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218),
[49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290),
[51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
[53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31),
[55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1),
[57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(74),
[60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(21),
[63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(75),
[66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(76),
[69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(73),
[72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(176),
[75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(302),
[78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(300),
[81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(284),
[84] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(299),
[87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(218),
[90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(290),
[93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(31),
[96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2), SHIFT_REPEAT(31),
[99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
[101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
[103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140),
[105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
[107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(251),
[109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
[111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321),
[113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206),
[115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
[117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 3),
[119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
[121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(293),
[123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 4),
[125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 2),
[127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2),
[129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_expression_repeat1, 2),
[131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
[133] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(176),
[136] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(75),
[139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(76),
[142] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(73),
[145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(302),
[148] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(300),
[151] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(284),
[154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(299),
[157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2), SHIFT_REPEAT(293),
[160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
[162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_assignment_operator, 1),
[164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_assignment_operator, 1),
[166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_const_expresssion_repeat1, 2),
[168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
[170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_const_expresssion_repeat1, 2),
[172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_global_variable_declaration_repeat1, 2),
[174] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_global_variable_declaration_repeat1, 2), SHIFT_REPEAT(353),
[177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230),
[179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 2),
[181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
[183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2),
[185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 6),
[187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 6),
[189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 5),
[191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 5),
[193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 7),
[195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 7),
[197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137),
[199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
[201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
[203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25),
[205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20),
[207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332),
[209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351),
[211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(350),
[213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13),
[215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(345),
[217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(343),
[219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3),
[221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(341),
[223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
[225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268),
[227] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(137),
[230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(251),
[233] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(191),
[236] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(69),
[239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2),
[241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(321),
[244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(25),
[247] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(20),
[250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2),
[252] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(351),
[255] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(350),
[258] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(13),
[261] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(345),
[264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(343),
[267] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(3),
[270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(341),
[273] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(206),
[276] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(202),
[279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
[281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
[283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336),
[285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256),
[287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315),
[289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
[291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
[293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2),
[295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2),
[297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3),
[299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3),
[301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1),
[303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1),
[305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1),
[307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 1),
[309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1),
[311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_literal, 1),
[313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_literal, 1),
[315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_float_literal, 1),
[317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_float_literal, 1),
[319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list_expression, 3),
[321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list_expression, 3),
[323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 5),
[325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12),
[327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 5),
[329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14),
[331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
[333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
[335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
[337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
[339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
[341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24),
[343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
[345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314),
[347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list_expression, 2),
[349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list_expression, 2),
[351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor_or_function_call_expression, 2),
[353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_constructor_or_function_call_expression, 2),
[355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 2),
[357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 2),
[359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3),
[361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
[363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_composite_value_decomposition_expression, 3, .production_id = 6),
[365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_composite_value_decomposition_expression, 3, .production_id = 6),
[367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitcast_expression, 5),
[369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bitcast_expression, 5),
[371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 4, .production_id = 10),
[373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 4, .production_id = 10),
[375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
[377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23),
[379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
[381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list_expression, 5),
[383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list_expression, 5),
[385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list_expression, 4),
[387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list_expression, 4),
[389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
[391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134),
[393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, .production_id = 5),
[395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
[397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
[399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_increment_statement, 2),
[401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_increment_statement, 2),
[403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decrement_statement, 2),
[405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decrement_statement, 2),
[407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
[409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
[411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
[413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
[415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_constant_declaration, 4),
[417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_constant_declaration, 5),
[419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
[421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
[423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, .production_id = 14),
[425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, .production_id = 14),
[427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201),
[429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
[431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352),
[433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
[435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_statement, 4),
[437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
[439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_statement, 3),
[441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
[443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2),
[445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2),
[447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 17),
[449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 17),
[451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 4),
[453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 4),
[455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, .production_id = 15),
[457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, .production_id = 15),
[459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2),
[461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2),
[463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 5),
[465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 5),
[467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 3),
[469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 3),
[471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5),
[473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5),
[475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_discard_statement, 2),
[477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_discard_statement, 2),
[479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_statement, 1),
[481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_statement, 1),
[483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 5),
[485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 5),
[487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2),
[489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2),
[491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2),
[493] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(132),
[496] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(258),
[499] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(242),
[502] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(358),
[505] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(356),
[508] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(355),
[511] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(353),
[514] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(206),
[517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
[519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2),
[521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331),
[523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_expression, 2),
[525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 1),
[527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
[529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286),
[531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
[533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357),
[535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 2),
[537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 3),
[539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_expression, 3),
[541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_expression, 4),
[543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 4),
[545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_expression, 5),
[547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 5),
[549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
[551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
[553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
[555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
[557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
[559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(354),
[562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 2),
[564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
[566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 3),
[568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enable_directive, 3),
[570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 4),
[572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 4),
[574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304),
[576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214),
[578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 8),
[580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 11),
[582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 13),
[584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 3),
[586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration, 2),
[588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 7),
[590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, .production_id = 4),
[592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 16),
[594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 9),
[596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207),
[598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 12),
[600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4),
[602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 6),
[604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 8),
[606] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_declaration_repeat1, 2), SHIFT_REPEAT(304),
[609] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_declaration_repeat1, 2), SHIFT_REPEAT(353),
[612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
[614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313),
[616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
[618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282),
[620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270),
[622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270),
[624] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2), SHIFT_REPEAT(285),
[627] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attribute_repeat1, 2), SHIFT_REPEAT(285),
[630] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2), SHIFT_REPEAT(76),
[633] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(304),
[636] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(353),
[639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273),
[641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
[643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2),
[645] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2), SHIFT_REPEAT(173),
[648] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2), SHIFT_REPEAT(226),
[651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2),
[653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
[655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attribute_repeat1, 2),
[657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
[659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_identifier_declaration, 3, .production_id = 1),
[661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lhs_expression_repeat1, 2),
[663] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lhs_expression_repeat1, 2), SHIFT_REPEAT(199),
[666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
[668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
[670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226),
[672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
[674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
[676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192),
[678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199),
[680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(318),
[682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318),
[684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
[686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 1),
[688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
[690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190),
[692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
[694] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_selectors_repeat1, 2), SHIFT_REPEAT(175),
[697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_selectors_repeat1, 2),
[699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330),
[701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158),
[703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_constant_declaration, 2),
[705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
[707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
[709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
[711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
[713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2),
[715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 2),
[717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
[719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248),
[721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_expression, 4),
[723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 3),
[725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_expression, 1),
[727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_compound_statement, 4),
[729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265),
[731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_constant_declaration, 3),
[733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
[735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_declaration_repeat1, 2),
[737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160),
[739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 3),
[741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_expression, 6),
[743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2),
[745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3),
[747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_compound_statement, 2),
[749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2),
[751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_expression, 5),
[753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 4),
[755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
[757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_expression, 3),
[759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_compound_statement, 3),
[761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267),
[763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
[765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
[767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_declaration, 1),
[769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
[771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
[773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
[775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
[777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_statement, 1),
[779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
[781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281),
[783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223),
[785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
[787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
[789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
[791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
[793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
[795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244),
[797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
[799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_member, 2),
[801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
[803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2),
[805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_declaration, 2),
[807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
[809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319),
[811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
[813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
[815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196),
[817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
[819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_member, 1),
[821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
[823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
[825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_address_space, 1),
[827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203),
[829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310),
[831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1),
[833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
[835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 1),
[837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
[839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
[841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
[843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213),
[845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
[847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
[849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_declaration, 4),
[851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
[853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
[855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_return_type_declaration, 3),
[857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
[859] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_statement, 2),
[861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_declaration, 3),
[863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
[865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
[867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
[869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_return_type_declaration, 2),
[871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
[873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
[875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
[877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
[879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279),
[881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
[883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_qualifier, 3),
[885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_declaration, 4),
[887] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_qualifier, 5),
[889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292),
[891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
[893] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 2),
[895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
[897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access_mode, 1),
[899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159),
[901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181),
[903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
[905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
[907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312),
[909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
[911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252),
[913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250),
[915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_texel_format, 1),
[917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344),
[919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216),
[921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 3),
[923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348),
[925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
[927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
[929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
[931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
[933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
[935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fallthrough_statement, 2),
[937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
[939] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
[941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 4),
[943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 5),
[945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
[947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
[949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_if_statement, 4),
[951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
[953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322),
[955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323),
[957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324),
[959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
[961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325),
[963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283),
};
#ifdef __cplusplus
extern "C" {
#endif
void *tree_sitter_wgsl_external_scanner_create(void);
void tree_sitter_wgsl_external_scanner_destroy(void *);
bool tree_sitter_wgsl_external_scanner_scan(void *, TSLexer *, const bool *);
unsigned tree_sitter_wgsl_external_scanner_serialize(void *, char *);
void tree_sitter_wgsl_external_scanner_deserialize(void *, const char *, unsigned);
#ifdef _WIN32
#define extern __declspec(dllexport)
#endif
extern const TSLanguage *tree_sitter_wgsl(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,
.external_scanner = {
&ts_external_scanner_states[0][0],
ts_external_scanner_symbol_map,
tree_sitter_wgsl_external_scanner_create,
tree_sitter_wgsl_external_scanner_destroy,
tree_sitter_wgsl_external_scanner_scan,
tree_sitter_wgsl_external_scanner_serialize,
tree_sitter_wgsl_external_scanner_deserialize,
},
};
return &language;
}
#ifdef __cplusplus
}
#endif