#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